实务专题 · 交付验收

客户拒绝定位后,门店查询也应该能继续

“找附近门店”只是便利功能,不能因为用户拒绝定位就封住门店列表。先设计无定位路径:手动输入区域、阅读门店列表并查看联系方式。距离最近,也不代表有库存、档期或服务覆盖。

适用读者与交付决定

多门店零售及预约服务网站。把本题作为给建站或技术供应方的验收任务;需要真实系统证据的地方不能由演示文件代替。

官方依据与解释边界

Geolocation API 需要安全上下文与用户许可,失败时可通过错误回调处理。浏览器支持与定位质量有差异。 MDN: geolocation · 核对日期:2026年10月16日。

已填写教学例子

合成例子,不是真实客户案例。 输入、预期及反例如下;真实平台尚未按此例集成测试。

窄屏可横向滚动表格。

输入/情况检查口径预期结果
拒绝无坐标手动查询
超时无坐标可重试,保留手动
允许且有坐标估计位置排距离,不承诺可用

怎样执行验收

  1. 分别测试允许、拒绝和超时。
  2. 核对手动查询不需要定位许可,且可查看同等门店信息。
  3. 库存与预约放到具体门店的后续查询,不由距离推断。

如何解释结果与保留证据

例子选择回退路径,并不计算距离。缺少坐标时继续保持未知,不用0,0或IP推断的精确地址冒充。教学验收记录只保留权限状态与页面路径,不保存访问者位置。

适用边界

这些文件不会触发真实定位请求。不覆盖路线规划、紧急服务范围或区域可用性承诺。

离线复核

保存下方两份文件到同一目录,用Node22.13或更新版本执行。模型只验证有限输入,不代表真实服务或认证。 已填输入及预期输出 · 可检查的函数

node decision-check.mjs store-locator-permission-fallback.json