design.md 5.2 KB

Context

移动端原型确认了申请入口、申请链子页面与我的申请的视觉和主要路径,但现有子页尚未还原原型,历史模块材料同时含有未授权的真实宿主能力及过多生产状态。本期 Demo 只验证小程序本地 Mock 场景,须将页面行为收敛到 V1,同时保留完整患者页面结构、操作反馈和页面跳转。

本整改变更仅以本目录的当前 Proposal、Design、Tasks、Spec 和已评审原型作为授权与验收依据;历史旧规格中涉及真实宿主患者、接口、支付或扩展状态的表述不构成本轮授权或验收依据,无需改写历史文档。

Goals / Non-Goals

Goals:

  • 展示服务入口、脱敏演示申请人、创建申请和我的申请列表;场景切换/重置收纳于演示模式面板,不占用患者首屏内容。
  • 用 V1 六种状态映射展示申请进度,并让后续模块可接收本地 Demo 路由参数。
  • 从小程序本地 Adapter 读取全部展示数据,明确显示 Demo 数据。
  • 无就诊人时进入 packageMRC/pages/patient-create/index,完成本地匿名创建并回填申请入口;页面视觉/交互以 09-添加就诊人页.html 为基线。
  • 完整还原 10 个既有申请链子页和新增 address-create,自定义导航、滚动区、固定 CTA、步骤/状态、表单、卡片、时间轴和受控提示均以对应 HTML 原型为基线。
  • 申请表单可进入本地 address-create;地址页只在 Page data 校验原始输入,提交后仅生成匿名地址标签并返回回填。

Non-Goals:

  • 不读取真实宿主就诊人、地址、登录或订单接口;不调用真实新增就诊人、支付、退款、物流、通知或其他宿主业务能力。仅允许本地底部导航通过 wx.switchTab 返回既有宿主首页,不调用网络能力。
  • 不实现真实材料上传、真实身份认证、真实病案查询、真实提交、真实地址服务、支付、退款、物流或任何后端接口;但必须实现这些原型对应页面的本地匿名 Demo 布局、选择、校验、受控提示和跳转。
  • 不实现 V1 外的待补缴、待支付、驳回、取消、真实筛选统计或行内提示业务规则。

Decisions

本地匿名添加就诊人取代真实宿主能力

入口页仅经 V1 Adapter 展示匿名 applicant / patient,不得读取既有宿主就诊人,也不得调用真实新增就诊人接口。无就诊人 CTA 进入新增 packageMRC/pages/patient-create/index:该页按原型完成本地输入、校验和提交反馈,但提交时不得向 Adapter 传入任何表单 payload,Adapter 只生成 演示就诊人 N 与非敏感标识;返回入口后由 onShow 回填。页面不得暗示真实实名认证、短信验证或身份验证已完成。

受控测试状态不进入患者 UI

Adapter 可导出 setPatientsForTest,但它只接受固定匿名 fixture 标识 EMPTY 与 TWO_ANONYMOUS,拒绝对象和任何含患者原始信息的参数;该 API 仅用于自动化测试隔离场景。申请入口与添加就诊人页面的 WXML/JS 均不得引用它,患者 UI 只读取普通匿名快照。

场景芯片仅属于演示模式面板

SCN-* 场景芯片、revision 和重置是验收辅助能力,不是患者页面内容。.demo-mode-entry 只作为轻量触发器;芯片组只能渲染在其打开的 .demo-mode-panel 内。Hero、我的申请、就诊人、提示卡及其他首屏患者内容区域不得出现该控制信息。

状态映射只覆盖 V1

列表只显示 pending_audit、accounting、processing、shipping、pickup、completed 的演示文案及时间轴摘要。原型中其余状态仅作为后续正式/第二阶段范围,不在本模块伪造。

页面只发出后续模块路由意图

“继续申请”和“查看详情/进度”只携带 Demo orderId 和 revision 进入后续页面;在下游模块尚未实现时显示受控“功能待接入 Demo”提示,不跳转至既有页面。

本地匿名地址页取代真实地址服务

address-create 按 04-2-新增地址页.html 提供姓名、手机号、所在地区、详细地址和地区选择交互。原始输入仅用于当前页面的行内校验,不得发送给 Adapter。保存后本地 Adapter 只能生成如“匿名演示地址(已选择)”的无敏感标签,申请表单 onShow 读取该标签完成回填。地址选择/保存全程不得调用 wx.chooseAddress、网络、Storage、日志或既有地址服务。

Risks / Trade-offs

  • [与完整原型存在功能差异]:真实外部身份/短信能力仍排除;但原型中添加就诊人的患者路径以本地匿名闭环实现,不得再以提示替代。
  • [本地场景契约未就绪]:契约校正先串行维护;未可用时页面失败关闭。
  • [申请创建与后续表单衔接]:只创建 V1 最小订单,完整本地表单链不得要求真实患者、地址或接口字段。

Migration Plan

  1. 本地场景契约校正合入后,在小程序独立工作区实现本模块。
  2. 以匿名场景完成添加就诊人回填、申请创建与列表刷新验证。
  3. 正式接口阶段新建变更,重新引入宿主患者能力和完整状态规则。

Open Questions

  • 无阻断 Demo 开发的开放问题。