任务时间: 2025年06月04日 12:04
任务类型: 路由规范化
优先级: 中等
状态: ✅ 已完成
检查并修复项目中所有不符合路由命名规范的问题,将使用斜杠(/)分割的路由改为使用连字符(-),确保路由命名的一致性和规范性。
通过全面检查项目中的Resource注解和菜单数据库,发现以下路由命名问题:
| 控制器 | 原路由 | 修复后路由 | 状态 |
|---|---|---|---|
| OAuthClientController | oauth/clients |
oauth-clients |
✅ 已修复 |
| ConfigAController | system/config_admin |
system-config-admin |
✅ 已修复 |
| ConfigController | system/config |
system-config |
✅ 已修复 |
| ItemChestConfigController | game-items/chest-configs |
game-items-chest-configs |
✅ 已修复 |
| 菜单ID | 菜单名称 | 原URI | 修复后URI | 状态 |
|---|---|---|---|---|
| 213 | OAuth认证 | oauth/clients |
oauth-clients |
✅ 已修复 |
| 204 | 设置管理 | system/config_admin |
system-config-admin |
✅ 已修复 |
| 9 | 系统配置 | system/config |
system-config |
✅ 已修复 |
| 515 | 宝箱配置管理 | game-items/chest-configs |
game-items-chest-configs |
✅ 已修复 |
使用以下命令查找所有使用Resource注解且包含斜杠的控制器:
find app/Module -name "*.php" -exec grep -l "#\[Resource" {} \;
grep -n "#\[Resource.*/" app/Module/*/AdminControllers/*.php
查询菜单表中所有包含斜杠的URI:
SELECT id, title, uri FROM kku_admin_menu
WHERE uri LIKE '%/%' AND uri NOT LIKE '%{%}'
ORDER BY uri
// 修复前
#[Resource('oauth/clients', except: ['destroy'])]
// 修复后
#[Resource('oauth-clients', except: ['destroy'])]
// 修复前
#[Resource('system/config_admin',names: 'dcat.admin.config_admin')]
// 修复后
#[Resource('system-config-admin',names: 'dcat.admin.system-config-admin')]
// 修复前
#[Resource('system/config', names: 'dcat.admin.config')]
// 修复后
#[Resource('system-config', names: 'dcat.admin.system-config')]
// 修复前
#[Resource('game-items/chest-configs', names: 'dcat.admin.game-items.chest-configs')]
// 修复后
#[Resource('game-items-chest-configs', names: 'dcat.admin.game-items-chest-configs')]
使用MCP执行SQL更新菜单URI:
UPDATE kku_admin_menu SET uri = 'oauth-clients' WHERE uri = 'oauth/clients';
UPDATE kku_admin_menu SET uri = 'system-config-admin' WHERE uri = 'system/config_admin';
UPDATE kku_admin_menu SET uri = 'system-config' WHERE uri = 'system/config';
UPDATE kku_admin_menu SET uri = 'game-items-chest-configs' WHERE uri = 'game-items/chest-configs';
以下系统核心路由保持不变,因为它们是Laravel Admin框架的核心功能:
| 路由 | 说明 | 保留原因 |
|---|---|---|
auth/extensions |
扩展管理 | Laravel Admin核心功能 |
auth/menu |
菜单管理 | Laravel Admin核心功能 |
auth/permissions |
权限管理 | Laravel Admin核心功能 |
auth/roles |
角色管理 | Laravel Admin核心功能 |
auth/users |
管理员管理 | Laravel Admin核心功能 |
dev/router |
路由管理 | 开发工具 |
# 检查是否还有使用斜杠的Resource注解
find app/Module -name "*.php" -exec grep -l "Resource.*/" {} \;
# 结果:无输出,说明所有问题已修复
SELECT id, title, uri FROM kku_admin_menu
WHERE uri LIKE '%/%' AND uri NOT LIKE '%{%}'
AND uri NOT LIKE 'auth/%' AND uri NOT LIKE 'dev/%'
ORDER BY uri;
# 结果:0行,说明所有业务模块路由已修复
oauth-clientssystem-config-admingame-items-chest-configsoauth/clientsconfig_admingame-items/chest-configs#[Resource('resource-name', names: 'dcat.admin.resource-name')]
dcat.admin.{resource-name}成功修复了项目中所有不符合规范的路由命名问题:
路由命名规范化工作已完成,项目现在具有更好的一致性和可维护性。