日渐增多的小程序需求,必然会存在形色各异的授权问题。今天就来跟大家一起学习一下如何玩转小程序的位置授权
App({ config: { 'permission': { 'scope.userLocation': { 'desc': '请开启位置授权' // 高速公路行驶持续后台定位 } }, } }) 复制代码
Page({ onLoad () { wx.getLocation({ success: (res) => {}, // 成功的回调 fail: (err) => {} // 失败的回调 }) } }) 复制代码
$invoke('LocationAuthModal', showModal): 通过对LocationAuthModal组件中的方法直接调用,在页面中弹出提示弹窗,效果如下(LocationAuthModal组件是我们自定义的弹窗,并且在页面中引用)
Button(open-type=”openSetting” bindopensetting=callback): 小程序基础库2.3.0版本开始,用户发生点击行为后,才可以跳转打开setting页面,管理设置授权信息。在完成设置后,在callback中获取到授权auth进行处理:
<button open-type="openSetting" @opensetting="callback">设置</button> 复制代码
callback: 设置完成后的回调函数
setting: 小程序的设置
auth: 设置完成后获取到的设置授权信息
auth[“scope.userLocation”] = true:开启了位置授权的设置,可以直接通过wx.getLocation拿到位置信息
else: 仍未开启位置授权,那么根据我们的需求是不能继续让用户使用的,所以会继续执行$invoke('LocationAuthModal', showModal),强制提醒用户开启位置授权
suceeCallback: 成功获取位置后的回调函数,用来处理获取到微信知悉后的操作