bindbox-game/.trae/documents/在用户详情显示头衔的改造计划.md
邹方成 87ad4177b1
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
feat(工作台): 实现管理端工作台接口并优化数据展示
feat(抽奖动态): 修复抽奖动态未渲染问题并优化文案展示
fix(用户概览): 修复用户概览无数据显示问题
feat(新用户列表): 在新用户列表显示称号明细
refactor(待办事项): 移除代办模块并全宽展示实时动态
feat(批量操作): 限制为单用户操作并在批量时提醒
fix(称号分配): 防重复分配称号的改造计划
perf(接口性能): 优化新用户和抽奖动态接口性能
feat(订单漏斗): 优化订单转化漏斗指标计算
docs(测试计划): 完善盲盒运营API核查与闭环测试计划
2025-11-16 14:00:29 +08:00

1.4 KiB
Raw Blame History

目标

  • 在管理端用户详情抽屉中显示该用户当前头衔(含名称、描述、生效/过期时间)。

现状

  • 用户详情视图:web/admin/src/views/player-manage/modules/player-detail-drawer.vue
  • 玩家管理页入口:web/admin/src/views/player-manage/index.vue
  • 资产接口:web/admin/src/api/player-manage.ts(暂无用户头衔列表接口)
  • 后端路由已存在分配头衔:POST /api/admin/users/:user_id/titles,但缺少GET列表接口。

后端改造

  • 新增:GET /api/admin/users/:user_id/titles
    • 位置:internal/api/admin/users_admin.go
    • 查询:user_titlesactive=1、未过期左连接system_titles(取name/description),返回id/title_id/name/description/obtained_at/expires_at/status
  • 路由挂载:internal/router/router.go 在管理端鉴权组新增该GET端点。

前端改造

  • APIweb/admin/src/api/player-manage.ts 增加 fetchGetUserTitles(userId);请求 GET /api/admin/users/:user_id/titles
  • 视图:在 player-detail-drawer.vue 增加“头衔”板块
    • 展示为标签列表:title.name(副文案:description
    • 显示时间:obtained_atexpires_at(过期标识)
    • 若无头衔,显示“无头衔”。

验收

  • 打开用户详情,正确拉取并显示当前头衔;过期或未激活不显示。
  • 已分配称号立即可在详情查看。