design.md 3.5 KB

Context

现有小程序是本期 Demo 的技术基线,但宿主首页、登录态、就诊人、地址、支付、订阅消息和配置下发均为既有功能或真实接口边界。本期仅允许新增病案复印页面;小程序仅在本端使用 mrc-demo-platform 的脱敏场景契约,不与 HIS 前端共享运行时状态。

Goals / Non-Goals

Goals:

  • 新增独立 packageMRC/ 分包及病案复印 Demo 入口;仅在既有首页智慧服务菜单新增单一 病案复印(Demo) 本地项,复用既有菜单与跳转机制。
  • 以小程序 Demo Adapter 隔离页面与共享状态契约,确保页面不含真实接口地址、真实账号或敏感数据。
  • 为后续 MP-APPLY-* 和 MP-ORDER-001 提供统一的 Demo 入口、演示标识和受控错误能力。

Non-Goals:

  • 除 2026-09-16 明确授权的单一本地 Demo 菜单项及其白名单路由外,不改造宿主首页宫格;不实现真实宿主桥接、登录、就诊人、地址、支付、订阅消息、配置缓存或错误上报。
  • 不修改既有页面、公共组件、请求封装或生产配置;不实现任何后端、生产权限或真实联调。

Decisions

独立分包与受控首页 Demo 入口

采用 packageMRC/ 新增分包和演示入口。为使验收人员可从宿主首页进入,2026-09-16 的明确授权允许在既有“智慧服务”菜单增加一个 病案复印(Demo) 本地必备项;它复用现有的菜单去重、白名单和 navigateTo 分发,唯一患者目标为 /packageMRC/pages/apply-entry/index。/packageMRC/pages/entry/index 保留为开发工具路由,首页不展示该项;若服务端返回该历史路由(含无前导 /),菜单归一化必须改写为患者入口,以保证只存在一个病案复印菜单。其他首页宫格挂载、运营配置和宿主能力仍保留给后续正式接口变更。

备选方案是将入口写入服务端运营配置,但会引入真实接口/配置依赖;另一个备选是修改既有页面临时跳转,也会改变既有行为,均不采用。

以 Adapter 连接本地场景

页面只能调用小程序 Demo Adapter;Adapter 在本端实现 getSnapshot、场景切换/重置、申请创建和订单动作读取等 V1 语义。页面不得直接读取种子数据、与 HIS 前端通信或回退调用真实接口。

Demo 标识与失败关闭

新增页面持续显示“Demo 数据”标识。没有启用 Demo Adapter、场景不存在或流转非法时,页面显示受控错误并停止当前动作,不允许转用宿主真实能力。

Risks / Trade-offs

  • [首页菜单与服务端数据不一致] → 使用本地必备菜单和既有去重逻辑确保仅出现一个 Demo 入口;该项仅用于本期 Demo 验收。
  • [场景种子在两端漂移] → 以 V1.1 契约的场景编号、字段与状态映射进行核对;不建立通信或服务。
  • [既有模块材料含生产/历史内容] → 本变更和后续 Demo 复审记录优先于历史描述;真实宿主桥接另建正式接口变更。

Migration Plan

  1. 新建分包、Adapter 和演示入口,保持既有页面不变。
  2. 以 V1 契约完成模块级测试和 Demo 验收。
  3. 正式接入时,新建变更并以真实宿主能力替换 Adapter;Demo 代码和证据保留至完成正式验收后再决定迁移策略。

Open Questions

  • 本期没有影响页面开发的开放问题。小程序 Adapter 只实现本地内存场景,不配置网络传输层。