订阅记录
「创意工坊」分组的第四个子页面 订阅,是所有订阅(下载安装)任务的后台任务管理中心。顶部实时统计「进行中 N · 已完成 N · 失败 N」。
任务状态
每条订阅任务都有状态徽章,涵盖完整生命周期:
等待中 → 下载中 → 解压中 → 记录中 → 已完成
以及三种终态:已退订 / 失败 / 已取消。
实时进度
- 进度条 + 下载速度实时更新,与模组详情页共享同一事件源,两处展示互不干扰;
- 下载、解压、哈希校验、写库全部在 Rust 端执行,与前端页面生命周期完全解耦 —— 关掉页面任务照常完成;
- 进行中的任务可以随时取消,半成品安装包会一并删除;
- 失败任务显示本地化的错误信息,便于排查。
任务详情
每条任务显示:语言文件名(优先显示翻译名)、版本、语言、分类、mod_key 与两行截断的简介。
跨页面跳转
已完成(或已安装)的任务提供两个快捷入口:
- 前往创意工坊查看详情 —— 跳转到云端模组详情页;
- 在本地模组中查看 —— 按分类自动映射到本地模组对应子页面,携带 mod_key 定位并高亮目标卡片。
智能去重与状态修正
- 安装去重 —— 同一模组已安装时再次订阅会直接跳过下载,避免重复任务;
- 「已退订」虚拟态 —— 已完成的任务会回查本地安装记录,若记录已不存在则显示为「已退订」(不回写数据库),与重订阅去重逻辑呼应;
- 展示层去重 —— 同一模组 + 版本 + 语言的历史重复记录只保留最新一条,列表始终干净。