BookSystem/.trae/specs/system_settings_and_menu_restructure/tasks.md

3.9 KiB
Raw Permalink Blame History

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: 系统设置菜单权限控制正常