epic-011-employer-mini-program-implementation.md 11 KB

史诗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-00:补充缺失的API接口

背景: 经过验证,现有allin系统移植模块的API不足以完全支持用人方小程序的所有功能需求,需要补充关键API接口。

任务列表:

  1. 企业用户认证API:扩展auth-module,支持企业用户手机号密码登录、退出登录、获取企业用户信息
  2. 企业统计API:扩展company-module,添加企业概览统计接口(在职人员、订单数、累计订单等)
  3. 人才扩展API:扩展disability-module,添加工作历史查询、薪资历史查询、个人征信信息查询、视频关联查询接口
  4. 订单统计API:扩展order-module,添加打卡数据统计、视频统计、企业维度订单查询接口
  5. 数据统计API:创建统计模块或扩展现有模块,提供残疾类型分布、性别分布、年龄分布、户籍分布、在职状态统计、薪资分布等统计接口
  6. 视频管理API:扩展file-module或创建视频管理模块,支持视频分类管理(工资视频、个税视频、打卡视频、工作视频)、企业/个人维度视频查询、批量下载功能
  7. 系统设置API:添加企业用户专属的设置接口(账号信息、安全设置、消息通知等)
  8. API文档与测试:为所有新增API编写文档和单元测试

验收标准:

  • 企业用户可成功登录和获取企业信息
  • 企业概览统计接口返回正确的在职人员、订单数等数据
  • 人才详情页可查询到工作历史、薪资历史、个人征信信息
  • 订单管理页可获取打卡数据统计和视频统计
  • 数据统计页所有图表数据可通过API正确获取
  • 视频管理页支持按企业/个人维度查询和批量下载
  • 系统设置功能完整,账号信息可管理
  • 所有新增API通过单元测试,接口文档完整

故事011-01:API客户端集成与基础框架搭建

任务列表:

  1. 分析史诗7,8,9,10移植的API模块及故事011-00补充的API,确定需要集成的RPC客户端
  2. 扩展src/api.ts,新增allin系统模块的RPC客户端,包括补充的API接口
  3. 创建用人方小程序的基础布局组件(底部导航、状态栏等)
  4. 实现登录页面功能,与企业用户认证系统集成
  5. 配置用人方小程序的路由结构
  6. 编写API集成的基础测试

验收标准:

  • allin系统模块及补充API的RPC客户端成功集成到api.ts
  • 登录页面功能完整,支持企业用户手机号密码登录
  • 基础布局组件可用,符合移动端设计
  • 路由配置正确,页面导航正常
  • 现有mini项目功能不受影响

故事011-02:核心管理页面实现(人才与订单)

任务列表:

  1. 实现首页/看板页面,展示企业概览数据、在职人员统计、分配人才列表
  2. 实现人才列表页,支持按姓名、残疾证号搜索,按状态、残疾类型筛选
  3. 实现人才详情页,展示基本信息、工作信息、薪资信息、历史工作内容、个人征信、视频管理
  4. 集成人才相关的API接口(disability_person、order等模块及补充API)
  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. 数据库变更设计为可逆操作,保留数据迁移脚本

完成定义

  • 所有4个故事完成,验收标准全部满足
  • 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中的完整页面功能。