# “我的”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. “玩过”卡展示值始终带 `个` 单位,例如 `0个`、`1个`、`1.2万个` 4. 进入页面先展示骨架屏 5. 数据请求失败时展示降级文案,不展示假数字 --- ## 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. 数据加载失败时页面表现可控 5. “游戏时长”卡展示值始终带 `小时` 单位,例如 `0小时`、`1.5小时`、`36小时`