史诗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个核心页面,包括:
- 登录页 - 企业用户手机号密码登录
- 首页/看板 - 企业概览、人才分配、数据卡片
- 人才列表页 - 人才搜索、筛选、分页展示
- 人才详情页 - 个人信息、工作历史、薪资、视频管理
- 数据统计页 - 可视化图表、残疾类型分布、性别年龄分布等
- 订单管理页 - 订单列表、状态管理、打卡数据统计
- 企业设置页 - 企业信息、账号管理、安全设置
- 视频查看下载页 - 企业/个人维度的视频管理
页面功能基于:
docs/小程序原型/yongren.html 完整原型设计
- 史诗7,8,9,10移植的API模块提供数据支持
- 缺失的API接口进行增补实现
集成方式:
- API客户端集成:基于现有
api.ts模式,新增allin系统模块的RPC客户端
- UI组件复用:复用史诗008移植的
@d8d/allin-*系列UI包(channel、company、disability_person、order、platform、salary等)
- 页面结构:遵循mini项目现有的页面目录结构(
src/pages/)
- 路由配置:使用现有的路由配置模式
成功标准:
- 8个页面功能完整实现,符合原型设计要求
- 与史诗7,8,9,10移植的API模块无缝集成
- 保持mini项目现有功能的完整性(登录、注册、个人资料等)
- 通过Jest测试验证,包括组件测试和集成测试
- 遵循项目编码规范和UI组件使用规范
故事列表
故事011-00:补充缺失的API接口
背景: 经过验证,现有allin系统移植模块的API不足以完全支持用人方小程序的所有功能需求,需要补充关键API接口。
任务列表:
- 企业用户认证API:扩展auth-module,支持企业用户手机号密码登录、退出登录、获取企业用户信息
- 企业统计API:扩展company-module,添加企业概览统计接口(在职人员、订单数、累计订单等)
- 人才扩展API:扩展disability-module,添加工作历史查询、薪资历史查询、个人征信信息查询、视频关联查询接口
- 订单统计API:扩展order-module,添加打卡数据统计、视频统计、企业维度订单查询接口
- 数据统计API:创建统计模块或扩展现有模块,提供残疾类型分布、性别分布、年龄分布、户籍分布、在职状态统计、薪资分布等统计接口
- 视频管理API:扩展file-module或创建视频管理模块,支持视频分类管理(工资视频、个税视频、打卡视频、工作视频)、企业/个人维度视频查询、批量下载功能
- 系统设置API:添加企业用户专属的设置接口(账号信息、安全设置、消息通知等)
- API文档与测试:为所有新增API编写文档和单元测试
验收标准:
故事011-01:API客户端集成与基础框架搭建
任务列表:
- 分析史诗7,8,9,10移植的API模块及故事011-00补充的API,确定需要集成的RPC客户端
- 扩展
src/api.ts,新增allin系统模块的RPC客户端,包括补充的API接口
- 创建用人方小程序的基础布局组件(底部导航、状态栏等)
- 实现登录页面功能,与企业用户认证系统集成
- 配置用人方小程序的路由结构
- 编写API集成的基础测试
验收标准:
故事011-02:核心管理页面实现(人才与订单)
任务列表:
- 实现首页/看板页面,展示企业概览数据、在职人员统计、分配人才列表
- 实现人才列表页,支持按姓名、残疾证号搜索,按状态、残疾类型筛选
- 实现人才详情页,展示基本信息、工作信息、薪资信息、历史工作内容、个人征信、视频管理
- 集成人才相关的API接口(disability_person、order等模块及补充API)
- 实现薪资信息展示和历史薪资记录查看功能
- 添加个人征信信息展示和文件下载功能
验收标准:
故事011-03:数据统计与系统管理功能
任务列表:
- 实现数据统计页,包含残疾类型分布、性别分布、年龄分布、户籍省份分布等图表
- 实现订单管理页,展示订单列表、状态管理、打卡数据统计、视频统计
- 实现企业设置页,包含企业信息展示、账号管理、安全设置等功能
- 实现视频查看下载页,支持企业维度和个人维度的视频管理
- 集成订单相关的API接口,支持订单状态管理和数据统计
- 添加数据导出和批量下载功能
- 完成全面测试和性能优化
验收标准:
兼容性要求
风险缓解
主要风险:
- API集成可能影响现有功能稳定性
- UI组件复用可能存在兼容性问题
- 数据统计图表性能可能影响页面加载速度
缓解措施:
- 逐步集成:每个API模块独立集成,分阶段测试验证
- 组件测试:对复用的UI组件进行充分测试,确保兼容性
- 性能优化:数据统计图表采用懒加载和分页,优化大数据量展示
- 回滚计划:保持原有
api.ts不变,新增独立客户端文件,便于回滚
回滚计划:
- 如果新增功能导致严重问题,可临时移除新增路由,恢复原有功能
- API客户端变更可通过版本控制回退到上一个稳定版本
- 数据库变更设计为可逆操作,保留数据迁移脚本
完成定义
依赖关系
- 依赖史诗7,8,9,10移植的API模块和UI组件包
- 依赖现有mini项目的基础框架和构建配置
- 依赖数据库schema与移植模块保持一致
- 需要测试环境支持,包括API服务和数据库
测试策略
- 单元测试:对新增组件和工具函数进行Jest单元测试
- 集成测试:测试API客户端与后端服务的集成
- UI测试:对页面交互和用户体验进行测试
- 性能测试:验证数据统计页面的加载和渲染性能
- 兼容性测试:测试不同设备和浏览器的兼容性
- 回归测试:确保现有功能不受影响
故事经理交接说明:
请为这个已有项目开发详细用户故事。关键考虑:
- 这是对现有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中的完整页面功能。