Bladeren bron

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

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

🤖 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 weken geleden
bovenliggende
commit
1a5a120416
1 gewijzigde bestanden met toevoegingen van 71 en 16 verwijderingen
  1. 71 16
      docs/stories/011.002.story.md

+ 71 - 16
docs/stories/011.002.story.md

@@ -114,6 +114,23 @@ Ready for Review
   - `useEnterpriseAuth` - 企业认证钩子(提供登录、登出、状态管理功能)
   - 权限检查框架已就绪
 
+### 架构变更说明(mini-ui-packages拆分)
+**背景**:为实现更好的模块化和代码复用,史诗011的UI组件已拆分为独立的mini-ui-packages。
+
+**当前架构**:
+- **认证相关UI包**:`@d8d/mini-enterprise-auth-ui` - 提供登录页面组件、认证钩子和企业认证API客户端
+- **首页UI包**:`@d8d/yongren-dashboard-ui` - 提供首页/看板页面组件
+- **基础UI包**:
+  - `@d8d/yongren-shared-ui` - 提供`YongrenTabBarLayout`等共享组件
+  - `@d8d/mini-shared-ui-components` - 提供`PageContainer`等基础组件
+- **桥接模式**:mini项目中保留桥接文件,从UI包导入实际组件
+
+**影响**:
+- 登录页面和首页实现现在位于UI包中,而非mini项目内
+- 认证钩子和API客户端现在从`@d8d/mini-enterprise-auth-ui`导入
+- 组件导入路径已更新为从UI包导入
+- 测试策略相应调整,UI包内包含单元测试
+
 ### API规范
 **企业用户认证API**(史诗012提供,已通过故事011.001集成):
 - **客户端**:`enterpriseAuthClient`(已在`mini/src/api.ts`中可用)
@@ -227,24 +244,61 @@ Ready for Review
   - 右侧卡片:标签 `<p class="text-sm text-gray-600 mb-2">平均薪资</p>`,数值 `<p class="text-2xl font-bold text-gray-800">¥4,650</p>`
 
 **UI组件使用**:
-- **独立开发小程序UI组件**:基于原型文件独立设计开发小程序UI组件
-- **复用现有登录注册组件**:复用mini项目中已有的登录注册组件,只修改样式,保持核心认证逻辑不变
-- **注意**:史诗011针对mini小程序,UI组件应独立设计,而非复用管理后台的`@d8d/allin-*`系列UI包
+- **认证相关UI组件**(来自 `@d8d/mini-enterprise-auth-ui`):
+  - `Login`组件 - 登录页面组件,严格对照原型设计实现UI样式
+  - `useAuth`钩子 - 企业认证上下文管理
+  - `useRequireAuth`钩子 - 页面访问权限检查中间件
+- **首页组件**(来自 `@d8d/yongren-dashboard-ui`):
+  - `Dashboard`组件 - 首页/看板页面组件,包含企业概览数据、分配人才列表、数据统计卡片
+- **基础布局组件**(来自其他UI包):
+  - `YongrenTabBarLayout` - 从`@d8d/yongren-shared-ui`导入(底部导航布局组件,首页标签激活状态)
+  - `PageContainer` - 从`@d8d/mini-shared-ui-components`导入(页面容器组件)
+- **注意**:史诗011针对mini小程序,UI组件已按mini-ui-packages拆分到独立的UI包中,确保模块化和可重用性
 
 ### 文件位置
