# 病案复印小程序申请入口:视觉与交互基线 ## 基线与适用范围 - 唯一视觉基线:`03-项目输入_project-inputs/02-新版设计_design/移动端原型/01-申请入口页.html`。 - 目标页面:`04-新项目源码_source/项目源码/pri-smart-hospital-miniprogram/packageMRC/pages/apply-entry/index.wxml`,及同目录 JS/WXSS/JSON。 - 无就诊人本地 Mock 添加流程的唯一视觉/交互基线:`03-项目输入_project-inputs/02-新版设计_design/移动端原型/09-添加就诊人页.html`;目标路由为 `/packageMRC/pages/patient-create/index`,必须注册在 `packageMRC` 分包。 - 适用模块:`MRC-MP-APPLY-001`;首页入口仅负责进入该页,不在本契约中重做首页。 - 交付原则:Demo 仅替换数据源为本地脱敏 Mock;页面结构、视觉层级、可操作交互和路由体验按原型实现。不得以“Demo”删除用户可见页面节点或把研发控制台作为患者首屏。 ## 原型节点到实现的强制映射 | 原型节点 | 目标 WXML 组件/语义 | 脱敏 Mock | 用户交互与目标 | 受限能力 | 375×812 截图检查点 | | --- | --- | --- | --- | --- | --- | | 顶部渐变院区栏(院区名称、服务胶囊) | `.hospital-header`、`.hospital-location`、`.service-cap` | `演示医院`、`病案复印` | 点击院区仅给出“本地演示不支持切换”提示;服务胶囊不可触发真实服务 | 无真实医院切换、定位或登录 | 首屏顶部为蓝绿渐变、白字院区与右侧胶囊,不得回退为普通白色标题栏 | | 轻量 Demo 标识/模式入口 | `.demo-mode-entry` 只能作为触发器,`.demo-mode-panel` 为独立面板;两者均不得属于患者首屏内容区域或 Hero | `Demo 数据` | 点击触发器打开/关闭面板;五个 V1 场景芯片和重置动作只能在 `.demo-mode-panel` 内操作,选择后刷新本页状态 | 不写本地持久化、不联网、不跨端同步 | 标识位于顶部辅助区域或悬浮轻入口;默认首屏不得出现场景芯片、revision 或重置动作 | | 病历复印服务 Hero | `.service-card`、图标、标题、说明、`.service-btn` | 服务说明为静态脱敏文案 | 点击“我要申请复印”校验本地演示就诊人后进入 `/packageMRC/pages/identity/index`;无就诊人时进入本地引导弹层 | 无真实身份、材料、上传或接口 | 22px 圆角蓝绿渐变卡;白色图标、标题、说明和白色圆角 CTA 均在首屏 | | 我的申请摘要 | `.my-application-card`、数量徽标、待办标签、箭头 | `MRC-DEMO-*`、匿名状态计数 | 点击进入 `/packageMRC/pages/my-applications/index`;列表、数量、待办随本端场景/申请变化 | 无真实订单、支付、物流、取消或网络 | Hero 下方白卡,图标、标题、徽标/待办、说明与右箭头层级完整;空态保留卡片与引导语 | | 就诊人区块标题 | `.section-title` | `就诊人` | 仅为信息层级,不单独触发动作 | 无 | 左侧青绿色短条与“就诊人”必须位于选择卡前 | | 当前就诊人选择卡 | `.patient-selector`、姓名/标签、下箭头 | `演示就诊人 A`、`默认`;不得使用真实姓名、证件、手机号 | 点击打开 `.patient-sheet`;选择一名脱敏演示就诊人后更新当前卡并关闭面板 | 无真实就诊人、实名认证或资料编辑 | 白色圆角卡,含“当前就诊人”、姓名/默认标签、下箭头;位置在申请摘要之后 | | 无就诊人引导与添加流程 | `.patient-add-card`、`bindtap="openPatientCreate"` | 无患者场景 | 点击“添加就诊人”导航至 `/packageMRC/pages/patient-create/index`;该页本地完成模拟填写/校验后创建 `演示就诊人 N`,返回入口并回填为当前就诊人 | 无真实实名认证、账号、OCR、资料写入或网络 | 空态以虚线卡替代选择器;CTA 必须可点击并实际离开入口页,不得停留在“不可用”弹层 | | 就诊人底部选择面板 | `.patient-sheet`、`.sheet-item`、选中态、取消 | 两个匿名演示就诊人,性别年龄仅可为演示占位 | 点击遮罩/取消关闭;点击列表项选中并回填主卡 | 无编辑、删除、真实人员查询 | 底部圆角抽屉、标题“选择就诊人”、单选标记与安全区完整;不以页面跳转替代抽屉 | | 温馨提示卡 | `.notice-card`、提示列表 | 静态合规提示;不得含真实收费/个人信息 | 无主操作;长文可随页面滚动 | 不承诺真实时效、支付、快递或院内数据 | 暖色浅底、橙色描边/图标、标题及三条提示可读,位于就诊人区块之后 | | 原型底部导航语义 | `.bottom-nav`、首页/账单/消息/我的 | 本地静态宿主导航状态 | “首页”仅以 `wx.switchTab` 返回既有宿主首页;其余项使用既有宿主可达路由,缺失时提示不可用且不伪造跳转 | 不新增宿主业务页、不改已有 TabBar 配置、不调用网络或其他宿主业务能力 | 固定底部白色导航、四项图标/文案、首页高亮,内容不被安全区遮挡 | ## 本地 Mock 添加就诊人页契约 `/packageMRC/pages/patient-create/index` 必须以 `09-添加就诊人页.html` 的微信导航栏、表单分组、下一步主按钮、返回与首页语义为视觉和交互基线。该页面属于完整本地 Demo 流程,不是“暂不支持”提示页。 | 原型节点 | 目标语义 | 本地 Mock 交互 | 数据与限制 | 截图检查点 | | --- | --- | --- | --- | --- | | 微信导航栏与返回/首页 | 页面标题“添加就诊人”、返回、首页 | 返回不创建数据;首页回宿主首页 | 不改变宿主导航配置 | 顶部层级、标题居中、返回/首页触控区域对齐 `09-添加就诊人页.html` | | 姓名、证件类型、证件号、手机号、验证码表单 | 与原型一致的表单行、选择器、验证码/下一步按钮 | 输入、选择、行内校验、焦点/禁用/错误态均真实可操作;“获取验证码”只反馈本地演示验证码状态 | 不调用短信、实名认证、OCR 或服务端校验;提交值不展示或持久化为 PII | | 本地 Mock 完成与回填 | 提交成功提示、返回申请入口 | 通过本地 Adapter 生成 `演示就诊人 N` 和非敏感演示标识;`navigateBack` 后入口 `onShow` 读取 Adapter 并显示为当前就诊人 | 仅内存状态;不写 Storage、文件或网络;不得保留用户输入的姓名/证件/手机号 | 成功提示后返回入口;当前就诊人卡出现匿名名称和默认/已选标签 | 本页可保留原型字段和校验反馈以验证未来上线时的操作体验,但 Demo 提交只能调用无参数的 Adapter 匿名创建动作,不能把任一表单 payload 传入 Adapter。任何手输个人信息均不得回显、写入日志、Storage 或 Mock 固定数据。 ## 交互与路由验收规则 1. 首屏的唯一主 CTA 是“我要申请复印”,患者首屏内容区域、Hero、我的申请、就诊人和提示卡中不得出现 `SCN-*` 场景芯片、revision、重置动作或研发术语。 2. 场景切换是验收辅助能力,必须由 `.demo-mode-entry` 打开 `.demo-mode-panel`;每一个 `.chip-row` 场景芯片组都必须在 WXML 的 `.demo-mode-panel` 祖先节点内。`.demo-mode-entry` 仅负责触发,不能作为芯片组的祖先放宽条件,芯片组也不得存在于患者首屏内容区域。场景切换、重置和错误提示只作用于小程序本地内存 `mrc-demo-state/v1` Adapter。 3. 申请、我的申请、就诊人抽屉、无就诊人引导和底部导航均须有真实可点击反馈与确定的关闭/返回路径;无就诊人 CTA 与确认必须进入本地 Mock 添加就诊人页并回填匿名患者,不能停留或显示为不可用。仅真实外部能力可保留原型布局并给出明确本地 Demo 不可用说明。 4. 所有展示值使用脱敏 Mock;不得展示真实姓名、手机号、证件、病案号、地址、支付凭据、物流单号,且不得发起 HTTP 请求。`patient-create` 的原始姓名、证件号、手机号等输入仅可用于本页行内校验,提交后不得进入 Adapter 快照、日志、Storage、固定 Mock 数据或任何回显;Adapter 只能生成匿名演示就诊人。`patient-create` 页面与 MRC Demo Adapter 均不得调用 `wx.request`、任何上传/选文件能力、任何 Storage API,或引用既有就诊人服务(`patientMaintenance`、`patientSelector`、`homePatient`)和 `pages/mine/patientEdit` 页面。 5. 本契约的静态最低门槛由 `tests/mrc-apply-entry-visual-contract.test.js` 守护;该测试通过不等同于视觉验收通过。 ## 375×812 视觉走查证据 每次页面整改至少留存以下截图,设备为微信开发者工具 375×812,100% 缩放,无浏览器外壳: | 编号 | 场景 | 必须核对 | | --- | --- | --- | | VC-APPLY-01 | 默认有就诊人首屏 | 顶部渐变、Hero、CTA、我的申请、就诊人卡、提示卡、底部导航的顺序、留白、圆角、阴影与色阶对齐原型 | | VC-APPLY-02 | 打开演示模式 | 演示模式是辅助面板;关闭后首屏恢复为患者视图,场景芯片不留在主卡 | | VC-APPLY-03 | 打开并选择就诊人 | 抽屉动画/遮罩、选中态、取消、回填均可用且主页面不闪烁 | | VC-APPLY-04 | 无就诊人状态 | 虚线引导卡 CTA 进入本地 Mock 添加就诊人页;返回后回填匿名患者,不跳转到真实认证 | | VC-APPLY-05 | 点击申请与我的申请 | 申请进入身份页;我的申请进入列表;返回可回到入口且保留本端演示状态 | | VC-APPLY-06 | 添加就诊人页与回填 | 按 `09-添加就诊人页.html` 走完表单、错误态和本地 Mock 成功路径;返回入口后患者卡已更新 | 未提供上述页面截图、操作录屏或等价的开发者工具证据前,模块维持“开发中(Demo)”,不得转为视觉验收通过。