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

25 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 目标
- 在管理端用户详情抽屉中显示该用户当前头衔(含名称、描述、生效/过期时间)。
## 现状
- 用户详情视图:`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_titles`active=1、未过期左连接`system_titles`(取`name/description`),返回`id/title_id/name/description/obtained_at/expires_at/status`
- 路由挂载:`internal/router/router.go` 在管理端鉴权组新增该`GET`端点。
## 前端改造
- API`web/admin/src/api/player-manage.ts` 增加 `fetchGetUserTitles(userId)`;请求 `GET /api/admin/users/:user_id/titles`
- 视图:在 `player-detail-drawer.vue` 增加“头衔”板块
- 展示为标签列表:`title.name`(副文案:`description`
- 显示时间:`obtained_at``expires_at`(过期标识)
- 若无头衔,显示“无头衔”。
## 验收
- 打开用户详情,正确拉取并显示当前头衔;过期或未激活不显示。
- 已分配称号立即可在详情查看。