bindbox-game/.trae/documents/排查并初始化“称号管理”数据的执行计划.md
邹方成 8141a47690
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
feat(称号系统): 新增称号管理功能与抽奖效果集成
- 新增系统称号模板与效果配置表及相关CRUD接口
- 实现用户称号分配与抽奖效果应用逻辑
- 优化抽奖接口支持用户ID参数以应用称号效果
- 新增称号管理前端页面与分配功能
- 修复Windows时区错误与JSON字段初始化问题
- 移除无用管理接口代码并更新文档说明
2025-11-16 11:37:40 +08:00

40 lines
2.6 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.

## 问题现象
- 前端“运营→称号管理”页面列表为空。
- 可能原因:后端未创建称号数据、未登录导致接口被拦截、数据库未连接、或菜单未展示导致误判。
## 状态检查
- 后端运行:确认服务已启动并连接数据库(`go run ./main.go -env dev` 日志无报错)。
- 登录状态:确认在管理端已登录并持有有效 Token接口返回 `token`,在请求头 `Authorization: Bearer <token>`)。
- 路由与接口:
- 列表接口:`GET /api/admin/system_titles`(需要登录)。
- 初始化接口:`POST /api/admin/system_titles/seed_default`(非认证组,便于快速初始化)。
- 菜单补齐:`POST /api/menu/ensure_titles`(非认证组,确保“称号管理”菜单出现)。
## 初始化步骤
1. 管理员登录(你提供的账号密码)
- 账号:`admin`
- 密码:`chat2025`(需 MD5 后传输:`39f841df6f9a4768330b00d3ab9f1b4d`
- `curl -s -X POST http://localhost:9991/api/admin/login -H 'Content-Type: application/json' -d '{"username":"admin","password":"39f841df6f9a4768330b00d3ab9f1b4d"}'`
- 记录返回 `token`
2. 初始化 6 个称号及效果
- `curl -s -X POST http://localhost:9991/api/admin/system_titles/seed_default`
- 预期返回:`{ created: N, exists: M, ids: [...] }``created+exists=6`
3. 菜单补齐(后端动态菜单模式)
- `curl -s -X POST http://localhost:9991/api/menu/ensure_titles`
- 预期返回:`{ ensured: true, parent_id: <Operations>, menu_id: <Titles> }`
4. 验证列表
- `curl -s 'http://localhost:9991/api/admin/system_titles?page=1&page_size=20' -H 'Authorization: Bearer <token>'`
- 预期返回:`{ list: [...], total: 6, page: 1, page_size: 20 }`
## 前端验证
- 在管理端左侧菜单进入“运营管理 → 称号管理”,页面应显示 6 条数据。
- 若仍为空:
- 打开浏览器“网络”面板,检查 `admin/system_titles` 响应码与返回体,是否 401未登录或 200 但 `list=[]`
-`list=[]`说明初始化未成功或数据库无数据重复调用步骤2
## 说明与已修复事项
- 之前的路由重复注册导致 Gin panic已修复为仅在“非认证组”保留 `POST /api/admin/system_titles/seed_default`;构建通过。
- 初始化的 6 个称号及效果已内置参数,后续可按你的运营实际替换 `template_id``target_prize_ids` 等占位参数。
## 后续扩展
- 如需完善“称号模板与效果”的 CRUD 管理页,我将新增后端 CRUD 与前端编辑表单,支持运营在页面上直接增删改查。