# AI Context — FMS 新系统配置中心 Demo ## 项目目标 这是一个 **FMS 新系统配置中心演示**,用 React 实现,用于直观展示如何配置业务域、实体、菜单与权限,对应《FMS新系统核心表结构设计.md》中的核心元数据结构。 命名风格参考旧系统:表名 `s_` 前缀、字段 `b_` 前缀 + 驼峰(如 `b_viewtable`、`b_inputdatetime`)。 ## 技术栈 | 项 | 值 | |---|-----| | 框架 | React 19 + TypeScript 6 | | 构建 | Vite 8 | | 样式 | Tailwind CSS v4 (`@tailwindcss/vite`) | | 包管理 | pnpm | ## 文件结构 ``` src/ └── src/ ├── App.tsx # 单页配置中心:总览 / 业务域与实体 / 菜单与权限 / 角色与用户 ├── index.css # 整体样式 └── main.tsx # 入口 ``` ## 设计理念 1. **四个工作区**:总览、业务域与实体、菜单与权限、角色与用户 2. **业务域只管归属**:`s_module` 仅表示业务分组,不承载菜单和权限 3. **实体维护数据边界**:`s_entity` 负责数据源、保存表、主键,字段属于实体 4. **菜单承载访问入口**:`s_menu` 直接绑定实体或固定页面,动作权限跟着菜单生成 5. **权限跟随菜单**:角色只做授权主体,权限点来源于菜单动作 ## 覆盖的表 | 工作区 | 表 | | --- | --- | | 业务域 | `s_module` | | 实体与字段 | `s_entity`、`s_field_group`、`s_field`、`s_field_list`、`s_field_edit`、`s_field_query` | | 菜单与页面 | `s_menu` | | 权限 | `s_role`、`s_user_role`、`s_power`、`s_role_power` | ## 启动 ```bash pnpm install # 已安装 pnpm dev # http://localhost:3000 ``` ## 注意事项 - 这版 Demo 按维护关联度合并页面:业务域、实体和实体关系在同一棵配置树及详情工作区维护,菜单和权限一起维护 - 业务模型树同时展示 `s_module` 和 `s_entity`:业务域节点表达归属,实体节点表达数据对象;只有 `owned` 主从实体继续嵌套,`reference` 引用不改变树位置 - 权限是跟着菜单走的:一个数据菜单或页面菜单会生成一组动作权限,再由角色去勾选 - `s_relation` 在实体详情中维护关系类型、来源字段、目标字段、所有权和删除策略 - `src/index.css` 里有完整布局样式;如果要继续精修,可以在这份文件上直接改