design.md 4.8 KB

Context

项目负责人已将首个开发目标限定为前端 Demo MVP:在现有医院小程序与 HIS 前端源码基础上演示“申请—审核/核算—交付—进度”核心闭环。输入区已有小程序、HIS 前端与 IRIS/HIS 后端源码,但 04-新项目源码_source/ 尚未形成开发基线。现有 26 个模块仍是生产范围的唯一业务拆分,全部处于待评审,且既有 active change 均未通过 strict 校验。

Demo 只要求两个独立运行时按照同一可切换场景契约分别完成端侧验证;不要求、也不允许跨端读取同一运行时状态。真实 HIS、支付、物流、账号和环境输入仍不可用,因此 Demo 不得调用或模拟为真实服务端能力。

Goals / Non-Goals

Goals:

  • 建立三套获授权输入源码的可追溯、安全新源码快照,供后续 Demo 开发使用。
  • 在唯一项目总控和进度表中区分正式生命周期状态与当前交付类型 Demo。
  • 规定两端独立本地场景与契约一致性核对的边界,以及从 Demo 进入真实接口阶段的重新评审要求。

Non-Goals:

  • 不修改 PRHIS-main,不创建 IRIS 业务、表、接口或数据迁移。
  • 不接入真实 HIS、支付、物流、身份认证、生产环境或真实个人数据。
  • 不将现有 26 个生产模块的待评审状态伪装为已完成;不以 Demo 验收替代真实接口验收。

Decisions

1. 以三套源码快照作为新工程基线

在 04-新项目源码_source/项目源码/ 下保留 pri-smart-hospital-miniprogram/、cloudhis-pr/ 和 PRHIS-main/ 三个同名根目录。来源目录保持只读;副本才是后续开发目标。快照不携带嵌套 Git 元数据、环境文件、证书、私钥、依赖缓存和构建产物。

选择快照而不是直接修改输入资料,原因是输入资料必须保留为可回溯证据;选择保留后端快照但锁定只读,原因是后续接口定位需要同一基线,但本期不允许把 Demo 扩展为后端开发。

2. Demo 使用标准生命周期状态与独立交付类型

纳入 Demo MVP 的小程序和 HIS 前端模块照常经过“待评审 → 待开发 → 开发中 → 待验收 → 已验收 → 已归档”。在唯一进度表、模块 YAML 和交付报告中增加 delivery_type: Demo,展示时可附加“(Demo)”。

后端与集成模块的生产状态保持“待评审”;它们可作为 Mock 字段、状态与场景的只读来源,但不产生 Demo 开发完成结论。真实接口阶段必须创建新的变更并重新验收;届时当前交付类型才切换为正式,历史 Demo 证据保留。

3. 独立本地场景契约是 Demo 基础设施

在 mrc-demo-platform/ 中维护静态脱敏场景、契约与一致性资料,不建立运行时服务。小程序和 HIS 前端各自通过 MRC Demo Adapter 在本端运行种子副本;具备场景选择、状态重置和明显的“演示数据”标识。

选择同一场景契约与各端本地状态,是为了避免后端和网络依赖,同时保持字段、状态、种子和错误语义可核对;不选 IRIS/HIS、云服务或本地 Mock 服务,是因为本期明确不涉及后端、跨端同步和真实环境。

Risks / Trade-offs

  • [输入源码含潜在敏感配置] → 复制前后仅做不展示内容的路径级扫描;明确排除敏感配置文件,候选源码记录为风险,发现实际密钥即停止复制相关文件并登记。
  • [Mock 被误认为真实能力] → 只在 Demo 配置启用,页面显示演示标识,验收报告列出未验证的真实接口边界。
  • [两端并行修改公共路由或请求层冲突] → 场景契约先串行维护;后续只保留小程序、HIS 前端两条端侧流水线,端内串行开发。
  • [Demo 状态与正式业务规则偏离] → 两端独立场景必须关联相同设计图、模块编码和契约版本;真实接口阶段重新复审,不以 Demo 数据作为接口契约证据。

Migration Plan

  1. 完成治理记录、Demo MVP 范围表和安全源码快照。
  2. 记录基线 commit、来源摘要、排除项和验证结果,在 develop 串行集成。
  3. 后续维护本地场景契约资料与端侧 Demo 实现变更;各前端模块经 Demo 复审后领取。
  4. 真实接口资料齐备后,针对相应模块创建接口接入变更,完成真实联调与正式验收;若需要回退,恢复到 Demo 基线 commit,不触碰输入资料。

Open Questions

  • Demo MVP 的具体情景集合、费用表现和交付方式仍须在模块复审中以已评审设计图确认;不得从历史草稿补造。
  • 现有小程序和 HIS 前端的本地运行依赖、构建命令及可运行性将在源码基线验证中如实记录;缺依赖或失败不阻断快照建立,但会阻断对应端的开发领取。