Files
workspace/code/test-demo/AI_CONTEXT.md
T
2026-08-20 22:38:37 +08:00

59 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` 里有完整布局样式;如果要继续精修,可以在这份文件上直接改