ERPTurbo_Admin/.lingma/rules/biz.md
shenyifei cc15943d44 feat(biz): 添加Biz组件库设计规则和技术文档
- 创建.biz.md文件定义Biz组件库设计规则
- 创建design.md文件编写ERPTurbo_Admin项目技术文档
- 定义组件架构模式、类型系统和统一属性模式
- 添加权限控制机制和数据交互模式说明
- 完善项目核心技术栈和架构说明
2025-11-10 15:52:34 +08:00

71 lines
3.6 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.

---
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)进行组件间状态同步