Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
- 新增系统称号模板与效果配置表及相关CRUD接口 - 实现用户称号分配与抽奖效果应用逻辑 - 优化抽奖接口支持用户ID参数以应用称号效果 - 新增称号管理前端页面与分配功能 - 修复Windows时区错误与JSON字段初始化问题 - 移除无用管理接口代码并更新文档说明
5.2 KiB
5.2 KiB
后台管理接口审计与无用代码清理
目标
- 全面梳理管理端(
/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:53POST /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.goPUT /api/admin/:id·internal/router/router.go:67,internal/api/admin/admin_modify.goPOST /api/admin/delete·internal/router/router.go:68,internal/api/admin/admin_delete.goGET /api/admin/list·internal/router/router.go:69,internal/api/admin/admin_list.go
- 以上清单根据前端
web/admin/src/api/*的全面检索得出;如后续发现隐藏使用,则可回滚。
实施步骤
- 冻结与确认
- 在代码评审中确认上述待清理项确实不需要;标注使用范围仅限管理端
- 路由层清理
- 从
internal/router/router.go删除或注释未用路由注册行:53, 66-69 - 核对编译影响:移除后需同时删除对应 handler 引用,避免未引用编译警告
- 从
- 处理器与文件清理
- 删除对应的处理器文件:
internal/api/admin/admin_create.go、admin_modify.go、admin_delete.go、admin_list.go - 若
license/status为内联处理器,无独立文件,仅移除路由与调用
- 删除对应的处理器文件:
- 依赖与构建
- 执行模块级编译,确保无引用残留(如
admin.New构造体内未使用成员) - 运行单元/集成用例(如存在),并做最小回归:登录、活动、玩家、商品、运营、工会等主流程
- 执行模块级编译,确保无引用残留(如
- 文档与变更说明
- 记录变更影响范围与回滚策略,标注接口移除清单
验收标准
- 管理端页面所有功能可正常使用与构建通过
- 删除的接口在全仓内无调用引用(前端/后端均为 0)
- 关键页面 API 映射完整且无 404/500
回滚方案
- 路由注册保留注释备份;如发现遗漏使用,按文件恢复并重新注册路由
下一步请求
- 若确认以上清理项与步骤,开始实施清理并提交差异,附带验证报告与引用检索证明