[fix]:[FL-151][菜单管理页React Query架构对齐]
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -18,6 +18,27 @@
|
||||
- 风险与关注点:
|
||||
- 改动仅影响菜单管理页前端展示与提示机制,不改变菜单接口、字段结构或权限语义。
|
||||
|
||||
## Follow-up - 菜单管理页 React Query 架构对齐(FL-151)
|
||||
|
||||
- 背景:
|
||||
- 评审继续指出菜单管理页仍使用手动 `useState` + `loadMenus` 数据管理,与用户管理页 React Query 架构不一致。
|
||||
|
||||
- 本次处理:
|
||||
- 菜单列表查询改为 `useQuery`,由 `menusQuery` 承接 loading、error、数据与 total。
|
||||
- 创建、编辑、删除、启用/禁用改为 `useMutation`,并通过 `queryClient.refetchQueries` 刷新菜单数据。
|
||||
- `activeKeyword` 统一命名为 `searchKeyword`,移除手动 `loading` / `saving` / `menus` / `menuTotal` state。
|
||||
- 实时订阅改为 `queryClient.invalidateQueries({ queryKey: ["admin.menus"] })`。
|
||||
- 错误反馈改为组合本地错误与 `menusQuery.error` 后交给 `useToastFeedback`。
|
||||
|
||||
- 验证:
|
||||
- 基线:`npm --workspace web exec eslint src/app/admin/menus/page.tsx` 通过。
|
||||
- 基线:`npm --workspace web exec tsc --noEmit` 通过。
|
||||
- 修改后:`npm --workspace web exec eslint src/app/admin/menus/page.tsx` 通过。
|
||||
- 修改后:`npm --workspace web exec tsc --noEmit` 通过。
|
||||
|
||||
- 风险与关注点:
|
||||
- 改动仅迁移菜单管理页前端数据管理架构,不改变 `/api/v1/admin/menus*` 接口路径、请求字段或权限语义。
|
||||
|
||||
# Work Log - 角色管理页对齐用户管理页规范(FL-152)
|
||||
|
||||
- 背景:
|
||||
|
||||
Reference in New Issue
Block a user