Prune stale docs and update .hermes content
Delete a large set of outdated documentation (many files under docs/ and .hermes/plans/, including audits, design, prd, technical, planning, assets, and todos). Update and consolidate .hermes content: refresh shared-memory pages (decision-log, development-workflow, document-map, pitfalls, project-overview, team-conventions) and several skills/references under .hermes/skills. Also modify AGENTS.md, README.md, UI_CODING_STANDARD.md, docs/README.md and .encoding-check-ignore. Purpose: clean up stale planning/audit material and keep current hermes documentation and related top-level docs in sync.
This commit is contained in:
@@ -1,157 +0,0 @@
|
||||
# “我的”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小时`
|
||||
Reference in New Issue
Block a user