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