2.3 KiB
2.3 KiB
“我的”Tab 最近游玩 PRD
更新时间:2026-04-16
0. 目标
把“最近游玩”从单一继续游戏卡片扩成账号级最近游玩模块,让玩家可以快速回到最近推进过的作品和存档节点。
1. 当前现状与问题
当前“最近游玩”仅基于一个本地快照推导:
- 只支持一个最近记录
- 只要本地没有快照就没有内容
- 无法跨设备同步
- 无法区分多个世界和多个角色
这不符合平台化后的用户预期。
2. 本期范围
2.1 本期要做
- 最近游玩列表
- 继续游玩主动作
- 进入作品详情或继续冒险
- 跨设备同步最近记录
2.2 本期不做
- 多存档槽管理全量页面
- 手动置顶
- 存档备注与重命名
3. 详细设计
3.1 展示结构
首屏展示 1-5 条最近游玩卡片。
每张卡片展示:
- 世界名
- 当前角色名
- 最近摘要
- 最近游玩时间
- 继续按钮
移动端优先横向滑动卡片,桌面端可显示为横向列表或双列卡片。
3.2 点击行为
- 点击卡片主体
- 进入作品详情页,展示继续入口和存档摘要
- 点击继续按钮
- 直接恢复最近游玩存档
如果该存档已失效:
- 给出“存档不可恢复”的明确提示
- 引导回到作品详情或重新开始
3.3 排序规则
按 lastPlayedAt 倒序。
若同一作品下存在多个存档:
- 只展示最近一次有效记录
4. 后端设计
4.1 数据模型
建议在存档或游玩记录层增加聚合:
user_idworld_owner_user_idprofile_idsave_idworld_namecharacter_namecontinue_digestcover_image_srclast_played_atis_resume_available
4.2 接口
GET /api/profile/recent-plays
返回:
- 最近游玩列表
POST /api/runtime/saves/:saveId/resume
用途:
- 校验并恢复指定存档
5. 前端实现要求
- 继续游玩动作必须走后端校验
- 不允许前端自行拼装恢复上下文
- 列表为空时展示轻量空态
- 卡片摘要最多显示三行,保持“我的”页清爽
6. 验收标准
- 最近游玩可以展示多个最近记录
- 不同设备登录同一账号时列表一致
- 点击继续后能恢复到正确存档
- 无效存档不会让前端直接报错白屏