Files
smart_grid_iot/.trae/specs/fix-menu-edit-save/tasks.md
T

1.2 KiB

Tasks

  • Task 1: 修复 MenuService 写入键映射
    • 1.1 阅读 menu.service.ts,确认 create()/update() 中 snake_case 键的位置
    • 1.2 将 create() 与 update() 写入 Sequelize 的键改为实体 camelCase 属性名,并确保父子菜单 parentId=null 与 visible 处理逻辑不变
    • 1.3 后端 npx tsc --noEmit 通过
  • Task 2: 修复 sys_menu 自增序列失步(新增菜单 500 的根因)
    • 2.1 定位根因:列默认值指向 sys_menu_id_seq1 且停留在 2(显式 id 插入不推进序列),与已存在 id 冲突
    • 2.2 生产库一次性同步序列(setval 到 max(id)=64),并顺带核对 sys_role/sys_user 序列
    • 2.3 db_seed.sql 全部 setval 改为 pg_get_serial_sequence() 形式,兼容不同环境序列名
  • Task 3: 验证
    • 3.1 接口自测:PUT /api/menus/:id 修改菜单名称后重新 GET 树,名称已持久化
    • 3.2 接口自测:POST /api/menus 新增菜单返回 200 且树中出现新菜单(自测后清理测试数据)
    • 3.3 浏览器验证:菜单管理页编辑名称保存后树实时刷新、刷新页面后保持

Task Dependencies

  • [Task 2][Task 3] depend on [Task 1]