账号列表
| 用户名 | 学号 | 学校 | 平台 | 可用路线 | 分组 | 操作 |
|---|
授权新账号
提示:授权前请退出手机端账号,避免认证状态互相覆盖。
QQ 登录授权
点「打开 QQ 授权页」,用 QQ 号+密码或扫码登录;本机捕获 auth://tauth.qq.com/ 回调后会自动回填 openid 并登录 TSN。
提示:首次使用需先运行一次 register_qq_protocol.ps1 注册回调捕获。
同步学校列表
首次使用请先同步,否则无法选学校授权。
虚拟日期计划 按虚拟日期逐天执行,业务时间保持完整
| 账号 | 开始日期 | 结束日期 | 星期 | 类型 | 距离范围 |
|---|
距离范围会在每个跑步日随机取两位小数,并排除整数公里。虚拟时间只用于跑步业务时间;SDK 签名、请求头和环境时间仍使用真实时间。0=极速,1=真实等待,其他值表示真实执行时间按倍速缩短。
批量跑步任务
已选 0 个账号 · 同一账号不会并发执行 · 每个账号会在距离范围内随机取非整数距离 · 低于学校最低要求时程序仍会自动上调
跑步进度
全部任务
| 任务 | 账号 | 状态 |
|---|
实时日志(全部任务)
选择任务
历史记录
任务日志
手工录入跑步路线 在地图上单击打点,画出校内环线
已有路线
| 来源 | 长度 | 点数 | 创建时间 | 操作 |
|---|
爬取失败时用这里的路线兜底 —— 跑步时 queryPath() 只要求该学校至少有一条路线,
并优先挑长度最接近目标距离的那几条。默认只保留最近的 10 条参与随机。
入库设置
高德/腾讯地图用的是 GCJ-02 火星坐标;手机上报的 GPS 可能是 WGS-84,两者在国内相差约 300~500 米。选错不会报错,但轨迹整体偏移,可能跑出学校电子围栏。用法:先用默认值存一条, 跑一次看轨迹是否落在校内;偏了就改用另一个坐标系重存。
搜索数据源 高德 Web 服务 API
地图定位
地图默认定位到「天水师范大学」(105.699148, 34.569904)。切换学校时会记住上次看的位置, 直接把地图拖到目标学校再画即可。
为什么需要手工路线
该校私版后端的 getSportRecordId 恒返回 201 数据异常,
历史轨迹接口整体不可用 —— 换个账号也一样,是学校侧没开放,不是配置问题。
而 TsnRunServer.queryPath() 要求该校至少有一条 tsn_run_path 记录,
否则直接抛「没有可用的跑步路线」。手工画线正好补上这个缺口:
格式与爬取到的轨迹完全一致([[经度, 纬度], …] 折线,程序自动重采样并往返补足里程)。