# mine-service-settings Specification ## Purpose 承接“我的”深层服务与设置能力,包括消息订阅、评价、帮助、反馈、协议隐私、客服入口、清缓存和镜片防伪查询;在 PROFILE-001 我的首页聚合基础上提供真实接口封装、受控微信能力触发和跨模块预览/上传/IM 边界。写操作仅能由用户动作触发,页面生命周期不得自动发起。 ## Requirements ### Requirement: REQ-PROFILE-002-01 PROFILE-002 我的服务与设置 系统 MUST 按 PRI-MP-PROFILE-002 上下文包、功能点专项矩阵和集成队列裁定口径实现本模块能力,并保留跨模块契约、真实接口边界和人工联调边界。 - 历史追溯:本模块最初从已同步至 `develop@8471ecd` 的 `feature/PRI-MP-PROFILE-002-mine-service-settings` 分支开发;该记录不构成当前业务或验收要求。 - MUST:注册并实现消息订阅、我的评价、帮助问题、问题详情兼容壳、帮助反馈、用户协议、服务与设置、镜片防伪查询和客服入口页面。 - MUST:帮助文档、文件和外链预览复用 COMMON-002 `utils/preview.js`,不得自建 WebView/PDF/图片预览底层。 - MUST:订阅授权、评价提交、反馈提交、图片上传、防伪查询、拨打电话、隐私协议和清缓存均由用户动作触发;不得在页面加载时自动调用。 - MUST:我的评价严格使用旧版 `03100029` 入参 `admID/appraiseNote/grade/userCode/messageID`;用户点击提交即发送,成功后跳转 `/pages/mine/myConsultation/myConsultation`,不得额外插入旧版不存在的确认步骤。 - MUST:PROFILE-001 未集成时不得重做我的首页聚合;只能提供深层页面、现有我的页兼容入口和待开放态。 - MUST:客服入口不得实现 IM/TRTC 房间,IM/TRTC 划归 CONSULT-003。 - MUST:防伪查询不得硬编码结果;默认使用旧源码 `https://np.h03.p0551.com/erp/oppsisystem/api/puwx/getByCode.do`,请求体为 `{ code }`、方法为 POST、`content-type` 为 `application/x-www-form-urlencoded`;医院下发 host 时允许覆盖。域名未登记或调用失败时 MUST 展示失败兜底。 - MUST:覆盖当前模块功能点专项矩阵,并对每个功能点给出已实现、暂缓、划归其他模块、待确认或不属于本模块的结论。 - MUST:记录契约与依赖闭环,未完成依赖必须使用待开放、禁用态或安全兜底。 - MUST:自检报告包含新版设计基线、旧源码功能基线、视觉布局基线、真实接口与禁止模拟业务数据检查。 - MUST:提交待集成时列出共享文件清单、固定检查结果和人工联调项。 - MUST NOT:子 Agent 自行合并或推送 `develop`。 - MUST NOT:使用 mock、本地假接口、硬编码业务返回或静态业务数据替代真实接口。 - MUST NOT:在页面加载、显示、回跳或刷新时自动触发真实支付、医保、退款、订单创建、预约提交、实名/OCR/人脸、IM/TRTC 等高风险写操作;本模块的评价、反馈、上传和防伪请求必须由用户明确触发。 #### Scenario: 模块提交待集成 - Given PRI-MP-PROFILE-002 模块开发完成 - When 子 Agent 提交待集成材料 - Then OpenSpec strict、功能点矩阵闭环、契约与依赖闭环、共享文件清单、禁止 mock/硬编码扫描、人工联调项和固定检查结果 MUST 齐全。 #### Scenario: 帮助文档预览 - Given 医院接口返回帮助文档 URL - When 用户点击帮助问题条目 - Then 系统 MUST 调用 COMMON-002 `openPreview` 打开真实 URL,并在链接缺失或白名单失败时展示错误/空态。 #### Scenario: 高风险动作受控 - Given 用户在评价、反馈、上传、防伪或清缓存页面发起写操作或外部能力 - When 操作即将调用真实接口或微信能力 - Then 系统 MUST 先校验必要参数,并按旧版交互决定是否展示确认;不得在页面加载时自动触发真实写操作。 ### Requirement: REQ-PROFILE-002-02 我的页固定服务入口兼容 系统 MUST 允许我的页进入已实现的 PROFILE-002 固定服务页。 - MUST:仅允许由我的页源码固定定义的设置、消息订阅、评价、帮助问题、帮助反馈、用户协议、客服和镜片防伪页面从本地入口跳转。 - MUST NOT:为解决我的页入口问题而扩大全局首页动态菜单、动态消息或外部 URL 路由白名单。 - MUST:目标不存在或跳转失败时给出安全提示。 #### Scenario: 已实现的固定服务页跳转 - Given 用户点击我的页中已实现的固定服务项 - When 该项目标为本模块源码定义的已注册页面 - Then 系统 SHALL 打开目标页,且不影响动态消息入口的原有安全约束。