06-UI交互规范
一、整体布局
1.1 页面框架
采用 Ant Design Layout 组合骨架:顶部 Header 放 logo / 全局菜单 / 用户信息;左侧 Sider 放可折叠的多级菜单(通过 Menu 组件渲染,菜单项数据由后端模块树接口返回);右侧 Content 放业务内容区,顶部为面包屑(Breadcrumb),下方为页面主体。整体根节点用 ConfigProvider 注入主题与中文 locale。
1.2 布局参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| Header 高度 | 56 px | 固定置顶,z-index 高于 Content |
| Sider 展开宽度 | 224 px | 多级菜单展开时 |
| Sider 折叠宽度 | 64 px | 仅显示 Icon |
| Content 内边距 | 16 px | 上下左右 |
| 最小分辨率 | 1280 × 720 | ERP 桌面端为主,不做 H5 适配 |
二、标准页面类型
ERP 业务以 CRUD 为主,统一为 3 类标准页:列表页、表单页、详情页。模块管理因含树形结构,额外保留树形管理页。
2.1 列表页
固定布局:PageHeader 标题区 → 顶部操作区("新建"等主按钮 + 批量操作) → 搜索栏(Form 折叠展开) → 数据表格(Table + 行操作列) → 底部分页(Pagination,默认每页 20 条,可选 10 / 20 / 50 / 100)。
2.2 表单页
新增 / 编辑统一用 Drawer(从右侧滑出,宽度 520 px)承载,避免页面跳转打断列表上下文。校验时机:失焦校验 + 提交前完整校验(Form.useForm + rules)。提交按钮固定在 Drawer 底部,左侧"取消"右侧"确定"。
2.3 详情页
独立路由页面,顶部用 Descriptions 展示基本信息(2 列布局),下方用 Tabs 切换"基本信息 / 关联记录 / 操作日志"等分组。详情页只读,编辑跳回列表页 Drawer。
2.4 树形管理页
模块管理使用:左侧 Tree 展示模块层级(含搜索框),右侧根据选中节点展示详情/编辑表单。新增子节点通过节点上的"+"按钮触发,删除走二次确认。
三、通用交互规则
3.1 操作反馈
- 成功:
message.success,2 秒自动消失 - 失败 / 业务错误:
message.error,展示后端msg字段 - 危险操作(删除 / 禁用 / 重置密码):
Modal.confirm二次确认,确认按钮danger - 长耗时按钮:进入请求即
loading=true,请求完成(成功或失败)才解除
3.2 数据展示
- 空状态:
Empty,附主操作按钮(如"新建第一条") - 加载:
Spin包裹内容区,最小展示 300 ms 避免闪烁 - 异常:网络/服务异常用
Result组件,附"重试"按钮
3.3 权限控制(前端)
- 菜单级:登录后调
/auth/menu拉模块树,前端按返回数据渲染Menu - 按钮级:组件读取
useUser().permissions判断操作按钮显隐 - 路由级:
PrivateRoute高阶组件包装受保护路由,未登录或无权限重定向至/403 - 所有权限规则与后端 RBAC 保持一致,前端不做"最终判定",只做"友好屏蔽",后端依然校验
四、主题与颜色
基于 Ant Design 5 的 design token 体系,使用 ConfigProvider.theme 全局注入:
| Token | 默认值 | 说明 |
|---|---|---|
| colorPrimary | #1677ff | 主色(按钮、链接、选中态) |
| colorSuccess | #52c41a | 成功反馈 |
| colorWarning | #faad14 | 警告反馈 |
| colorError | #ff4d4f | 错误反馈、危险操作 |
| borderRadius | 4 | 全局圆角 |
| fontSize | 14 | 默认字号 |
五、页面清单
module_mod 模块管理
-
模块管理树 (
/sys/modules)- 类型: 树形管理页
- 对应 REQ: REQ-MOD-001 / REQ-MOD-002 / REQ-MOD-003 / REQ-MOD-004
- 入口菜单: 系统设置 → 模块管理
- 主要交互: 左侧模块树(搜索框 + 树节点) + 右侧 Drawer 表单(新增 / 编辑);节点上"+"新增子模块、删除走二次确认;REQ-MOD-004 的查询关键字直接绑定左侧树搜索框
module_usr 用户管理
-
用户列表页 (
/sys/users)- 类型: 列表页
- 对应 REQ: REQ-USR-001 / REQ-USR-002 / REQ-USR-003
- 入口菜单: 系统设置 → 用户管理
- 主要交互: 顶部搜索栏(查询字段 + 匹配方式 + 查询值) + Table(含序号 / 用户名 / 员工名 / 用户号 / 部门 / 用户类型 / 语言 / 作废 / 登录日期 / 制单人 / 制单日期 / 操作列) + 分页;新建 / 编辑用 Drawer,权限组用 Checkbox 表格选择
-
登录页 (
/login)- 类型: 表单页
- 对应 REQ: REQ-USR-004
- 入口菜单: 未登录默认重定向至此
- 主要交互: 用户名 + 密码 + 版本(下拉,默认"标准版");提交后调
POST /api/usr/auth/login,成功跳转主页,账号锁定时展示剩余冷却时间