切换主题
授权设置
当前能力
平台已提供按宿主用户和 App ID 保存的标准授权设置,当前标准 scope 为 scope.userLocation。原生确认交互、SDK 方法与实际定位适配器仍需双端联调验收。
小程序通过 SDK 查询或打开宿主设置界面。应用后端和 JS 不能持宿主 Token 直接修改用户选择。
查询结果
SDK 对小程序只暴露 authSetting。宿主 HTTP 响应中的 revisions 是并发控制材料,不是业务用户资料。
从未作出选择时:
json
{"authSetting": {}}已拒绝或已允许时分别为:
json
{"authSetting": {"scope.userLocation": false}}json
{"authSetting": {"scope.userLocation": true}}未出现的键表示未请求,不能把它当成已拒绝或已同意。
用户操作流程
- 在实际使用定位功能时解释用途,由宿主展示可信确认界面。
- 宿主记录首次选择;重复首次请求返回已有决定,不覆盖用户拒绝。
- 用户需要修改时主动进入宿主设置页。宿主读取最新 revision,再提交本次选择。
- 并发冲突时重新查询并展示当前选择,由用户再次确认,不自动重放旧修改。
授权记录跨运行实例保存;版本升级和业务登录失效不等于撤销授权。账号切换后查询的是新用户的记录。
授权不等于可调用
true 仅代表平台保存的用户选择。版本声明、平台能力开关、系统定位权限、配额与真实适配器都需要满足,SDK 应分别展示相关失败。
手机号不属于标准 scope;元界资料复用是独立扩展,不能混入本页的 authSetting。拒绝定位不能阻止普通身份登录。