|
@@ -114,6 +114,23 @@ Ready for Review
|
|
|
- `useEnterpriseAuth` - 企业认证钩子(提供登录、登出、状态管理功能)
|
|
- `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规范
|
|
|
**企业用户认证API**(史诗012提供,已通过故事011.001集成):
|
|
**企业用户认证API**(史诗012提供,已通过故事011.001集成):
|
|
|
- **客户端**:`enterpriseAuthClient`(已在`mini/src/api.ts`中可用)
|
|
- **客户端**:`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>`
|
|
- 右侧卡片:标签 `<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组件**:基于原型文件独立设计开发小程序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客户端、布局组件、认证框架)
|
|
- **基础框架集成**:必须与故事011.001已实现的基础框架无缝集成(API客户端、布局组件、认证框架)
|
|
@@ -285,6 +339,7 @@ Ready for Review
|
|
|
| 2025-12-17 | 1.0 | 初始创建(拆分后的认证与首页故事) | Bob(Scrum Master) |
|
|
| 2025-12-17 | 1.0 | 初始创建(拆分后的认证与首页故事) | Bob(Scrum Master) |
|
|
|
| 2025-12-18 | 1.1 | 根据故事011.001完成情况更新依赖关系、API规范、文件位置和技术细节 | Bob(Scrum Master) |
|
|
| 2025-12-18 | 1.1 | 根据故事011.001完成情况更新依赖关系、API规范、文件位置和技术细节 | Bob(Scrum Master) |
|
|
|
| 2025-12-18 | 1.2 | 完成故事实施:登录页面UI更新、首页实现、认证状态管理增强、集成测试 | James(开发代理) |
|
|
| 2025-12-18 | 1.2 | 完成故事实施:登录页面UI更新、首页实现、认证状态管理增强、集成测试 | James(开发代理) |
|
|
|
|
|
+| 2025-12-20 | 1.3 | 更新文档以反映mini-ui-packages拆分后的实际情况:更新UI组件使用、文件位置,添加架构变更说明 | James(开发工程师) |
|
|
|
|
|
|
|
|
## 开发代理记录
|
|
## 开发代理记录
|
|
|
**实施代理**: James (全栈开发者)
|
|
**实施代理**: James (全栈开发者)
|