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

73 lines
5.2 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.

# 后台管理接口审计与无用代码清理
## 目标
- 全面梳理管理端(`/api/admin/*`)后端接口与前端页面调用关系,排除 App 端接口
- 标注未被前端使用的管理端接口与文件,制定安全清理方案
## 范围
- 后端:`internal/router/router.go` 管理端分组与 `internal/api/admin/*`
- 前端:`web/admin/src/api/*``web/admin/src/views/*` 中使用的管理端接口
- 排除:`/api/app/*` 与模板系统管理接口(`/api/user/*`, `/api/role/*`, `/api/v3/system/menus/simple`
## 关键发现
- 路由注册位置:`internal/router/router.go` 管理端非鉴权与鉴权分组
- 非鉴权:
- `GET /api/admin/license/status`(内联处理器)· `internal/router/router.go:53`
- `POST /api/admin/login``Login()` · `internal/router/router.go:57``internal/api/admin/login.go`
- 鉴权组主要接口(节选,完整见路由文件):
- 活动与期次/奖励/随机承诺/抽奖:`/api/admin/activities/*` · `internal/router/router.go:72-90`
- 抽奖凭据:`GET /draw_receipts/:draw_id``GET /draw_receipts/log/:log_id` · `internal/router/router.go:91-92`
- 批量用户:`POST/DELETE /batch_users` · `internal/router/router.go:93-94`
- 工会:`/guilds/*` · `internal/router/router.go:96-100`
- 商品与分类:`/product_categories/*``/products/*` · `internal/router/router.go:103-110`
- 轮播图:`/banners/*` · `internal/router/router.go:113-116`
- 玩家:`/users/*`(邀请、订单、优惠券、积分、库存、道具卡、奖励发放)· `internal/router/router.go:119-129,141`
- 系统道具卡/优惠券:`/system_item_cards/*``/system_coupons/*` · `internal/router/router.go:132-140`
- 示例后端处理函数位置:
- 抽奖凭据:`GetDrawReceipt()``GetDrawReceiptByLogID()` · `internal/api/admin/draw_receipt.go:31-75,77-121`
- 前端管理端接口使用(以 `VITE_API_URL=/api` 为前缀,`url: 'admin/...'``/api/admin/...`
- 登录:`POST admin/login` · `web/admin/src/api/auth.ts:11`
- 活动/期次/奖励/随机承诺/抽奖:`admin/activities/*` · `web/admin/src/api/adminActivities.ts:13,29,33,37,47,57,68,75,93,112,133,140,146,159,172,188,210,247,274,299,323,347`
- 批量用户:`admin/batch_users` · `web/admin/src/api/adminActivities.ts:220,227`
- 抽奖凭据:`admin/draw_receipts/:id``admin/draw_receipts/log/:log_id` · `web/admin/src/api/adminActivities.ts:299,323`
- 玩家管理:`admin/users/*`(邀请、订单、优惠券、积分、余额、库存、道具卡、奖励发放)· `web/admin/src/api/player-manage.ts:25,48,81,106,130,157,188,198,210,220,239`
- 轮播图:`admin/banners/*` · `web/admin/src/api/banner.ts:14,26,39,43`
- 商品与分类:`admin/product_categories/*``admin/products/*` · `web/admin/src/api/product.ts:15,22,32,38,63,76,90,94`
- 系统道具卡/优惠券:`admin/system_item_cards/*``admin/system_coupons/*` · `web/admin/src/api/itemCards.ts:81,86,92,96,101``web/admin/src/api/coupons.ts:59,64,70,74`
- 工会管理(管理端):`admin/guilds/*`、成员:`admin/guilds/:guild_id/members` · `web/admin/src/api/adminGuild.ts:12,27,31,35``web/admin/src/api/guild.ts:61`
## 待清理项(未发现前端使用)
- `GET /api/admin/license/status` · `internal/router/router.go:53`(前端无调用)
- 管理员账号维护接口:
- `POST /api/admin/create` · `internal/router/router.go:66``internal/api/admin/admin_create.go`
- `PUT /api/admin/:id` · `internal/router/router.go:67``internal/api/admin/admin_modify.go`
- `POST /api/admin/delete` · `internal/router/router.go:68``internal/api/admin/admin_delete.go`
- `GET /api/admin/list` · `internal/router/router.go:69``internal/api/admin/admin_list.go`
- 以上清单根据前端 `web/admin/src/api/*` 的全面检索得出;如后续发现隐藏使用,则可回滚。
## 实施步骤
1. 冻结与确认
- 在代码评审中确认上述待清理项确实不需要;标注使用范围仅限管理端
2. 路由层清理
-`internal/router/router.go` 删除或注释未用路由注册行:`53, 66-69`
- 核对编译影响:移除后需同时删除对应 handler 引用,避免未引用编译警告
3. 处理器与文件清理
- 删除对应的处理器文件:`internal/api/admin/admin_create.go``admin_modify.go``admin_delete.go``admin_list.go`
-`license/status` 为内联处理器,无独立文件,仅移除路由与调用
4. 依赖与构建
- 执行模块级编译,确保无引用残留(如 `admin.New` 构造体内未使用成员)
- 运行单元/集成用例(如存在),并做最小回归:登录、活动、玩家、商品、运营、工会等主流程
5. 文档与变更说明
- 记录变更影响范围与回滚策略,标注接口移除清单
## 验收标准
- 管理端页面所有功能可正常使用与构建通过
- 删除的接口在全仓内无调用引用(前端/后端均为 0
- 关键页面 API 映射完整且无 404/500
## 回滚方案
- 路由注册保留注释备份;如发现遗漏使用,按文件恢复并重新注册路由
## 下一步请求
- 若确认以上清理项与步骤,开始实施清理并提交差异,附带验证报告与引用检索证明