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

2.6 KiB
Raw Blame History

问题现象

  • 前端“运营→称号管理”页面列表为空。
  • 可能原因:后端未创建称号数据、未登录导致接口被拦截、数据库未连接、或菜单未展示导致误判。

状态检查

  • 后端运行:确认服务已启动并连接数据库(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_idtarget_prize_ids 等占位参数。

后续扩展

  • 如需完善“称号模板与效果”的 CRUD 管理页,我将新增后端 CRUD 与前端编辑表单,支持运营在页面上直接增删改查。