06-UI交互规范.md 4.68 KB

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,成功跳转主页,账号锁定时展示剩余冷却时间