成绩页面控件与数据字段参考
本页逐项说明乐曲成绩页面的搜索栏、排序、筛选、成绩卡片、互动区、反馈区、审核区和分页。它补充乐曲成绩页面、乐曲成绩互动页面与成绩页面与互动实战流程。
页面首次加载
成绩页通常先读取用户乐曲数据,再读取公开曲目索引和互动信息。状态包括:
- 加载中:卡片尚未生成,按钮不应重复点击;
- 读取成功:显示成绩卡片;
- 缓存失败:显示错误消息,保留可用的页面结构;
- 空结果:当前账号/筛选没有成绩;
- 互动读取失败:成绩仍可显示,评论区域单独报错。
空成绩不是公共曲目列表。先确认账号、Token、索引和筛选条件。
顶部搜索
搜索框支持页面显示的曲名、作者和编号。输入关键词后页面在当前已加载成绩中筛选:
- 输入关键词;
- 等待列表更新;
- 观察匹配数量;
- 清空搜索恢复全部结果;
- 没有结果时检查编号、标点和前导零。
搜索不会创建或修改成绩。搜索为空时不要恢复缓存。
排序选择
页面可能允许按以下字段排序:
- ID;
- 曲名;
- 游玩次数;
- 达成率;
- DX 分数;
- 点赞数;
- 评论数。
旁边的方向按钮切换升序/降序。排序只改变当前页面,不改变服务端数据。切换账号或刷新后,应重新确认当前排序是否仍然适用。
内容筛选
有权限的页面可能提供特定内容筛选/测试内容开关。筛选开启后,列表数量变化不代表数据被删除;关闭筛选可以恢复完整可见范围。筛选状态应显示在反馈模板中。
成绩卡片折叠
每张卡片通常有:
- 封面/占位图;
- 曲名和 ID;
- 难度;
- 游玩次数;
- 达成率;
- 最高 DX 分数;
- 展开/收起详情按钮。
点击卡片或“点击展开详情”后显示更多区块;再次点击“点击收起”关闭详情。封面加载失败不应让成绩卡片消失。
主要成绩字段
游玩难度
表示该成绩对应的难度层级。它不是当前页面的筛选值,导出时要与曲目 ID 一起保存。
游玩次数
表示服务记录的游玩次数,不应因为用户打开详情而变化。空值应显示未提供,不要静默显示为 0。
达成率
页面可能把服务返回的放大数值转换成百分比。开发者客户端不要把页面已经格式化的百分比再次乘以 100。
DX 分数
这是独立于达成率的分数,不应当作百分比或游玩次数。排序时按数值语义处理。
详情区:基础信息
展开后可能显示:
- Music ID;
- 曲师;
- Genre;
- 版本;
- 谱面等级;
- 谱面作者;
- 定数/BPM 等索引字段。
详情索引缺失时,页面可以保留成绩摘要,但应隐藏无法解释的字段,不要把缺失改成 0。
互动工具栏
卡片互动区域可能包含:
- 点赞;
- 点踩;
- 评论展开/收起;
- 举报/反馈展开;
- 审核决定(仅授权账号)。
每个动作拥有独立忙碌状态。一个曲目的评论提交中,不应锁住其它曲目的读取,但同一动作不能重复提交。
评论区
评论列表
评论可能按楼层显示作者、内容、点赞/点踩和时间。没有评论时显示“暂无评论”,不代表接口失败。作者名称和正文属于公开互动数据,仍应防止显示 Token、联系方式和不必要的个人信息。
发表评论
输入框提示为“发表评论”。提交按钮在正文为空或正在提交时禁用。成功后:
- 清空输入;
- 重新读取互动摘要/评论;
- 显示最新评论;
- 不自行生成评论编号。
超时后先读取评论列表,不要再次发送相同正文。
回复
每条评论可以展开回复输入。回复框提示为“回复评论”,目标父评论应在视觉上明确。空输入禁用回复按钮;提交成功后关闭该回复框并清空草稿。
评论互动
评论可以有点赞、点踩、撤回/删除等按钮,具体取决于当前账号权限。按钮忙碌期间不重复点击,操作后以服务返回的计数为准。
反馈区
反馈输入提示为“举报理由”或类似文案。理由应描述曲目、难度、现象和复现步骤,不要提交:
- Token/密码/访问码;
- 其它用户的私聊内容;
- 完整日志;
- 内部地址和未公开配置。
提交成功只表示已记录,页面可能显示待处理状态。关闭反馈区不会撤回已经提交的内容。
审核区
审核区可能显示:
- 待审核请求;
- 已删除/隐藏内容;
- 举报操作记录;
- 审核备注;
- 显示/隐藏决定。
普通账号看不到这些区域是预期权限行为。审核账号处理前读取最新对象,提交一次决定,再读取状态和历史。审核备注不要包含内部实现、凭据或原始聊天记录。
分页
页面通常按固定数量显示卡片:
- 当前页;
- 上一页/下一页;
- 第一页/最后一页;
- 页码按钮和省略号;
- 跳转页码输入。
页码必须在 1 到总页数内。换页时页面可能清空当前卡片并显示加载状态,这是换页而不是数据删除。跳页后重新确认搜索和筛选仍然生效。
错误排查
| 现象 | 第一检查 | 第二检查 |
|---|---|---|
| 整页加载失败 | Token/缓存读取 | 网络和错误消息 |
| 成绩为空 | 账号和筛选 | 记录是否存在 |
| 只有封面失败 | 图片路径/网络 | 清理图片缓存 |
| 评论不显示 | 互动读取 | 当前曲目是否有评论 |
| 发送按钮一直忙 | 请求是否结束 | 回读评论/互动 |
| 审核区不见 | 账号权限 | 当前版本/筛选 |
| 页码跳转无效 | 页码范围 | 总数是否更新 |
数据安全验收
- [ ] 账号切换后旧成绩不会残留;
- [ ] 评论正文不进入普通日志;
- [ ] 审核字段按权限隐藏;
- [ ] 删除/撤回有明确目标;
- [ ] 超时不重复发布;
- [ ] 截图已遮挡用户和地点;
- [ ] 排序/搜索不会写入服务端。
