- 创建.biz.md文件定义Biz组件库设计规则 - 创建design.md文件编写ERPTurbo_Admin项目技术文档 - 定义组件架构模式、类型系统和统一属性模式 - 添加权限控制机制和数据交互模式说明 - 完善项目核心技术栈和架构说明
71 lines
3.6 KiB
Markdown
71 lines
3.6 KiB
Markdown
---
|
||
trigger: manual
|
||
---
|
||
## Biz组件库设计规则
|
||
|
||
### 1. 组件架构模式
|
||
|
||
Biz组件库采用统一的业务组件架构,主要包含以下几类组件:
|
||
|
||
1. **核心容器组件**:
|
||
- [BizContainer](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizContainer.tsx#L33-L947) - 主容器组件,协调其他业务组件
|
||
- [PageContainer](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/PageContainer.tsx#L12-L42) - 页面容器组件,处理权限验证
|
||
|
||
2. **业务功能组件**:
|
||
- [BizPage](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizPage.tsx#L7-L121) - 分页表格组件
|
||
- [BizTree](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizTree.tsx#L6-L61) - 树形结构组件
|
||
- [BizDrag](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizDrag.tsx#L7-L158) - 拖拽排序组件
|
||
- [BizList](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizList.tsx#L6-L52) - 列表展示组件
|
||
- [BizCalender](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizCalender.tsx#L10-L89) - 日历展示组件
|
||
|
||
3. **操作型组件**:
|
||
- [BizCreate](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizCreate.tsx#L10-L240) - 创建操作组件
|
||
- [BizUpdate](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizUpdate.tsx#L12-L255) - 更新操作组件
|
||
- [BizDetail](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizDetail.tsx#L12-L273) - 详情查看组件
|
||
- [BizDestroy](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizDestroy.tsx#L9-L90) - 删除操作组件
|
||
- [BizImport](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizImport.tsx#L14-L610) - 批量导入组件
|
||
|
||
### 2. 类型系统设计
|
||
|
||
所有组件都采用泛型设计,主要泛型参数包括:
|
||
|
||
- `Func`: API函数类型
|
||
- `BizVO`: 视图对象类型
|
||
- `BizPageQry`: 查询参数类型
|
||
- `BizCreateCmd`: 创建命令类型
|
||
- `BizUpdateCmd`: 更新命令类型
|
||
|
||
### 3. 统一属性模式
|
||
|
||
所有Biz组件都遵循统一的属性设计模式:
|
||
|
||
1. **API相关属性**:
|
||
- `func`: API函数集合
|
||
- `method`: 方法名前缀
|
||
- `methodUpper`: 首字母大写的方法名前缀
|
||
- `rowKey`: 主键字段名
|
||
|
||
2. **权限与国际化**:
|
||
- `permission`: 权限标识
|
||
- `intlPrefix`: 国际化前缀
|
||
|
||
3. **表单类型**:
|
||
- `formType`: 表单类型(modal/drawer/step)
|
||
|
||
### 4. 响应式设计
|
||
|
||
组件通过`isMobile`属性自动适配移动端,主要体现在:
|
||
- 表单宽度自动调整
|
||
- 操作按钮布局优化
|
||
- 操作栏按钮数量自适应
|
||
|
||
### 5. 权限控制机制
|
||
|
||
使用[ButtonAccess](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/ButtonAccess.tsx#L11-L22)组件实现细粒度权限控制,权限标识通过`permission`属性自动拼接操作类型(如-create、-update、-delete、-view)。
|
||
|
||
### 6. 数据交互模式
|
||
|
||
1. **数据获取**:通过`func`中的方法调用API,方法名由[methodUpper](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizContainer.tsx#L33-L947)和操作类型组合而成
|
||
2. **数据提交**:表单提交时自动移除包含"VO"的字段
|
||
3. **状态管理**:使用[actionRef](file:///D:/xinfaleisheng/ERPTurbo_Admin/packages/app-operation/src/components/Biz/BizContainer.tsx#L80-L80)进行组件间状态同步
|