Просмотр исходного кода

📝 docs(prd): 新增用人方小程序史诗文档

- 新增史诗011 PRD文档,详细描述用人方小程序功能实现计划
- 包含史诗目标、现有系统上下文、增强详情和故事列表
- 定义8个核心页面:登录页、首页/看板、人才列表页、人才详情页、数据统计页、订单管理页、企业设置页、视频查看下载页
- 明确技术栈:TypeScript、React、Hono RPC客户端、Tailwind CSS
- 指定集成点:基于史诗7,8,9,10移植的API模块和UI组件包
- 包含3个用户故事:API客户端集成、核心管理页面实现、数据统计与系统管理功能
- 定义兼容性要求、风险缓解措施、完成定义和测试策略
- 提供故事经理交接说明,确保与现有mini项目无缝集成
yourname 1 неделя назад
Родитель
Сommit
a353224ed5
1 измененных файлов с 179 добавлено и 0 удалено
  1. 179 0
      docs/prd/epic-011-employer-mini-program-implementation.md

+ 179 - 0
docs/prd/epic-011-employer-mini-program-implementation.md

@@ -0,0 +1,179 @@
+# 史诗011 - 用人方小程序功能实现
+
+## 史诗目标
+在mini项目中完整实现用人方小程序的所有页面功能,基于史诗7,8,9,10已移植的API模块基础,为企业用户提供残疾人就业管理的完整解决方案。
+
+## 史诗描述
+
+### 现有系统上下文
+
+**当前相关功能:**
+- **mini项目**:基础小程序前端,现有登录、注册、个人资料等基础页面
+- **API客户端**:已集成auth、user、role、file模块的RPC客户端(api.ts)
+- **史诗7,8,9,10成果**:已移植allin系统的7个后端模块和对应UI模块(channel、company、disability_person、order、platform、salary等)
+- **原型设计**:`docs/小程序原型/yongren.html` 提供了完整的8个页面原型设计
+
+**技术栈:**
+- 前端:TypeScript、React、Hono RPC客户端、Tailwind CSS
+- 测试:Jest(mini项目使用Jest,其他包使用Vitest)
+- API通信:基于Hono RPC的API客户端模式
+- 包管理:pnpm workspace
+
+**集成点:**
+- 需要将史诗7,8,9,10移植的allin系统模块API客户端集成到mini项目
+- 基于已有RPC客户端模式扩展新的API客户端
+- 复用史诗008移植的`@d8d/allin-*`系列UI组件包
+- 遵循mini项目现有的页面结构和路由配置
+
+### 增强详情
+
+**新增/变更内容:**
+在mini项目中实现用人方小程序的8个核心页面,包括:
+1. 登录页 - 企业用户手机号密码登录
+2. 首页/看板 - 企业概览、人才分配、数据卡片
+3. 人才列表页 - 人才搜索、筛选、分页展示
+4. 人才详情页 - 个人信息、工作历史、薪资、视频管理
+5. 数据统计页 - 可视化图表、残疾类型分布、性别年龄分布等
+6. 订单管理页 - 订单列表、状态管理、打卡数据统计
+7. 企业设置页 - 企业信息、账号管理、安全设置
+8. 视频查看下载页 - 企业/个人维度的视频管理
+
+**页面功能基于:**
+- `docs/小程序原型/yongren.html` 完整原型设计
+- 史诗7,8,9,10移植的API模块提供数据支持
+- 缺失的API接口进行增补实现
+
+**集成方式:**
+1. **API客户端集成**:基于现有`api.ts`模式,新增allin系统模块的RPC客户端
+2. **UI组件复用**:复用史诗008移植的`@d8d/allin-*`系列UI包(channel、company、disability_person、order、platform、salary等)
+3. **页面结构**:遵循mini项目现有的页面目录结构(`src/pages/`)
+4. **路由配置**:使用现有的路由配置模式
+
+**成功标准:**
+1. 8个页面功能完整实现,符合原型设计要求
+2. 与史诗7,8,9,10移植的API模块无缝集成
+3. 保持mini项目现有功能的完整性(登录、注册、个人资料等)
+4. 通过Jest测试验证,包括组件测试和集成测试
+5. 遵循项目编码规范和UI组件使用规范
+
+## 故事列表
+
+### 故事011-01:API客户端集成与基础框架搭建
+**任务列表:**
+1. 分析史诗7,8,9,10移植的API模块,确定需要集成的RPC客户端
+2. 扩展`src/api.ts`,新增allin系统模块的RPC客户端
+3. 创建用人方小程序的基础布局组件(底部导航、状态栏等)
+4. 实现登录页面功能,与企业用户认证系统集成
+5. 配置用人方小程序的路由结构
+6. 编写API集成的基础测试
+
+**验收标准:**
+- [ ] allin系统模块RPC客户端成功集成到`api.ts`
+- [ ] 登录页面功能完整,支持企业用户手机号密码登录
+- [ ] 基础布局组件可用,符合移动端设计
+- [ ] 路由配置正确,页面导航正常
+- [ ] 现有mini项目功能不受影响
+
+### 故事011-02:核心管理页面实现(人才与订单)
+**任务列表:**
+1. 实现首页/看板页面,展示企业概览数据、在职人员统计、分配人才列表
+2. 实现人才列表页,支持按姓名、残疾证号搜索,按状态、残疾类型筛选
+3. 实现人才详情页,展示基本信息、工作信息、薪资信息、历史工作内容
+4. 集成人才相关的API接口(disability_person、order等模块)
+5. 实现薪资信息展示和历史薪资记录查看功能
+6. 添加个人征信信息展示和文件下载功能
+
+**验收标准:**
+- [ ] 首页数据展示正确,统计卡片实时更新
+- [ ] 人才列表搜索筛选功能正常,分页可用
+- [ ] 人才详情页信息完整,包含基本信息、工作历史、薪资数据
+- [ ] 薪资历史记录可查看,数据准确
+- [ ] 个人征信截图可预览和下载
+- [ ] API调用错误处理完善
+
+### 故事011-03:数据统计与系统管理功能
+**任务列表:**
+1. 实现数据统计页,包含残疾类型分布、性别分布、年龄分布、户籍省份分布等图表
+2. 实现订单管理页,展示订单列表、状态管理、打卡数据统计
+3. 实现企业设置页,包含企业信息展示、账号管理、安全设置等功能
+4. 实现视频查看下载页,支持企业维度和个人维度的视频管理
+5. 集成订单相关的API接口,支持订单状态管理和数据统计
+6. 添加数据导出和批量下载功能
+7. 完成全面测试和性能优化
+
+**验收标准:**
+- [ ] 数据统计图表正确显示,数据准确
+- [ ] 订单管理功能完整,支持查看、编辑、数据统计
+- [ ] 企业设置页面功能可用,账号信息可管理
+- [ ] 视频管理页面支持播放、下载、分享功能
+- [ ] 批量下载功能正常,支持企业维度批量操作
+- [ ] 所有页面响应式设计良好,移动端体验优秀
+- [ ] 性能测试通过,页面加载速度符合要求
+
+## 兼容性要求
+
+- [ ] 现有mini项目功能不受影响(登录、注册、个人资料等)
+- [ ] 遵循现有`api.ts` RPC客户端模式,新增客户端与原有客户端兼容
+- [ ] 使用一致的UI组件库,保持界面风格统一
+- [ ] 保持路由结构的统一性,新增路由不影响现有路由
+- [ ] 数据库schema变化保持向后兼容
+- [ ] 性能影响最小化,不影响现有功能响应速度
+
+## 风险缓解
+
+**主要风险:**
+1. API集成可能影响现有功能稳定性
+2. UI组件复用可能存在兼容性问题
+3. 数据统计图表性能可能影响页面加载速度
+
+**缓解措施:**
+1. **逐步集成**:每个API模块独立集成,分阶段测试验证
+2. **组件测试**:对复用的UI组件进行充分测试,确保兼容性
+3. **性能优化**:数据统计图表采用懒加载和分页,优化大数据量展示
+4. **回滚计划**:保持原有`api.ts`不变,新增独立客户端文件,便于回滚
+
+**回滚计划:**
+1. 如果新增功能导致严重问题,可临时移除新增路由,恢复原有功能
+2. API客户端变更可通过版本控制回退到上一个稳定版本
+3. 数据库变更设计为可逆操作,保留数据迁移脚本
+
+## 完成定义
+
+- [ ] 所有3个故事完成,验收标准全部满足
+- [ ] 8个页面功能完整,符合原型设计要求
+- [ ] API集成测试通过,包括正常流程和异常情况测试
+- [ ] 现有功能回归测试通过,确保无功能退化
+- [ ] 代码符合项目编码规范,通过代码审查
+- [ ] 文档更新完成,包括API接口文档和用户操作手册
+- [ ] 性能测试通过,页面加载时间在可接受范围内
+- [ ] 移动端适配良好,主流设备测试通过
+
+## 依赖关系
+
+- 依赖史诗7,8,9,10移植的API模块和UI组件包
+- 依赖现有mini项目的基础框架和构建配置
+- 依赖数据库schema与移植模块保持一致
+- 需要测试环境支持,包括API服务和数据库
+
+## 测试策略
+
+1. **单元测试**:对新增组件和工具函数进行Jest单元测试
+2. **集成测试**:测试API客户端与后端服务的集成
+3. **UI测试**:对页面交互和用户体验进行测试
+4. **性能测试**:验证数据统计页面的加载和渲染性能
+5. **兼容性测试**:测试不同设备和浏览器的兼容性
+6. **回归测试**:确保现有功能不受影响
+
+---
+
+**故事经理交接说明:**
+
+请为这个已有项目开发详细用户故事。关键考虑:
+
+- 这是对现有mini项目的增强,技术栈:TypeScript、React、Hono RPC、Tailwind CSS,测试使用Jest
+- 集成点:史诗7,8,9,10移植的allin系统API模块(channel、company、disability_person、order、platform、salary等)
+- 现有模式:遵循mini项目现有的api.ts RPC客户端模式、页面结构和路由配置
+- 关键兼容要求:不影响现有登录、注册、个人资料等功能,保持系统完整性
+- 每个故事必须验证现有功能保持完整
+
+史诗应在保持系统完整性的同时,为企业用户提供完整的残疾人就业管理功能,实现`docs/小程序原型/yongren.html`中的完整页面功能。