游玩记录页面
本页详细说明“烘焙记录”页面的加载、分页、折叠卡片和字段展示。它补充相片、记录与成绩的概览与游玩记录 API的字段协议。
首次读取与刷新
打开页面后会读取当前账号的游玩记录。页面状态分为:
- 加载中:显示加载指示,分页和刷新按钮暂时不可用;
- 成功:显示记录卡片和页码;
- 空状态:显示“暂无品尝记录”;
- 错误:保留错误消息,允许稍后刷新;
- 换页中:先清理当前卡片,再加载新页,避免把旧页误认为新页。
“刷新”只重新读取当前页,不会改变服务端数据。网络异常时不要连续刷新。
分页控件
记录接口使用从 0 开始的半开区间,页面把它转换成从 1 开始的用户页码。桌面端可能显示:
- 第一页;
- 当前页附近页码;
- 省略号;
- 最后一页;
- 上一页/下一页。
移动端会压缩页码,只保留当前页和相邻页。底部“跳转到”输入框接受 1 到总页数的整数,按 Enter 后才提交跳转。
输入无效页码、超出范围或在加载时提交,不会发起有效切换。页数变化时,页面会把当前页限制在新的总页数内。
记录卡片顶部
每条记录卡片的顶部可能显示:
- 曲目类型徽章;
- Track 编号;
- 游玩时间;
- 曲名和曲目封面;
- 曲目编号;
- 难度标签;
- 达成率;
- 评级;
- DX 分数;
- 通关、连击、同步和新纪录徽章。
封面加载失败时仍可阅读文字成绩,不要因为封面占位图就重复加载整页。
折叠与展开
卡片默认以摘要形式显示。点击卡片或“点击展开详情”后显示完整信息;点击“点击收起”返回摘要。
展开状态只属于当前页面会话。换页、刷新或切换账号后,不能假设原卡片仍保持展开。
摘要数值
达成率与评级
网页把 API 返回的放大整数转换为百分比展示。开发者和导出工具必须保留原始整数,不要把网页显示值再次乘以 100。
DX 分数与评级
DX 分数单独展示,可能带有最高纪录提示。评级使用离散映射,颜色只是视觉辅助;未知评级应显示原始值或“未知”。
连击与同步
卡片显示最大/总连击和最大/总同步,并用徽章表示状态。状态码不能根据颜色硬编码,应以客户端映射为准。
Rating 与等级
展开后的 Rating 区域可能显示游玩前后数值、等级、等级排名和 DX Rating。字段缺失时隐藏对应小块,不要自动补 0。
判定详情
判定区域按音符类型分组,可能出现 TAP、HOLD、SLIDE、TOUCH、BREAK。每组可以显示:
- Critical Perfect;
- Perfect;
- Great;
- Good;
- Miss。
只有记录中存在的类型才会显示。某组数量总和与总连击不一定完全相等,因为特殊模式和服务端统计可能存在额外规则;展示原值,不擅自修正。
页面还可能显示 Fast、Late,以及是否启用 Critical/Fast-Late 展示的标记。Fast/Late 是统计数量,不是延迟毫秒数。
曲目信息区域
展开后可能显示:
- 作者;
- 分类;
- 版本;
- BPM;
- 难度等级和定数;
- 曲目封面;
- 记录中的实际难度索引。
曲目信息来自本地索引和详情文件。索引加载失败时,成绩数据仍可能存在;不要删除记录或恢复缓存来修复封面。
伙伴、对战与同局信息
记录可能包含:
- 伙伴编号、等级、觉醒等级;
- 对手名称、对战模式、对手 Rating;
- 同局玩家数量和其它玩家摘要;
- 对战排名。
这些字段可能为空、为 0 或仅在特定模式出现。0 不一定表示损坏,缺失也不一定表示服务失败。
模式标记
页面可能标记教程、活动、自由、试玩、新自由或其它模式。标记用于解释记录来源,不应当被当作失败原因。
如果一条记录显示为特殊模式,建议同时保留 playMode、布尔标记和原始记录,不要只导出页面上的一个文字标签。
空记录和字段缺失
| 现象 | 正确理解 |
|---|---|
| 暂无品尝记录 | 当前范围没有可显示记录,也可能尚未建立缓存 |
| 曲名未知 | 详情索引缺失,成绩字段仍可能有效 |
| 伙伴区域不显示 | 记录没有伙伴信息或编号为 0 |
| 判定区域不完整 | 该模式没有对应统计,或字段缺省 |
| 页数变少 | 服务端总数变化,页面会修正当前页 |
隐私与导出
记录可能包含用户编号、地点、对手名称和时间。公开分享前至少遮盖:
- 用户编号;
- 机台/地点名称;
- 对手与同局玩家名称;
- 完整时间线;
- 二维码、Token 和访问码。
长期保存建议使用 API 原始 JSON,并同时记录接口版本、导出时间和时区。页面截图适合说明视觉问题,不适合作为唯一数据备份。
失败时的最小复现信息
联系管理员时提供:
账号别名:
页面页码:
总页数:
记录编号:
游玩时间:
曲目编号/难度:
页面提示:
刷新前后结果:不要上传完整 Token、完整记录 JSON 或包含其它用户信息的截图。
