3.0 KiB
3.0 KiB
“我的”Tab 我的数据看板 PRD
更新时间:2026-04-16
0. 目标
把“剩余陶泥币 / 总游戏时长 / 玩过作品”这一排信息卡,从静态数字展示升级成稳定的个人数据看板,让玩家在进入“我的”页时一眼知道自己的账号资产和游玩投入。
1. 当前现状与问题
当前三个数字来源并不统一:
- 陶泥币来自当前存档上下文,不等于账号总资产
- 总游戏时长依赖当前快照,不代表全账号累计
- 玩过作品当前几乎是硬编码推导,不是真实统计
这会导致“我的”页看到的数据不可信。
2. 本期范围
2.1 本期要做
- 账号级数据聚合接口
- 三张核心数据卡
- 数据更新时间策略
- 点击卡片查看明细的扩展位
2.2 本期不做
- 成就系统
- 排行榜
- 全量行为分析页
3. 指标定义
3.1 剩余陶泥币
定义:
- 当前账号可立即消费的陶泥币余额
不使用:
- 当前单个存档里的临时货币数值
3.2 总游戏时长
定义:
- 当前账号下所有正式游玩会话累计时长
规则:
- 只累计进入有效游戏流程的时长
- 后台挂机超阈值后停止累计
3.3 玩过作品
定义:
- 当前账号实际进入过可游玩世界并产生有效游玩记录的去重作品数
去重键建议:
ownerUserId + profileId
4. 详细设计
4.1 交互
三张卡片默认仅展示数字和标题。
点击行为:
- 陶泥币卡
- 打开资产流水抽屉
- 总游戏时长卡
- 打开游玩统计抽屉
- 玩过作品卡
- 打开玩过作品列表
如果本期不做明细页,点击可先无动作,但必须预留可扩展事件位。
4.2 展示规则
- 数字过大时做单位缩略展示
- “总游戏时长”卡固定以小时为单位展示,短时长不切换成分钟,长时长不切换成天
- 进入页面先展示骨架屏
- 数据请求失败时展示降级文案,不展示假数字
5. 后端设计
5.1 聚合模型
建议新增账号聚合视图或服务:
wallet_balancetotal_play_time_msplayed_world_countupdated_at
5.2 接口
GET /api/profile/dashboard
返回:
walletBalancetotalPlayTimeMsplayedWorldCountupdatedAt
GET /api/profile/wallet-ledger
返回:
- 陶泥币流水列表
GET /api/profile/play-stats
返回:
- 游玩时长分布
- 玩过作品列表摘要
6. 数据来源要求
- 钱包余额从后端钱包台账聚合
- 游戏时长从运行时会话日志或快照汇总
- 玩过作品数从有效游玩记录去重计算
禁止继续采用:
- 仅从当前存档快照直接读取全部看板数据
7. 验收标准
- 三个核心指标都能按账号稳定返回
- 切换设备后看板数据一致
- 没有存档时也能正常展示账号级数据
- 数据加载失败时页面表现可控
- “总游戏时长”卡展示值始终带
小时单位,例如0小时、1.5小时、36小时