启动与配置加载
只有第一次打开、或者配置地址变了,才会看到这一屏。平时启动直接用上次成功的配置进入首页,新配置在后台下载、校验,准备好了再静默替换。加载过程把每一步摊开给用户看:卡在哪一步、为什么,一目了然。
wallpaper,下载前用品牌渐变push_pin标注
- 品牌标记:曲奇 4 形的「盒子」,下方是当前仓库与线路。加载超过 1 秒才出现形变加载指示器。
- 当前步骤:能算出进度的步骤(站点准备、jar 下载)用线性进度条和计数;算不出的只显示形变指示器。
- 步骤清单:每步写出结果而不是「成功」,例如「md5 一致,用缓存」「跳过 12 处注释」,方便用户和源作者排查。
- 线路回退:多仓订阅里某条线路超时,自动试下一条,并在顶部说明换到了哪条。
- 不必干等:任何时候都能先进入观看历史;站点准备好后首页自动接管。
- 错误定位:宽松解析仍失败时,标出行列号并显示前后几行原文,出错行加红色竖线。
- 恢复操作:首选「用上次成功的配置继续」,其次重试、查看完整原文、换仓库。
- 电视按键:返回键先看历史,菜单键直接打开 S04 的仓库列表。
data_object与规范的对应
| 步骤 | 规范依据 |
|---|---|
| 下载配置 | scheme 处理:clan://、assets://、file://,无 scheme 补 http://(§3.1.1) |
| 解密 | 按顺序尝试:合法 JSON → ** 标记后 Base64 → 2423 开头的 AES-CBC → ;pk; 密钥 AES-ECB(§3.1.1) |
| 解析 | Gson lenient:容忍 // 与 # 注释、单引号、尾逗号(§1.3、§9.3 第 1 条) |
| 尾部多余内容 | 只读第一个完整 JSON 值,丢弃尾部并在步骤清单里提示(§9.3 第 13 条) |
| 爬虫包 | spider 的 路径;md5;摘要;md5 不一致不报错,只是重新下载;无 md5 的缓存超过一周视为过期(§3.2、§4.3.2.1) |
| 多仓线路 | urls[] 按顺序取第一个可加载的,递归深度不超过 8(§3.1.1、§3.9) |
| 部分失败 | 单条 site 或 parse 解析失败只丢弃该条;sites 缺失视为无点播(§3.1 降级行为) |
| 壁纸 | wallpaper 三种形态,缓存到 md5(url),失败进黑名单不重试(§3.7) |
- 冷启动不阻塞:有缓存配置时跳过本屏,后台刷新;刷新后站点有增减,在首页给一条可关闭的提示。
- 超时:myBox 取配置下载 15 秒、jar 下载 30 秒;超时的线路标记为「超时」,在 S04 中排到后面。