Explorar el Código

docs: 添加用人方小程序 UI 包整合技术规格文档

- 创建用人方小程序(企业小程序) UI 包整合技术规格
- 涵盖 7 个 UI 包(yongren-* + mini-enterprise-auth-ui)的迁移
- 包含 Party Mode 审查修复记录(10项修复)
- 定义 7 个实施阶段和完整的验收标准
- 添加验证点失败标准与回退触发条件

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 hace 18 horas
padre
commit
b07a3fafc2

+ 539 - 0
_bmad-output/implementation-artifacts/tech-spec-consolidate-mini-ui-packages.md

@@ -0,0 +1,539 @@
+---
+title: '用人方小程序 UI 包代码整合回主目录'
+slug: 'consolidate-mini-ui-packages'
+created: '2026-03-07T16:00:00.000Z'
+status: 'ready-for-dev'
+stepsCompleted: [1, 2, 3, 4]
+tech_stack: ['Taro 4.1.4', 'React 18', 'TypeScript 5.x', 'Hono 4.8.5', '@tanstack/react-query']
+files_to_modify: [
+  'mini/package.json',
+  'mini/src/pages/login/index.tsx',
+  'mini/src/pages/yongren/dashboard/index.tsx',
+  'mini/src/pages/yongren/talent/list/index.tsx',
+  'mini/src/pages/yongren/talent/detail/index.tsx',
+  'mini/src/pages/yongren/order/list/index.tsx',
+  'mini/src/pages/yongren/order/detail/index.tsx',
+  'mini/src/pages/yongren/statistics/index.tsx',
+  'mini/src/pages/yongren/settings/index.tsx',
+  'mini/src/pages/yongren/video/index.tsx',
+  'mini/src/api/*',
+  'mini/src/hooks/*',
+  'mini/src/components/*'
+]
+code_patterns: ['桥接文件模式', '相对路径导入', 'TabBar 布局模式', 'Hono RPC 客户端']
+test_patterns: ['Jest (单元测试)', 'Playwright MCP (E2E)', '图片 MCP (UI 验证)', '热重载验证']
+---
+
+# Tech-Spec: 用人方小程序 UI 包代码整合回主目录
+
+**Created:** 2026-03-07
+
+## Overview
+
+### Problem Statement
+
+当前用人方小程序(企业小程序)的 UI 组件分散在 `mini-ui-packages` 的 7 个独立包中:
+- `yongren-dashboard-ui` (首页/Dashboard)
+- `yongren-order-management-ui` (订单管理)
+- `yongren-settings-ui` (设置页面)
+- `yongren-shared-ui` (共享组件)
+- `yongren-statistics-ui` (数据统计)
+- `yongren-talent-management-ui` (人才管理)
+- `mini-enterprise-auth-ui` (企业认证/登录)
+
+这种分包架构导致 **Taro 热重载失效**:每次修改 UI 组件都需要先构建 UI 包,主小程序才能识别变更。这带来两个问题:
+1. **开发效率低**:修改代码后需等待构建完成
+2. **资源消耗大**:一次性构建所有包消耗大量资源
+
+### Solution
+
+将 7 个 UI 包的代码**复制**(非移动)回 `mini/` 目录,按 Taro 标准页面结构组织。包括 6 个 `yongren-*` 包和 1 个 `mini-enterprise-auth-ui` 包。保留 `mini-ui-packages` 中的原包不动,移除主小程序对这些包的依赖,恢复 Taro 原生热重载能力。
+
+### Scope
+
+**In Scope:**
+- 复制 7 个 UI 包代码到 `mini/src/`(6 个 yongren-* 包 + 1 个 mini-enterprise-auth-ui 包)
+- 按 Taro 页面结构组织:`pages/`、`components/`、`api/`、`utils/`
+- 移除 `mini/package.json` 中的相关 `workspace:*` 依赖
+- 调整复制后的内部导入路径
+- 更新 `mini` 的路由配置
+
+**Out of Scope:**
+- 原始 `mini-ui-packages` 包的删除或修改(保持原样)
+- 人才小程序 (`rencai-*`) 相关包
+- Mini UI 包的 Jest 测试文件迁移(使用 Playwright MCP + 图片 MCP 代替)
+- CI/CD 流程修改
+
+## Context for Development
+
+### Codebase Patterns
+
+**Taro 小程序标准结构**:
+```
+mini/
+├── src/
+│   ├── pages/           # 页面组件
+│   ├── components/      # 共享组件
+│   ├── api/             # API 调用
+│   ├── utils/           # 工具函数
+│   ├── services/        # 业务逻辑
+│   ├── types/           # TypeScript 类型
+│   └── app.tsx          # 应用入口
+```
+
+**当前桥接文件模式** (需要替换):
+```typescript
+// mini/src/pages/yongren/dashboard/index.tsx
+import Dashboard from '@d8d/yongren-dashboard-ui/pages/Dashboard/Dashboard'
+export default Dashboard
+```
+
+**UI 包内部导入模式** (需要调整):
+```typescript
+// 页面内相对路径导入组件
+import TalentCard from '../../components/TalentCard'
+
+// 跨包导入共享组件
+import { YongrenTabBarLayout } from '@d8d/yongren-shared-ui/components/YongrenTabBarLayout'
+import { Navbar } from '@d8d/mini-shared-ui-components/components/navbar'
+```
+
+**TabBar 布局模式**:
+```typescript
+<YongrenTabBarLayout activeKey="dashboard">
+  {/* 页面内容 */}
+</YongrenTabBarLayout>
+```
+
+**Hono RPC 客户端模式**:
+```typescript
+import { enterpriseStatisticsClient } from '../../api'
+type ResponseType = InferResponseType<typeof enterpriseStatisticsClient.employment.$get, 200>
+```
+
+### UI 包源码结构 (调查结果)
+
+| 包 | 页面 | 组件数 | API | Utils/Types |
+|---|------|--------|-----|-------------|
+| `yongren-dashboard-ui` | Dashboard | - | enterpriseCompanyClient | - |
+| `yongren-order-management-ui` | OrderList, OrderDetail | - | enterpriseOrderClient, orderClient | types |
+| `yongren-settings-ui` | Settings, VideoManagement | - | companyClient, enterpriseOrderClient | types |
+| `yongren-shared-ui` | - | 1 (YongrenTabBarLayout) | - | - |
+| `yongren-statistics-ui` | Statistics | - | enterpriseStatisticsClient | types |
+| `yongren-talent-management-ui` | TalentManagement, TalentDetail | - | enterpriseDisabilityClient | - |
+
+**总计**: ~6 个页面文件, ~1 个共享组件, ~6 个 API 客户端, ~2 个类型文件
+
+### Files to Reference
+
+| 源文件 | 目标位置 | 说明 |
+|--------|----------|------|
+| `mini-ui-packages/yongren-shared-ui/src/components/YongrenTabBarLayout.tsx` | `mini/src/components/YongrenTabBarLayout.tsx` | TabBar 布局组件 |
+| `mini-ui-packages/yongren-dashboard-ui/src/pages/Dashboard/Dashboard.tsx` | `mini/src/pages/yongren/dashboard/index.tsx` | 首页/Dashboard |
+| `mini-ui-packages/yongren-talent-management-ui/src/pages/TalentManagement/TalentManagement.tsx` | `mini/src/pages/yongren/talent/list/index.tsx` | 人才列表页 |
+| `mini-ui-packages/yongren-talent-management-ui/src/pages/TalentDetail/TalentDetail.tsx` | `mini/src/pages/yongren/talent/detail/index.tsx` | 人才详情页 |
+| `mini-ui-packages/yongren-order-management-ui/src/pages/OrderList/OrderList.tsx` | `mini/src/pages/yongren/order/list/index.tsx` | 订单列表页 |
+| `mini-ui-packages/yongren-order-management-ui/src/pages/OrderDetail/OrderDetail.tsx` | `mini/src/pages/yongren/order/detail/index.tsx` | 订单详情页 |
+| `mini-ui-packages/yongren-statistics-ui/src/pages/Statistics/Statistics.tsx` | `mini/src/pages/yongren/statistics/index.tsx` | 数据统计页 |
+| `mini-ui-packages/yongren-settings-ui/src/pages/Settings/Settings.tsx` | `mini/src/pages/yongren/settings/index.tsx` | 设置页面 |
+| `mini-ui-packages/yongren-settings-ui/src/pages/VideoManagement/VideoManagement.tsx` | `mini/src/pages/yongren/video/index.tsx` | 视频管理页 |
+| 各包 `src/api/*.ts` | `mini/src/api/*.ts` | 合并 API 客户端 |
+| 各包 `src/types/*.ts` | `mini/src/types/*.ts` | 类型定义 |
+| `mini/package.json` | (更新) | 移除 yongren-* 依赖 |
+| `mini/src/app.config.ts` | (确认) | 页面路由已配置 |
+
+### Technical Decisions
+
+1. **AI 逐个文件处理导入路径**:不使用脚本,由 AI 直接读取复制的文件并修改 import 语句,确保精确且处理边界情况
+2. **复制而非移动**:保留原包作为备份/参考
+3. **保持现有页面结构**:`mini/src/pages/yongren/xxx/index.tsx` 格式不变,页面内部导航链接保持不变
+4. **只修改 import 导入语句**:处理时只修改 `import` 语句中的包路径,不修改页面内的导航链接
+5. **保留包子目录结构避免命名冲突**:组件复制时保留包子目录前缀,避免同名组件覆盖
+6. **共享组件合并**:`yongren-shared-ui/components/` → `mini/src/components/`(唯一共享组件)
+7. **API/Utils/Types 合并**:所有包的 `api/`, `utils/`, `types/` 合并到 `mini/src/` 主目录,需检查命名冲突
+8. **导入路径调整**:
+   - 由 AI 逐个文件处理导入路径
+   - 共享组件改为相对路径: `../../components/xxx`
+   - API 导入改为: `@/api/xxx` 或 `../../api/xxx`
+9. **组件内部导入路径处理**:复制后的组件内部原本的相对导入路径需要重写
+10. **中间验证检查点**:在每个阶段后插入验证步骤,失败则停止
+11. **依赖清理**:移除 `@d8d/yongren-*` 相关依赖,保留 `@d8d/mini-shared-ui-components`
+12. **企业认证模块处理**:`mini-enterprise-auth-ui` 包也需要整合到 `mini/src/hooks/` 和 `mini/src/api/`
+13. **人才小程序差异参考**:参考 `tech-spec-consolidate-mini-talent-ui-packages.md` 的成功经验,采用相同的整合策略
+
+### 审查修复记录 (2026-03-07 Party Mode)
+
+| 问题 | 修复方案 | 状态 |
+|------|----------|------|
+| F1: 包数量不一致 (6 vs 7) | 修正 Problem Statement、Solution、Scope 为 7 个包 | ✅ 已修复 |
+| F2: 相对路径计算错误 | 修正 Task 4.1 路径示例为 `../../../components/` | ✅ 已修复 |
+| F3: CSS 文件未纳入迁移 | 新增 Task 2.9 复制页面配套 CSS 文件 | ✅ 已修复 |
+| F4: 命名冲突检测不足 | Task 2.10 增加 TypeScript 编译检查导出冲突 | ✅ 已修复 |
+| F5: 缺少 git 策略 | 新增阶段 6 (Git 提交策略) 分阶段 commit | ✅ 已修复 |
+| F6: 测试账号不匹配 | 修正 Testing Strategy 测试账号为 13800138005 | ✅ 已修复 |
+| F7: AI 处理无明确标准 | 阶段 4 增加完成标准和 fallback 说明 | ✅ 已修复 |
+| F8: 热重载验证不够严格 | Task 7.4 增加失败标准 (>5秒) 和测试次数 (≥3次) | ✅ 已修复 |
+| F9: 验证点无明确标准 | 新增 "验证点失败标准与回退触发条件" 表格 | ✅ 已修复 |
+| F10: 回退触发条件缺失 | 定义明确的失败标准和触发动作 | ✅ 已修复 |
+
+## Implementation Plan
+
+### Tasks
+
+#### 阶段 1: 环境准备 (5分钟)
+
+- [ ] **Task 1.1**: 创建目标目录
+  - **File**: `mini/src/`
+  - **Action**: `cd /mnt/code/188-179-template-6/mini && mkdir -p src/api src/components src/utils src/types src/hooks src/services`
+  - **Notes**: 使用完整路径,确保所有目标目录存在
+
+#### 阶段 2: 共享资源迁移 (使用 cp 命令) (15分钟)
+
+- [ ] **Task 2.1**: 复制 YongrenTabBarLayout 组件
+  - **File**: `mini/src/components/YongrenTabBarLayout.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-shared-ui/src/components/YongrenTabBarLayout.tsx /mnt/code/188-179-template-6/mini/src/components/`
+  - **Notes**: 使用完整路径,直接复制
+
+- [ ] **Task 2.2**: 复制 Dashboard API
+  - **File**: `mini/src/api/`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-dashboard-ui/src/api/enterpriseCompanyClient.ts /mnt/code/188-179-template-6/mini/src/api/`
+
+- [ ] **Task 2.3**: 复制订单管理 API 和类型
+  - **File**: `mini/src/api/`, `mini/src/types/`
+  - **Action**:
+    ```bash
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-order-management-ui/src/api/enterpriseOrderClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-order-management-ui/src/api/orderClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-order-management-ui/src/api/types.ts /mnt/code/188-179-template-6/mini/src/types/orderTypes.ts
+    ```
+
+- [ ] **Task 2.4**: 复制设置相关 API 和类型
+  - **File**: `mini/src/api/`, `mini/src/types/`
+  - **Action**:
+    ```bash
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-settings-ui/src/api/companyClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-settings-ui/src/api/enterpriseOrderClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-settings-ui/src/api/types.ts /mnt/code/188-179-template-6/mini/src/types/settingsTypes.ts
+    ```
+
+- [ ] **Task 2.5**: 复制统计相关 API 和类型
+  - **File**: `mini/src/api/`, `mini/src/types/`
+  - **Action**:
+    ```bash
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-statistics-ui/src/api/enterpriseStatisticsClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-statistics-ui/src/api/types.ts /mnt/code/188-179-template-6/mini/src/types/statisticsTypes.ts
+    ```
+
+- [ ] **Task 2.6**: 复制人才管理 API
+  - **File**: `mini/src/api/`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-talent-management-ui/src/api/enterpriseDisabilityClient.ts /mnt/code/188-179-template-6/mini/src/api/`
+
+- [ ] **Task 2.7**: 创建统一 API 导出文件
+  - **File**: `mini/src/api/index.ts`
+  - **Action**: 创建统一的导出文件,导出所有 API 客户端
+  - **Notes**: 新建文件,内容示例:
+    ```typescript
+    export { enterpriseCompanyClient } from './enterpriseCompanyClient'
+    export { enterpriseOrderClient } from './enterpriseOrderClient'
+    export { orderClient } from './orderClient'
+    export { companyClient } from './companyClient'
+    export { enterpriseStatisticsClient } from './enterpriseStatisticsClient'
+    export { enterpriseDisabilityClient } from './enterpriseDisabilityClient'
+    ```
+
+- [ ] **Task 2.8**: 复制企业认证模块
+  - **File**: `mini/src/api/`, `mini/src/hooks/`, `mini/src/pages/login/`
+  - **Action**:
+    ```bash
+    cp /mnt/code/188-179-template-6/mini-ui-packages/mini-enterprise-auth-ui/src/api/enterpriseAuthClient.ts /mnt/code/188-179-template-6/mini/src/api/
+    cp -r /mnt/code/188-179-template-6/mini-ui-packages/mini-enterprise-auth-ui/src/hooks/* /mnt/code/188-179-template-6/mini/src/hooks/
+    cp /mnt/code/188-179-template-6/mini-ui-packages/mini-enterprise-auth-ui/src/pages/login/Login.tsx /mnt/code/188-179-template-6/mini/src/pages/login/index.tsx
+    ```
+  - **Notes**: 复制 API 客户端、useAuth hooks 和登录页面
+
+- [ ] **Task 2.9**: 复制页面配套 CSS 文件
+  - **File**: `mini/src/pages/yongren/*/`
+  - **Action**:
+    ```bash
+    # 检查并复制各页面的 CSS 文件(如果存在)
+    cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-talent-management-ui/src/pages/TalentManagement/TalentManagement.css /mnt/code/188-179-template-6/mini/src/pages/yongren/talent/list/ 2>/dev/null || echo "No CSS file for TalentManagement"
+    # 类似地检查其他页面是否有 CSS 文件
+    ```
+  - **Notes**: 原桥接文件导入了 `.css`,需要确保样式文件也被复制
+
+- [ ] **Task 2.10**: 检查命名冲突 (验证点 1)
+  - **Action**:
+    ```bash
+    # 检查是否有重复的文件名
+    cd /mnt/code/188-179-template-6/mini/src/api && ls *.ts | sort | uniq -d
+    # 检查 types 目录
+    cd /mnt/code/188-179-template-6/mini/src/types && ls *.ts | sort | uniq -d
+    # 运行 TypeScript 编译检查是否有导出冲突
+    cd /mnt/code/188-179-template-6/mini && pnpm run typecheck 2>&1 | grep -i "duplicate\|conflict"
+    ```
+  - **Notes**:
+    - 如果有重复文件名,手动处理(重命名或合并)
+    - 如果 TypeScript 报告导出冲突,需要重命名导出或合并文件
+  - **失败标准**: 发现重复文件名或导出冲突 → 停止并手动处理
+
+#### 阶段 3: 页面迁移 (使用 cp 命令) (10分钟)
+
+- [ ] **Task 3.1**: 替换首页 (Dashboard)
+  - **File**: `mini/src/pages/yongren/dashboard/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-dashboard-ui/src/pages/Dashboard/Dashboard.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/dashboard/index.tsx`
+  - **Notes**: 直接覆盖桥接文件
+
+- [ ] **Task 3.2**: 替换人才列表页
+  - **File**: `mini/src/pages/yongren/talent/list/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-talent-management-ui/src/pages/TalentManagement/TalentManagement.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/talent/list/index.tsx`
+
+- [ ] **Task 3.3**: 替换人才详情页
+  - **File**: `mini/src/pages/yongren/talent/detail/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-talent-management-ui/src/pages/TalentDetail/TalentDetail.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/talent/detail/index.tsx`
+
+- [ ] **Task 3.4**: 替换订单列表页
+  - **File**: `mini/src/pages/yongren/order/list/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-order-management-ui/src/pages/OrderList/OrderList.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/order/list/index.tsx`
+
+- [ ] **Task 3.5**: 替换订单详情页
+  - **File**: `mini/src/pages/yongren/order/detail/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-order-management-ui/src/pages/OrderDetail/OrderDetail.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/order/detail/index.tsx`
+
+- [ ] **Task 3.6**: 替换数据统计页
+  - **File**: `mini/src/pages/yongren/statistics/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-statistics-ui/src/pages/Statistics/Statistics.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/statistics/index.tsx`
+
+- [ ] **Task 3.7**: 替换设置页面
+  - **File**: `mini/src/pages/yongren/settings/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-settings-ui/src/pages/Settings/Settings.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/settings/index.tsx`
+
+- [ ] **Task 3.8**: 替换视频管理页面
+  - **File**: `mini/src/pages/yongren/video/index.tsx`
+  - **Action**: `cp /mnt/code/188-179-template-6/mini-ui-packages/yongren-settings-ui/src/pages/VideoManagement/VideoManagement.tsx /mnt/code/188-179-template-6/mini/src/pages/yongren/video/index.tsx`
+
+#### 阶段 4: AI 逐个文件处理导入路径 (20分钟)
+
+> **说明**: 此阶段由 AI 逐个读取复制的文件,修改其 import 语句。不使用脚本,确保精确处理。
+>
+> **完成标准**:
+> - `grep -r "@d8d/yongren-" mini/src/` 无输出(所有包导入已清理)
+> - `pnpm run typecheck` 通过(无 TypeScript 错误)
+>
+> **Fallback**: 如果 AI 处理后有残留:
+> - 手动编辑残留文件
+> - 记录变更到 `MIGRATION.md`
+
+- [ ] **Task 4.1**: 处理页面文件的导入路径
+  - **文件列表**:
+    - `mini/src/pages/yongren/dashboard/index.tsx`
+    - `mini/src/pages/yongren/talent/list/index.tsx`
+    - `mini/src/pages/yongren/talent/detail/index.tsx`
+    - `mini/src/pages/yongren/order/list/index.tsx`
+    - `mini/src/pages/yongren/order/detail/index.tsx`
+    - `mini/src/pages/yongren/statistics/index.tsx`
+    - `mini/src/pages/yongren/settings/index.tsx`
+    - `mini/src/pages/yongren/video/index.tsx`
+  - **AI 操作**: 逐个读取文件,执行以下替换:
+    - `@d8d/yongren-shared-ui/components/YongrenTabBarLayout` → `../../../components/YongrenTabBarLayout`
+    - `@d8d/mini-enterprise-auth-ui/hooks` → `../../../hooks`
+    - 其他 `@d8d/yongren-*` 导入按需调整
+  - **路径说明**: 从 `pages/yongren/xxx/index.tsx` 往上 3 级到 `src/`,然后进入目标目录
+  - **Notes**: 只修改 import 语句,不修改页面内导航链接
+
+- [ ] **Task 4.2**: 处理 API 客户端文件的导入路径
+  - **文件**: `mini/src/api/*.ts` (所有复制的 API 客户端)
+  - **AI 操作**: 逐个读取 API 客户端文件,修正其内部导入路径
+
+- [ ] **Task 4.3**: 验证导入路径清理 (验证点 2)
+  - **Action**:
+    ```bash
+    grep -r "@d8d/yongren-" /mnt/code/188-179-template-6/mini/src/ --include="*.tsx" --include="*.ts"
+    ```
+  - **Notes**: 应该没有输出。如有残留,由 AI 继续处理
+
+- [ ] **Task 4.4**: 类型检查验证 (验证点 3)
+  - **Action**: 运行 `pnpm run typecheck`
+  - **Notes**: 根据错误信息由 AI 修复遗漏的导入路径
+
+#### 阶段 5: 配置更新 (5分钟)
+
+- [ ] **Task 5.1**: 更新 package.json
+  - **File**: `mini/package.json`
+  - **Action**: 手动编辑或使用编辑器移除以下 7 个依赖:
+    ```json
+    "@d8d/yongren-dashboard-ui": "workspace:*",
+    "@d8d/yongren-order-management-ui": "workspace:*",
+    "@d8d/yongren-settings-ui": "workspace:*",
+    "@d8d/yongren-shared-ui": "workspace:*",
+    "@d8d/yongren-statistics-ui": "workspace:*",
+    "@d8d/yongren-talent-management-ui": "workspace:*",
+    "@d8d/mini-enterprise-auth-ui": "workspace:*"
+    ```
+  - **Notes**: 保留 `@d8d/mini-shared-ui-components` 和其他依赖
+
+#### 阶段 6: Git 提交策略 (5分钟)
+
+- [ ] **Task 6.1**: 分阶段提交变更
+  - **Action**: 按以下顺序分阶段 commit,便于回滚
+    ```bash
+    # 阶段 2 完成后
+    git add mini/src/api/ mini/src/hooks/ mini/src/components/ mini/src/utils/ mini/src/types/
+    git commit -m "feat: 复制共享资源到 mini/src/ (UI包整合阶段1)"
+
+    # 阶段 3 完成后
+    git add mini/src/pages/
+    git commit -m "feat: 复制页面组件到 mini/src/pages/ (UI包整合阶段2)"
+
+    # 阶段 4 完成后
+    git add mini/src/
+    git commit -m "refactor: 调整导入路径为相对路径 (UI包整合阶段3)"
+
+    # 阶段 5 完成后
+    git add mini/package.json
+    git commit -m "chore: 移除 yongren-* 和 mini-enterprise-auth-ui workspace 依赖 (UI包整合阶段4)"
+    ```
+  - **Notes**: 分阶段提交确保每个阶段可独立回滚
+
+#### 阶段 7: 验证与测试 (20分钟)
+
+- [ ] **Task 7.1**: 清理并重新安装依赖
+  - **Action**: 在项目根目录运行 `cd /mnt/code/188-179-template-6 && pnpm install`
+  - **Notes**: 确保依赖正确更新
+
+- [ ] **Task 7.2**: 类型检查
+  - **Action**: 运行 `pnpm run typecheck`
+  - **Notes**: 修复所有类型错误
+
+- [ ] **Task 7.3**: 编译验证
+  - **Action**: 运行 `pnpm run dev:weapp`
+  - **Notes**: 确认编译成功,无错误
+
+- [ ] **Task 7.4**: 热重载验证 (详细步骤)
+  - **Action**:
+    1. 启动开发服务器后,保持运行
+    2. 修改 `mini/src/pages/yongren/dashboard/index.tsx` 任意代码(如添加注释)
+    3. 观察终端输出,确认自动重新编译
+    4. 确认没有 "正在构建 UI 包" 相关输出
+  - **Notes**:
+    - 热重载应立即生效(1-3秒内),无需等待 UI 包构建
+    - 如果超过 5 秒才编译完成,视为失败
+    - 至少测试 3 次修改,确保稳定性
+  - **失败标准**: 编译时间 > 5秒 或 出现 "构建 UI 包" 输出 → 需要排查问题
+
+- [ ] **Task 7.5**: E2E 测试
+  - **Action**: 使用 Playwright MCP 遍历各页面功能
+  - **Notes**: 验证登录、首页、人才列表、订单列表、数据统计、设置页面
+
+- [ ] **Task 7.6**: UI 验证
+  - **Action**: 使用图片 MCP 截图对比各页面
+  - **Notes**: 确认 UI 渲染正确无误
+
+### Acceptance Criteria
+
+- [ ] **AC 1**: Given 开发环境已启动 `pnpm run dev:weapp`,当修改任意页面代码时,then Taro 开发服务器应在 1-3 秒内自动重新编译,终端输出显示编译完成,无需等待 UI 包构建,且页面自动刷新显示更改
+- [ ] **AC 1.1** (补充验证): Given 修改代码后,当观察终端输出时,then 应该看到类似 "Compiled successfully" 或 "✓ built" 的提示,**不应**看到任何关于构建 UI 包的输出
+- [ ] **AC 1.2** (补充验证): Given 修改代码并等待编译完成后,当刷新小程序时,then 页面应显示最新的更改内容
+
+- [ ] **AC 2**: Given 用户已登录,当访问首页 `/pages/yongren/dashboard/index` 时,then Dashboard 页面应正常渲染
+
+- [ ] **AC 3**: Given 用户已登录,当访问人才列表页 `/pages/yongren/talent/list/index` 时,then 页面应正常渲染
+
+- [ ] **AC 4**: Given 用户已登录,当访问订单列表页 `/pages/yongren/order/list/index` 时,then 页面应正常渲染
+
+- [ ] **AC 5**: Given 用户已登录,当访问数据统计页 `/pages/yongren/statistics/index` 时,then 页面应正常渲染
+
+- [ ] **AC 6**: Given 用户已登录,当访问设置页面 `/pages/yongren/settings/index` 时,then 页面应正常渲染
+
+- [ ] **AC 7**: Given 访问登录页 `/pages/login/index` 时,then 页面应正常渲染,可以执行登录操作
+
+- [ ] **AC 8**: Given 执行 `pnpm run typecheck`,then 应无 TypeScript 类型错误
+
+- [ ] **AC 9**: Given 检查 `mini/package.json`,then 应不包含任何 `@d8d/yongren-*` 依赖
+
+- [ ] **AC 10**: Given 检查 `mini-ui-packages/` 目录,then 所有 `yongren-*` 包应保持不变
+
+- [ ] **AC 11**: Given 使用 Playwright MCP 访问 H5 版本小程序,当遍历所有页面时,then 页面应正常渲染,无控制台错误
+
+- [ ] **AC 12**: Given 使用图片 MCP 截图各页面,then 页面 UI 应与原设计一致
+
+- [ ] **AC 13**: Given 执行 `grep -r "@d8d/yongren-" mini/src/`,then 应该没有输出(所有 yongren 包导入已清理)
+
+## Additional Context
+
+### Dependencies
+
+**外部依赖**:
+- Taro 4.1.4 - 小程序开发框架
+- React 18 - UI 框架
+- TypeScript 5.x - 类型检查
+- Hono 4.8.5 - API 客户端
+- @tanstack/react-query - 数据获取
+
+**内部依赖** (保持):
+- `@d8d/mini-shared-ui-components` - 通用 UI 组件 (Navbar, TabBar 等)
+- `@d8d/allin-*` - 业务模块依赖 (按需保留)
+
+**内部依赖** (移除):
+- `@d8d/yongren-dashboard-ui` → 迁移到 `mini/src/`
+- `@d8d/yongren-order-management-ui` → 迁移到 `mini/src/`
+- `@d8d/yongren-settings-ui` → 迁移到 `mini/src/`
+- `@d8d/yongren-shared-ui` → 迁移到 `mini/src/`
+- `@d8d/yongren-statistics-ui` → 迁移到 `mini/src/`
+- `@d8d/yongren-talent-management-ui` → 迁移到 `mini/src/`
+
+### Testing Strategy
+
+**单元测试 (Jest)**:
+- 保留 `mini` 中的 Jest 单元测试
+- 新增组件和工具函数可添加 Jest 测试
+
+**端到端测试 (Playwright MCP)**:
+- 使用 Playwright MCP 访问 H5 版本小程序
+- 测试路径: `http://localhost:8080/mini`
+- 测试账号: 13800138005 / 123123
+- 测试流程: 登录 → 首页 → 人才列表 → 订单列表 → 数据统计 → 设置
+
+**UI 验证 (图片 MCP)**:
+- 使用图片 MCP 截图分析各页面渲染结果
+- 验证布局、样式、内容正确性
+
+**热重载验证**:
+- 修改任意页面代码,观察 Taro 开发服务器是否自动重新编译
+- 预期: 立即生效,无需等待 UI 包构建
+
+### Notes
+
+**回退方案**:
+- 原包 `mini-ui-packages/yongren-*` 和 `mini-enterprise-auth-ui` 保持不变,可作为参考
+- 如需回退,执行以下步骤:
+  1. 恢复 `mini/package.json` 中的 7 个依赖(6 个 yongren-* + mini-enterprise-auth-ui)
+  2. 删除 `mini/src/` 中新增的组件、API、hooks 文件
+  3. 恢复原有的桥接页面文件
+  4. 运行 `pnpm install` 重新安装依赖
+
+**风险提示**:
+- **命名冲突**: 多个包可能有同名组件,Task 2.10 会检测,需手动处理
+- **导入路径遗漏**: 组件内部可能有复杂的导入依赖,阶段 4 由 AI 逐个文件处理
+- **AI 处理精确性**: 阶段 4 由 AI 逐个文件处理,确保理解上下文,比脚本更可靠
+- **中间验证**: 每个验证点失败时需停止并修复,否则后续步骤会累积错误
+
+**验证点失败标准与回退触发条件**:
+
+| 验证点 | 失败标准 | 触发动作 |
+|--------|----------|----------|
+| 验证点 1 (Task 2.10) | 发现重复文件名或导出冲突 | 停止 → 手动处理(重命名/合并)→ 重新验证 |
+| 验证点 2 (Task 4.3) | grep 有残留输出 | 停止 → AI/手动处理残留 → 重新 grep 验证 |
+| 验证点 3 (Task 4.4) | typecheck 失败 | 停止 → 修复类型错误 → 重新 typecheck |
+| Task 7.2 (类型检查) | 有 TypeScript 错误 | 停止 → 修复错误 → 重新检查 |
+| Task 7.4 (热重载) | 编译 > 5秒 或有 UI 包构建输出 | 停止 → 排查问题 → 考虑回退 |
+
+**回退方案触发条件**:
+- 任意验证点失败且无法在 10 分钟内修复
+- 热重载验证失败(编译时间持续 > 5秒)
+- 出现意外的大量类型错误无法快速修复
+- 原包 `mini-ui-packages/yongren-*` 保持不变,可作为参考
+
+**后续优化** (不在本次范围):
+- 可考虑添加 TypeScript 路径别名 `@/` 简化导入
+- 可考虑统一 API 客户端的错误处理
+- 可考虑添加组件 Storybook 文档