|
|
@@ -79,6 +79,22 @@ Ready for Review
|
|
|
- **企业专用API客户端**:`enterpriseDisabilityClient`已集成到API客户端
|
|
|
- **访问控制**:人才管理功能需要用户登录后才能访问,可使用`useRequireAuth`钩子进行权限保护
|
|
|
|
|
|
+### 架构变更说明(mini-ui-packages拆分)
|
|
|
+**背景**:为实现更好的模块化和代码复用,史诗011的UI组件已拆分为独立的mini-ui-packages。
|
|
|
+
|
|
|
+**当前架构**:
|
|
|
+- **人才管理UI包**:`@d8d/yongren-talent-management-ui` - 包含人才列表和详情页面组件
|
|
|
+- **基础UI包**:
|
|
|
+ - `@d8d/yongren-shared-ui` - 提供`YongrenTabBarLayout`等共享组件
|
|
|
+ - `@d8d/mini-shared-ui-components` - 提供`PageContainer`等基础组件
|
|
|
+ - `@d8d/mini-enterprise-auth-ui` - 提供认证相关钩子
|
|
|
+- **桥接模式**:mini项目中保留桥接文件,从UI包导入实际组件
|
|
|
+
|
|
|
+**影响**:
|
|
|
+- 人才管理页面实现现在位于UI包中,而非mini项目内
|
|
|
+- 组件导入路径已更新为从UI包导入
|
|
|
+- 测试策略相应调整,UI包内包含单元测试
|
|
|
+
|
|
|
### API规范
|
|
|
**残疾人才API**(disability_person模块)- **通用版本**:
|
|
|
- **警告**:此API为通用版本,返回所有人才数据,未按企业过滤。**企业用户必须使用下面的"企业专用残疾人才API"**,确保数据安全隔离。
|
|
|
@@ -363,62 +379,61 @@ Ready for Review
|
|
|
- 集成文件管理API
|
|
|
|
|
|
**UI组件使用**:
|
|
|
-- **复用故事011.001已实现的基础组件**:
|
|
|
- - `YongrenTabBarLayout` - 底部导航布局组件(必须使用,人才标签激活状态)
|
|
|
- - `PageContainer` - 页面容器组件(提供统一的内边距和滚动容器)
|
|
|
+- **基础组件来源**(现在来自独立的UI包):
|
|
|
+ - `YongrenTabBarLayout` - 从`@d8d/yongren-shared-ui/components/YongrenTabBarLayout`导入(底部导航布局组件,必须使用,人才标签激活状态)
|
|
|
+ - `PageContainer` - 从`@d8d/mini-shared-ui-components/components/page-container`导入(页面容器组件,提供统一的内边距和滚动容器)
|
|
|
- `UserStatusBar` - 用户状态栏组件(可选,用于显示用户信息和通知)
|
|
|
- 基础卡片样式:遵循故事011.001定义的`.card`样式规范(圆角12px,阴影等)
|
|
|
-- **独立开发人才管理业务组件**:基于原型文件独立设计开发人才管理相关UI组件
|
|
|
- - 人才搜索组件:集成到列表页搜索区域
|
|
|
- - 人才筛选组件:支持工作状态、残疾类型等多维度筛选
|
|
|
- - 人才表格/卡片组件:展示人才列表信息
|
|
|
- - 人才详情组件:展示完整人才信息
|
|
|
- - 薪资历史组件:展示薪资变化趋势
|
|
|
- - 文件管理组件:展示个人征信文件
|
|
|
-- **复用现有基础UI组件**:复用mini项目中已有的基础UI组件(表单输入框、按钮、加载指示器等),根据原型设计调整样式
|
|
|
+- **人才管理业务组件**(在`@d8d/yongren-talent-management-ui`包中):
|
|
|
+ - `TalentManagement`组件 - 人才列表页面组件,包含搜索、筛选、分页功能
|
|
|
+ - `TalentDetail`组件 - 人才详情页面组件,展示完整人才信息
|
|
|
+ - 组件已集成搜索、筛选、表格/卡片展示、薪资历史、文件管理等功能
|
|
|
+- **认证钩子**:
|
|
|
+ - `useAuth`和`useRequireAuth` - 从`@d8d/mini-enterprise-auth-ui/hooks`导入(企业认证上下文和页面访问权限检查)
|
|
|
- **样式规范**:
|
|
|
- 严格遵循故事011.001定义的颜色系统、卡片阴影、圆角等设计规范
|
|
|
- 使用Tailwind CSS工具类,确保移动端响应式设计
|
|
|
- 所有人才管理页面必须严格对照原型文件 `docs/小程序原型/yongren.html` 实现UI细节
|
|
|
-- **注意**:史诗011针对mini小程序,UI组件应独立设计,而非复用管理后台的`@d8d/allin-*`系列UI包
|
|
|
+- **注意**:史诗011针对mini小程序,UI组件已按mini-ui-packages拆分到独立的UI包中,确保模块化和可重用性
|
|
|
|
|
|
### 文件位置
|
|
|
-**基础组件位置**(已由故事011.001实现):
|
|
|
+**当前架构(已按mini-ui-packages拆分)**:
|
|
|
+
|
|
|
+**人才管理UI包**:
|
|
|
+- **包名称**:`@d8d/yongren-talent-management-ui`(位于`mini-ui-packages/yongren-talent-management-ui/`)
|
|
|
+- **主要页面组件**:
|
|
|
+ - `src/pages/TalentManagement/TalentManagement.tsx` - 人才列表页面组件
|
|
|
+ - 使用`YongrenTabBarLayout`布局,`activeTab="talent"`
|
|
|
+ - 使用`PageContainer`作为内容容器
|
|
|
+ - 路由路径:`pages/yongren/talent/list`
|
|
|
+ - `src/pages/TalentDetail/TalentDetail.tsx` - 人才详情页面组件
|
|
|
+ - 使用`YongrenTabBarLayout`布局,`activeTab="talent"`
|
|
|
+ - 使用`PageContainer`作为内容容器
|
|
|
+ - 路由路径:`pages/yongren/talent/detail`
|
|
|
+- **API客户端**:
|
|
|
+ - `src/api/enterpriseDisabilityClient.ts` - 企业专用残疾人才API客户端
|
|
|
+ - `src/api/index.ts` - API客户端导出文件
|
|
|
+
|
|
|
+**依赖的UI包**:
|
|
|
- **布局组件**:
|
|
|
- - `mini/src/layouts/yongren-tab-bar-layout.tsx` - `YongrenTabBarLayout`组件(底部导航布局)
|
|
|
- - `mini/src/components/ui/page-container.tsx` - `PageContainer`组件(页面容器)
|
|
|
- - `mini/src/components/ui/user-status-bar.tsx` - `UserStatusBar`组件(用户状态栏,可选)
|
|
|
+ - `@d8d/yongren-shared-ui/components/YongrenTabBarLayout` - `YongrenTabBarLayout`组件(底部导航布局)
|
|
|
+ - `@d8d/mini-shared-ui-components/components/page-container` - `PageContainer`组件(页面容器)
|
|
|
- **认证框架**:
|
|
|
- - `mini/src/utils/auth.tsx` - `EnterpriseAuthProvider`和`useEnterpriseAuth`钩子(企业认证上下文)
|
|
|
- - `mini/src/hooks/useRequireAuth.ts` - `useRequireAuth`钩子(页面访问权限检查,由故事011.002添加)
|
|
|
-- **API客户端**:
|
|
|
- - `mini/src/api.ts` - 所有API客户端主文件(包含`disabilityClient`、`orderClient`、`salaryClient`、`fileClient`等)
|
|
|
-- **路由配置**:
|
|
|
- - `mini/src/app.config.ts` - 小程序路由配置文件(已包含人才管理页面路由占位符)
|
|
|
-
|
|
|
-**页面组件位置**(需要创建):
|
|
|
-- `mini/src/pages/yongren/talent/list/index.tsx` - 人才列表页面组件
|
|
|
- - 应使用`YongrenTabBarLayout`布局,`activeTab="talent"`
|
|
|
- - 应使用`PageContainer`作为内容容器
|
|
|
+ - `@d8d/mini-enterprise-auth-ui/hooks` - `useAuth`和`useRequireAuth`钩子(企业认证上下文和页面访问权限检查)
|
|
|
+- **业务模块**:
|
|
|
+ - `@d8d/allin-disability-module` - 残疾人才模块类型定义
|
|
|
+
|
|
|
+**桥接文件位置**(在mini项目中):
|
|
|
+- `mini/src/pages/yongren/talent/list/index.tsx` - 人才列表页面桥接文件
|
|
|
+ - 从`@d8d/yongren-talent-management-ui`导入`TalentManagement`组件
|
|
|
- 路由路径:`pages/yongren/talent/list`
|
|
|
-- `mini/src/pages/yongren/talent/detail/index.tsx` - 人才详情页面组件
|
|
|
- - 应使用`YongrenTabBarLayout`布局,`activeTab="talent"`
|
|
|
- - 应使用`PageContainer`作为内容容器
|
|
|
+- `mini/src/pages/yongren/talent/detail/index.tsx` - 人才详情页面桥接文件
|
|
|
+ - 从`@d8d/yongren-talent-management-ui`导入`TalentDetail`组件
|
|
|
- 路由路径:`pages/yongren/talent/detail`
|
|
|
|
|
|
-**业务组件位置**(需要创建):
|
|
|
-- `mini/src/components/talent/` - 人才管理相关业务组件目录
|
|
|
- - `TalentSearch.tsx` - 人才搜索组件(集成到列表页搜索区域)
|
|
|
- - `TalentFilter.tsx` - 人才筛选组件(支持工作状态、残疾类型等多维度筛选)
|
|
|
- - `TalentTable.tsx` - 人才表格组件(或`TalentCard.tsx`卡片组件)
|
|
|
- - `TalentDetailInfo.tsx` - 人才详情信息组件(展示基本信息、工作信息、薪资信息等)
|
|
|
- - `SalaryHistory.tsx` - 薪资历史组件(展示薪资变化趋势和图表)
|
|
|
- - `CreditFileList.tsx` - 个人征信文件列表组件(展示、预览、下载文件)
|
|
|
-
|
|
|
-**测试文件位置**(需要创建):
|
|
|
-- `mini/tests/yongren-talent-list.test.tsx` - 人才列表页测试
|
|
|
-- `mini/tests/yongren-talent-detail.test.tsx` - 人才详情页测试
|
|
|
-- `mini/tests/yongren-talent-api.test.ts` - 人才管理API集成测试(可扩展现有`yongren-api.test.ts`)
|
|
|
+**测试文件位置**:
|
|
|
+- **UI包测试**:在`@d8d/yongren-talent-management-ui`包内编写单元测试
|
|
|
+- **集成测试**:在mini项目的`tests/`目录中编写集成测试
|
|
|
|
|
|
### 数据模型
|
|
|
基于史诗012扩展的数据库schema:
|
|
|
@@ -463,6 +478,7 @@ Ready for Review
|
|
|
| 2025-12-18 | 1.8 | 更新验收标准:标记所有验收标准为已完成 | James(开发工程师) |
|
|
|
| 2025-12-18 | 1.9 | 更新API规范:添加企业专用残疾人才API和依赖故事012.011 | Claude Code |
|
|
|
| 2025-12-19 | 1.10 | 修复人才详情页API使用:改用enterpriseDisabilityClient企业专用API,修复RPC客户端路径参数语法 | Claude Code |
|
|
|
+| 2025-12-20 | 1.11 | 更新文档以反映mini-ui-packages拆分后的实际情况:更新文件位置、组件规范,添加架构变更说明 | James(开发工程师) |
|
|
|
|
|
|
## 开发代理记录
|
|
|
|