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