06c23e5ff0
Co-authored-by: multica-agent <github@multica.ai>
4.0 KiB
4.0 KiB
Work Log - 菜单管理页面一致性优化(FL-151)
-
背景:
- 菜单管理页需要继续对齐用户管理页的消息反馈、筛选表单、空态与表格滚动配置规范。
-
本次处理:
- 移除菜单管理页对
App.useApp()的依赖,创建、编辑、删除结果统一走error/successstate +useToastFeedback。 - 桌面筛选表单项由 Tailwind
min-w-*改为与用户管理页一致的style={{ width: ... }}。 - 表格空态
Empty属性顺序调整为image在前、description在后。 - 移除菜单表格
scroll.x,仅保留纵向滚动配置,与用户管理页保持一致。
- 移除菜单管理页对
-
验证:
- 基线:
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通过。
- 基线:
-
风险与关注点:
- 改动仅影响菜单管理页前端展示与提示机制,不改变菜单接口、字段结构或权限语义。
Work Log - 角色管理页对齐用户管理页规范(FL-152)
-
背景:
- 角色管理页需对齐用户管理页的后台列表页布局、移动卡片、操作区换行和反馈规范。
-
本次处理:
- 角色表格操作区改为与用户管理页一致的
Space wrap,避免小屏或窄列下按钮挤压。 - 角色移动卡片标题改为名称 + 编码横向信息结构,并补齐“角色编码 / 角色名称 / 菜单”字段网格,视觉和信息密度对齐用户移动卡片。
- 角色菜单多选保留现有接口与字段结构,不改动后端 RBAC 合约。
- 角色表格操作区改为与用户管理页一致的
-
验证:
- 基线:
npm --workspace web exec eslint src/app/admin/users/page.tsx src/app/admin/roles/page.tsx通过,仅用户页存在 1 条既有 unused eslint-disable warning。 - 修改后:
npm --workspace web exec eslint src/app/admin/roles/page.tsx --max-warnings=0通过。 - 修改后:
npm --workspace web exec eslint src/app/admin/users/page.tsx src/app/admin/roles/page.tsx通过,仍仅用户页 1 条既有 warning。 - 修改后:
npm --workspace web exec tsc --noEmit通过。
- 基线:
-
风险与关注点:
- 改动仅影响角色管理页前端展示与交互排布,不改变接口路径、请求/响应字段、权限判断或角色 CRUD 语义。
Follow-up - 角色管理页细节一致性补齐(FL-152)
-
背景:
- 评审继续指出角色管理页在搜索文案、角色编码校验、移动端操作丰富度等方面仍与用户管理页存在细节差异。
-
本次处理:
- 搜索占位文案统一为“按角色编码/名称/菜单搜索”,对齐用户管理页“按...搜索”的表达方式。
- 新建角色表单新增角色编码格式校验、500ms 防抖重复检查和提交前重复检查,复用现有
/api/v1/admin/roles列表接口做精确 code 命中判断。 - 角色移动卡片更多菜单补齐“编辑”和“查看菜单”,删除仍使用
Modal.confirm,保持与用户卡片的操作入口组织方式一致。 - 确认角色 schema 仅包含
code/name/permission_codes/menu_ids,无status字段,因此未新增状态筛选器,避免引入未支持的数据模型语义。
-
验证:
- 基线:
npm --workspace web exec eslint src/app/admin/users/page.tsx src/app/admin/roles/page.tsx通过,仅用户页存在 1 条既有 unused eslint-disable warning。 - 修改后:
npm --workspace web exec eslint src/app/admin/roles/page.tsx --max-warnings=0通过。 - 修改后:
npm --workspace web exec tsc --noEmit通过。 - 修改后:
npm --workspace web exec eslint src/app/admin/users/page.tsx src/app/admin/roles/page.tsx通过,仍仅用户页 1 条既有 warning。
- 基线:
-
风险与关注点:
- 角色编码重复检查依赖现有角色列表 keyword 查询做前端预检查;服务端创建接口和数据库唯一约束仍是最终一致性保护。
- 改动仅影响角色管理页前端,不改变后端接口、schema 或权限语义。