# BookSystem - 菜单重构与系统设置功能实现计划 ## [ ] Task 1: 后端 - 添加系统设置数据库模型 - **Priority**: P0 - **Depends On**: None - **Description**: - 在 `backend/auth/models.py` 中添加 `SystemSetting` 模型 - 字段包括:id、key、value、description、createtime、updatetime - **Acceptance Criteria Addressed**: AC-3 - **Test Requirements**: - `programmatic` TR-1.1: 数据库表自动创建成功 - `programmatic` TR-1.2: 模型字段正确映射到数据库列 - **Notes**: 使用 SQLAlchemy 声明式基类 ## [ ] Task 2: 后端 - 添加系统设置API接口 - **Priority**: P0 - **Depends On**: Task 1 - **Description**: - 在 `backend/auth/apps/` 下创建 `settings/` 目录 - 创建 `urls.py` 实现 CRUD 接口 - 在 `schemas.py` 中添加系统设置相关的 Pydantic 模型 - **Acceptance Criteria Addressed**: AC-3 - **Test Requirements**: - `programmatic` TR-2.1: POST /settings/ 成功创建设置项 - `programmatic` TR-2.2: GET /settings/ 成功获取所有设置项 - `programmatic` TR-2.3: PUT /settings/{id} 成功更新设置项 - `programmatic` TR-2.4: DELETE /settings/{id} 成功删除设置项 - **Notes**: 参考现有 users/roles/permissions 的实现模式 ## [ ] Task 3: 后端 - 更新应用路由配置 - **Priority**: P0 - **Depends On**: Task 2 - **Description**: - 在 `backend/auth/apps/urls.py` 中注册系统设置路由 - **Acceptance Criteria Addressed**: AC-3 - **Test Requirements**: - `programmatic` TR-3.1: /settings/* 接口可访问 ## [ ] Task 4: 前端 - 创建系统设置CRUD配置 - **Priority**: P0 - **Depends On**: Task 3 - **Description**: - 在 `frontend/src/modules/admin/views/` 下创建 `settings/` 目录 - 创建 `setting-crud.ts` CRUD配置文件 - 创建 `SettingManage.vue` 视图组件 - **Acceptance Criteria Addressed**: AC-3 - **Test Requirements**: - `human-judgment` TR-4.1: 设置管理页面正常显示 - `human-judgment` TR-4.2: CRUD操作按钮正常工作 ## [ ] Task 5: 前端 - 更新路由配置 - **Priority**: P0 - **Depends On**: Task 4 - **Description**: - 在 `frontend/src/router/index.ts` 中添加系统设置路由 - **Acceptance Criteria Addressed**: AC-2, AC-3 - **Test Requirements**: - `human-judgment` TR-5.1: 系统设置路由可访问 ## [ ] Task 6: 前端 - 重构菜单结构 - **Priority**: P0 - **Depends On**: Task 5 - **Description**: - 修改 `frontend/src/modules/admin/layout/AdminLayout.vue` - 将用户、角色、权限菜单改为"权限管理"一级菜单下的二级菜单 - 添加"系统设置"一级菜单 - **Acceptance Criteria Addressed**: AC-1, AC-2 - **Test Requirements**: - `human-judgment` TR-6.1: 菜单结构正确显示 - `human-judgment` TR-6.2: 菜单权限控制正常 ## [ ] Task 7: 前端 - 权限管理改为树状展示 - **Priority**: P1 - **Depends On**: None - **Description**: - 修改 `frontend/src/modules/admin/views/permissions/permission-crud.ts` - 将列表展示改为树形展示 - 使用 fast-crud 的树形组件 - **Acceptance Criteria Addressed**: AC-4 - **Test Requirements**: - `human-judgment` TR-7.1: 权限以树形结构展示 - `human-judgment` TR-7.2: 支持展开/折叠操作 - `human-judgment` TR-7.3: 层级关系正确显示 ## [ ] Task 8: 更新权限配置数据 - **Priority**: P1 - **Depends On**: Task 1 - **Description**: - 更新 `backend/auth/init_data.py` 添加系统设置相关权限 - 添加系统设置的一级/二级权限 - **Acceptance Criteria Addressed**: AC-2 - **Test Requirements**: - `programmatic` TR-8.1: 系统启动时权限数据正确初始化 ## [x] Task 9: 前端 - 更新权限Store - **Priority**: P1 - **Depends On**: Task 8 - **Description**: - 更新 `frontend/src/modules/admin/stores/auth.ts` 添加系统设置权限检查方法 - **Acceptance Criteria Addressed**: AC-2 - **Test Requirements**: - `human-judgment` TR-9.1: 系统设置菜单权限控制正常