# 系统设置入口恢复说明 ## 本次恢复范围 本轮不是把整个旧“系统设置域”一次性全部接回,而是先恢复最关键的两块: - `入口模块管理`:`/entry-modules` - `角色权限管理`:`/role-permissions` 同时恢复首页右上角 `系统设置` 入口,但当前只会进入上述两个已经承接的新能力。 ## 当前策略 ### 1. 首页与菜单 - 后端 `/api/rbac/user/routes` 已重新返回 `/settings` - `/settings` 当前子路由只保留: - `/entry-modules` - `/role-permissions` - `config-lists / document-types / prompts` 仍未重新放开 ### 2. 入口模块管理 已承接后端接口: - `GET /api/v3/entry-modules` - `GET /api/v3/entry-modules/{id}` - `POST /api/v3/entry-modules` - `PUT /api/v3/entry-modules/{id}` - `DELETE /api/v3/entry-modules/{id}` - `POST /api/v3/entry-modules/{id}/image` 数据源: - 表:`leaudit_entry_modules` - 图标:OSS `leaudit` 桶 说明: - 前端展示字段 `path` 现在对应数据库 `icon_path` - 前端编辑页面中的跳转路径仍走数据库 `path` ### 3. 角色权限管理 已承接后端接口: - `GET /api/v3/rbac/roles` - `POST /api/v3/rbac/roles` - `PUT /api/v3/rbac/roles/{roleId}` - `DELETE /api/v3/rbac/roles/{roleId}` - `GET /api/v3/rbac/users` - `POST /api/v3/rbac/users/{userId}/roles` - `DELETE /api/v3/rbac/users/{userId}/roles/{roleId}` - `GET /api/v3/rbac/users/{userId}/roles` - `GET /api/rbac/roles/{roleId}/routes` - `PUT /api/rbac/roles/{roleId}/routes` - `GET /api/v3/rbac/role-permissions` - `POST /api/v3/rbac/role-permissions` - `GET /api/v3/routes` - `GET /api/v3/routes/{routeId}/permissions` 数据源: - `roles` - `sso_users` - `user_role` - `sys_routes` - `role_route` - `permissions` - `role_permissions` ## 自动补种策略 为避免当前数据库里的 `sys_routes / permissions` 与现前端路由结构不一致,这次后端在 RBAC 管理接口里增加了“按需补种”: - 自动补齐最小可用路由: - `/home` - `/chat-with-llm` - `/files` - `/files/upload` - `/documents` - `/settings` - `/entry-modules` - `/role-permissions` - 自动补齐入口模块管理、角色权限管理所需的权限定义 这样做的目的,是先把“入口模块 + 权限架构”真正跑通,不再依赖旧系统那套不匹配的 `sys_routes` 种子。 ## 首页入口联动提醒 入口模块管理恢复后,首页入口是否显示,不只取决于 `leaudit_entry_modules` 本身,还取决于: - 入口模块 `path` - `sys_routes` - `role_route` 例如这次的真实案例: - `内部公文` 入口模块配置存在 - 其跳转路径是 `/home` - 但 `provincial_admin` 之前没有 `/home` 的 `role_route` 授权 - 所以首页接口不会返回该入口 已处理动作: - 2026-04-29 已补充 `provincial_admin -> /home` 路由授权 后续如果首页入口“配置了却不显示”,先不要只盯 `leaudit_entry_modules`,要连同下面三层一起查: 1. `leaudit_entry_modules.path` 2. `sys_routes.route_path` 3. `role_route(role_id, route_id, status)` ## 暂未恢复项 以下仍未在本轮开放: - `config-lists` - `document-types` - `prompts` 原因: - 当前数据库里没有旧 `configurations` 表 - `document-types / prompts` 仍依赖另一批尚未承接完的后台能力 ## 下一步建议 后续按这个顺序继续最稳: 1. 先联调验证 `入口模块管理` 与 `角色权限管理` 2. 再补 `config-lists` 新表与新接口 3. 最后恢复 `document-types / prompts`