-**页面组件位置**:
-- `mini/src/pages/login/index.tsx` - **登录页面组件**(已由故事011.001改造为企业用户登录页)
-  - 原`mini/src/pages/yongren/login/`目录已删除,统一使用现有登录页面
-  - 需要更新UI样式以匹配原型设计,但核心认证逻辑已就绪
-- `mini/src/pages/yongren/dashboard/index.tsx` - **首页/看板页面组件**(需要创建)
-  - 使用`YongrenTabBarLayout`布局组件,首页标签激活状态
-  - 位置:`mini/src/pages/yongren/dashboard/`目录
-
-**状态管理位置**:
-- `mini/src/utils/auth.tsx` - **企业认证上下文提供者**(`EnterpriseAuthProvider`)
-  - 包含`useEnterpriseAuth`钩子,提供登录、登出、状态管理功能
-  - 原`mini/src/stores/auth.ts`用于普通用户认证,企业用户使用统一的企业认证框架
-- `mini/src/hooks/useEnterpriseAuth.ts` - **企业认证钩子**(如果已抽取为独立hook)
+**当前架构(已按mini-ui-packages拆分)**:
+
+**认证相关UI包**:
+- **包名称**:`@d8d/mini-enterprise-auth-ui`(位于`mini-ui-packages/mini-enterprise-auth-ui/`)
+- **主要组件**:
+  - `src/pages/login/Login.tsx` - 登录页面组件
+    - 严格对照原型设计 `docs/小程序原型/yongren.html` 第218-260行实现UI样式
+    - 核心认证逻辑使用`enterpriseAuthClient`企业用户认证API
+  - `src/pages/login/Login.config.ts` - 登录页面配置
+  - `src/pages/profile/Profile.tsx` - 个人资料页面组件
+- **认证钩子**:
+  - `src/hooks/useAuth.tsx` - 企业认证上下文管理钩子
+  - `src/hooks/useRequireAuth.ts` - 页面访问权限检查中间件
+- **API客户端**:
+  - `src/api/enterpriseAuthClient.ts` - 企业用户认证API客户端
+  - `src/api/index.ts` - API客户端导出文件
+
+**首页UI包**:
+- **包名称**:`@d8d/yongren-dashboard-ui`(位于`mini-ui-packages/yongren-dashboard-ui/`)
+- **主要组件**:
+  - `src/pages/Dashboard/Dashboard.tsx` - 首页/看板页面组件
+    - 使用`YongrenTabBarLayout`布局组件,首页标签激活状态
+    - 包含企业概览数据、分配人才列表、数据统计卡片等模块
+    - 严格对照原型设计 `docs/小程序原型/yongren.html` 第261-418行实现
+
+**依赖的UI包**:
+- **布局组件**:
+  - `@d8d/yongren-shared-ui/components/YongrenTabBarLayout` - 底部导航布局组件
+  - `@d8d/mini-shared-ui-components/components/page-container` - 页面容器组件
+- **业务模块**:
+  - `@d8d/allin-company-module` - 企业模块类型定义
+
+**桥接文件位置**(在mini项目中):
+- `mini/src/pages/login/index.tsx` - 登录页面桥接文件
+  - 从`@d8d/mini-enterprise-auth-ui/pages/login/Login`导入`Login`组件
+  - 路由路径:`pages/login/index`
+- `mini/src/pages/yongren/dashboard/index.tsx` - 首页桥接文件
+  - 从`@d8d/yongren-dashboard-ui/pages/Dashboard/Dashboard`导入`Dashboard`组件
+  - 路由路径:`pages/yongren/dashboard/index`
+
+**测试文件位置**:
+- **UI包测试**:在各个UI包内编写单元测试
+- **集成测试**:在mini项目的`tests/`目录中编写集成测试
 
 ### 技术约束
 - **基础框架集成**:必须与故事011.001已实现的基础框架无缝集成(API客户端、布局组件、认证框架)
@@ -285,6 +339,7 @@ Ready for Review
 | 2025-12-17 | 1.0 | 初始创建(拆分后的认证与首页故事) | Bob(Scrum Master) |
 | 2025-12-18 | 1.1 | 根据故事011.001完成情况更新依赖关系、API规范、文件位置和技术细节 | Bob(Scrum Master) |
 | 2025-12-18 | 1.2 | 完成故事实施:登录页面UI更新、首页实现、认证状态管理增强、集成测试 | James(开发代理) |
+| 2025-12-20 | 1.3 | 更新文档以反映mini-ui-packages拆分后的实际情况:更新UI组件使用、文件位置,添加架构变更说明 | James(开发工程师) |
 
 ## 开发代理记录
 **实施代理**: James (全栈开发者)