Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
1.2 KiB
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]