BX Mobile 对齐 Web 功能设计
日期: 2026-04-29
项目: bx 报销子系统
范围: bx/bx-mobile 对齐 bx/bx-web(功能一致优先)
1. 目标与边界
1.1 目标
- 将
bx/bx-mobile 业务功能补齐到与 bx/bx-web 一致。
- 优先保证业务流程、权限可达性、状态流转一致。
- 推进顺序按 web 菜单顺序逐页对齐,确保可跟踪、可验收。
1.2 已确认约束
- 一致性标准:功能一致优先(允许移动端交互形态差异)。
- 改造范围:前后端均可调整(
bx/bx-mobile + bx/bx-backend)。
- 执行顺序:按 web 菜单顺序逐页对齐。
1.3 非目标
- 不做像素级视觉完全复制。
- 不做与“功能一致”无关的大规模重构。
2. 对齐策略
采用“菜单驱动逐页对齐 + 闭环验收”:
- 建立 web->mobile 对照清单(页面、API、动作、权限、状态)。
- 逐页补齐功能遗漏与界面遗漏。
- 每页完成即联调,验证关键业务闭环。
- 每一批完成后执行角色回归与流程回归。
该策略优先降低漏项风险,并保证进度透明。
3. 菜单级任务分解
3.1 第一批(备用金链路)
advance-apply(备用金申请)
- 对齐:新建/编辑/提交、附件绑定、金额校验、草稿与已提交区分。
advance-approve(备用金审批)
- 对齐:待审批列表、详情、同意/驳回、审批意见、审批记录。
advance-issue(备用金发放)
- 对齐:待发放列表、实际发放金额、发放备注、发放结果追溯。
3.2 第二批(报销与支付链路)
reimburse-apply(报销申请)
- 对齐:标题生成、费用项联动、明细维护、附件、保存/提交。
reimburse-approve(报销审批)
- 对齐:待审批/已审批列表、审批动作、意见、审批历史。
payment(支付处理)
- 对齐:待支付、支付确认、单笔冲抵、批量冲抵、冲抵记录查询。
3.3 第三批(个人与汇总视角)
mine(我的申请单)
todo(待我审批)
all(全部申请单)
3.4 第四批(后台配置能力)
user-manage
role-manage
menu-manage
project
wf-advance
wf-reimburse
对齐原则:保留移动端可用交互,但不能降低功能能力与结果一致性。
4. 数据流设计
4.1 API 访问约束
- 页面仅通过
bx/bx-mobile/src/api/index.ts 调用接口。
- 不在页面组件中直接拼接后端 URL。
- 参数命名对齐 web;必要时在 API 层做参数适配映射。
4.2 状态流转一致性
- 统一状态链路:
draft -> pending -> approved/rejected -> paid/offset。
- 状态文案、按钮可用性、列表过滤行为与 web 一致。
4.3 附件链路一致性
- 上传文件后拿附件 ID,再做业务绑定,最后提交业务单据。
- 禁止“附件已上传但未关联业务单”的无主数据残留。
4.4 权限一致性
- 路由守卫 + 页面操作按钮双层校验。
- 无权限时入口不可见,且直链访问也不可执行敏感动作。
5. 错误处理与交互保护
- 接口错误分层:网络错误、鉴权错误、业务校验错误分开处理。
- 提交类操作统一防重:loading + disabled。
- 表单失败后保留输入;附件失败支持单文件重试。
- 空数据区块显示统一空态,不隐藏信息区块。
- 金额/关键字段异常时禁止提交并定位错误项。
6. 测试与验收口径
6.1 页面验收(逐页)
每页至少通过以下五项:
- 入口可达
- 列表正确
- 详情正确
- 关键动作可执行
- 状态回写正确
6.2 角色验收
至少覆盖四类角色:
ADMIN
FINANCE
GENERAL_MANAGER
- 普通申请人
6.3 流程验收
- 备用金:申请 -> 审批 -> 发放 -> 记录追溯。
- 报销:申请 -> 审批 -> 支付/冲抵 -> 记录追溯。
6.4 一致性验收标准
- 同账号、同筛选条件下,web 与 mobile 的:
6.5 完成判定
- 核心链路无阻塞缺陷。
- 关键页面无高优先级缺陷。
- 菜单对齐清单全部关闭。
7. 风险与缓解
风险:web 与 mobile 字段口径不一致。
缓解:以 API 层做字段归一,页面只消费统一结构。
风险:支付/冲抵规则复杂导致回归缺陷。
缓解:先覆盖金额计算与状态回写的核心用例,再扩展边界用例。
风险:后台配置页在移动端交互复杂。
缓解:优先保障功能可达,复杂交互分步提交,不牺牲能力。
8. 实施后续
本设计确认后,进入实现计划阶段:
- 使用
writing-plans 生成可执行任务计划(含文件路径、步骤、测试命令、验收标准)。
9. 批次范围冻结(按实现计划)
- Batch-1:
advance-apply、advance-approve、advance-issue
- Batch-2:
reimburse-apply、reimburse-approve、payment
- Batch-3:
mine、todo、all
- Batch-4:
user-manage、role-manage、menu-manage、project、wf-advance、wf-reimburse