# [Iteration 2 测试草稿] PRD — 本地生活服务门店详情页(全新虚构场景,未出现在 train/test/已知案例中) > 虚构 BRD(用于本轮泛化测试,非真实案例): > - in_scope:门店详情页展示门店名称/图片/评分/营业时间/地址;页面提供"预约到店"按钮, > 点击后跳转到已存在的预约页(预约页本身不在本次范围内,只做跳转);响应式布局。 > - out_of_scope:在线支付、用户评论区、商家管理后台、多语言。 > - success_metrics:①"访客看完门店详情后,能判断这家店是否符合自己的到店意愿,并愿意 > 点击预约"(转化类,命中附录C"意愿/引导/下一步"关键词,触发 Step 5B);②"门店信息应 > 让人感觉真实可信"(体验类形容词,触发 Step 4 描述性语言处理,不是 Step 5B 业务度量—— > 注意区分:这条不涉及"要不要行动",是对信息呈现质量的要求,走 Step 4 量化路径而非 > Step 5B 翻译成功能路径)。 ## 1. 功能清单 | ID | 功能陈述 | |---|---| | F-1 | 访客打开门店详情页时,页面展示门店名称、至少 1 张门店图片、评分、营业时间、地址五项信息 | | F-2 | 访客点击"预约到店"按钮,页面跳转到预约页路由 `/booking?storeId={当前门店ID}` | | F-3 | 访客在任意设备宽度下打开详情页,五项信息正常呈现,不出现横向溢出 | ## 2. 行为规则 - **信息完整性**:五项信息(名称/图片/评分/营业时间/地址)任一项缺失时按 Step 3 边界规则处理, 不允许静默留空导致布局错位。 - **门店图片(Step 4 量化"真实可信"里"信息呈现"相关的一部分)**:详情页展示门店图片 **至少 3 张**(非 1 张,因为"只有 1 张图"和"真实可信"的可信度诉求存在直接冲突—— 用户对只放 1 张图的门店信任度天然更低,这是本轮把"真实可信"拆解出的第一个可验证子判据), 图片来源为商家上传的真实门店照片(非占位图/示意图),每张 ≥ 300×200px。 - **评分展示(Step 4 量化"真实可信"第二个子判据)**:评分必须同时展示数值(如 4.6)和 评分来源的样本量(如"基于 128 条评价"),只展示数值不展示样本量视为不满足"真实可信"—— 孤立数值无法让访客判断可信度,"128 条评价"这个具体数字才是可信度的实际来源。 - **地址(Step 4 量化"真实可信"第三个子判据)**:展示完整地址文本 + 可点击跳转到地图应用 的入口(不要求内嵌地图组件,跳转外部地图 App 即可满足"可信"的判据——用户能验证地址真实 存在,而不需要页面本身渲染地图)。 - **预约按钮**:位置固定在页面底部/侧边悬浮(响应式下两种呈现二选一,需在 SDD 阶段定具体 断点,此处只约束"始终在首屏内可见或悬浮可达",不约束具体 CSS 实现方式)。 ## 3. 异常与边界 | 场景 | 必须表现 | |---|---| | 空 | 门店图片数 <3 张(商家未上传够)→ 用官方统一占位图补足到 3 张展示位,占位图需与真实图片 有明显视觉区分(如加"暂无更多实拍图"角标),不得用占位图冒充真实图片破坏"真实可信"判据 | | 超长 | 门店名称/地址文本超长换行,不裁切、不覆盖相邻元素,区块高度自适应 | | 越权 | 不适用:本页面无鉴权/权限分级场景(详情页公开可见) | | 并发 | 连续快速点击"预约到店"按钮,只触发一次跳转,不产生多次路由 push 或多个页面实例 | | 失败重试 | 门店图片加载失败(403/超时)→ 显示预设错误占位图,不留空白破图;评分数据接口失败 → 显示"评分加载失败"文案,不展示为 0 分(避免 0 分被误读为真实评分) | ## 4. 内容深度要求 营业时间字段:不能只写"营业中"三个字(信息密度不足,无法判断具体时段),必须展示 具体时间区间(如"周一至周日 10:00-22:00"),若存在特殊节假日调整,需能展示例外说明字段 (非强制填写,但字段本身要存在,不能因为常规情况够用就不留扩展空间)。 ## 5. 可判真假的验收线索 | 功能/规则 | 怎么算做到了 | |---|---| | F-1 信息完整性 | DOM 中五项信息节点均存在且非空(图片计数 ≥3 或占位图补足到 3) | | F-2 预约跳转 | 点击按钮后 `location.pathname` 变为 `/booking`,query 含 `storeId` 且值等于当前门店ID | | F-3 无横向溢出 | 同 iteration_1 惯例:多断点下 `scrollWidth <= innerWidth` | | **真实可信-图片数量** | DOM 中真实图片节点(非占位图 class)计数 ≥3,或"真实图片+占位图"总数=3 且占位图有明显区分标记(可查 class/角标节点是否存在) | | **真实可信-评分样本量** | 评分区块 DOM 中同时存在数值节点与"基于 N 条评价"文本节点,N 可被解析为正整数 | | **真实可信-地址可验证** | 地址文本节点非空 + 存在指向外部地图 App 的可点击链接节点(href 含地图协议/URL) | | **内容深度-营业时间** | 营业时间文本可解析出具体时间区间格式(如正则匹配 `\d{1,2}:\d{2}-\d{1,2}:\d{2}`),不是"营业中"这类无法解析出区间的文案 | | **转化-预约按钮可见性** | 首屏截图或 `getBoundingClientRect` 核验按钮初始可见,或悬浮定位下 `position: sticky/fixed` 生效 | ## 6. 需求可追溯性 | BRD in_scope | 覆盖它的 PRD 条目 | |---|---| | 门店详情页五项信息 | F-1,§2 信息完整性 | | 预约到店按钮跳转已存在的预约页 | F-2,§2 预约按钮位置规则 | | 响应式布局 | F-3 | success_metrics①(转化类)→ 由 F-2 + §5"转化-预约按钮可见性"承接(按钮跳转路径明确, 且规定了必须在首屏可见/悬浮可达,不是放在页面很深处几乎不会被点到)。 success_metrics②("真实可信"体验类形容词)→ 按 Step 4 处理(不走 Step 5B,因为它不是 "要不要行动"的转化度量,是信息呈现质量诉求),拆解为图片数量/评分样本量/地址可验证 三个已量化子判据,均在 §5 有对应验收行。 out_of_scope 四条(支付/评论/管理后台/i18n)本 PRD 均未涉及,预约页本身路由存在但页面 内容不在本次范围内,PRD 只约束"跳转到该路由"这一行为,未替预约页做任何设计(未越权)。 ## 7. 继承的排除范围 在线支付、用户评论区、商家管理后台、多语言 i18n、预约页本身的页面设计。