Răsfoiți Sursa

docs(story): 更新011.003故事文档以反映mini-ui-packages拆分架构

- 添加架构变更说明,解释mini-ui-packages拆分背景和当前架构
- 更新UI组件使用说明,反映组件现在来自独立的UI包
- 更新文件位置部分,展示当前UI包架构和桥接模式
- 更新变更日志记录文档版本1.11

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 4 săptămâni în urmă
părinte
comite
bef63d2267
1 a modificat fișierele cu 59 adăugiri și 43 ștergeri
  1. 59 43
      docs/stories/011.003.story.md

+ 59 - 43
docs/stories/011.003.story.md

@@ -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(开发工程师) |
 
 ## 开发代理记录