微信小程序如何再次获取用户授权的方法

时间:2021-05-18

现在在做一个小程序有地图的功能,通过点击按钮打开地图。调用wx.getlocation()这个接口是需要用户的授权。如果他授权了,返回一个success当然最好啦,就什么问题都没有了。如果他点了取消,返回一个fail,我就使用预设的经纬度打开一个定位。但是如果用户点击返回以后,再次点击按钮进入地图就会没有反应(如果一开始有授权的话就可以再次重新打开地图)。

有什么方法可以解决呢,或者怎样可以重新获取用户授权。毕竟叫他们删了重来的话,这样的体验好像不大好。。。

方法:A:单击隐藏图章wx.openSetting(OBJECT) 重新调用小程序授权,文档现在已经有了【以下是文档内容】

wx.openSetting(OBJECT)

调起客户端小程序设置界面,返回用户设置的操作结果

Object 参数说明:

参数 类型 必填 说明 success Function 否 接口调用成功的回调函数,返回内容详见返回参数说明。 fail Function 否 接口调用失败的回调函数 complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明 authSetting Object 用户授权结果,其中 key 为 scope 值,value 为 Bool 值,表示用户是否允许授权,详见scope 列表

示例代码:

wx.openSetting({ success: (res) => { /* * res.authSetting = { * "scope.userInfo": true, * "scope.userLocation": true * } */ }})

wx.getSetting(OBJECT)

获取用户的当前设置

Object 参数说明:

参数 类型 必填 说明 success Function 否 接口调用成功的回调函数,返回内容详见返回参数说明。 fail Function 否 接口调用失败的回调函数 complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数 类型 说明 authSetting Object 用户授权结果,其中 key 为 scope 值,value 为 Bool 值,表示用户是否允许授权,详见scope 列表

示例代码:

wx.getSetting({ success: (res) => { /* * res.authSetting = { * "scope.userInfo": true, * "scope.userLocation": true * } */ }})Map:function(){ wx.getLocation({ type: 'gcj02', success: function(res){ // success wx.openLocation({ latitude: res.latitude, longitude: res.longitude, scale: 28, })}, fail: function(res){ // fail wx.openLocation({ address:"获取授权失败 打开默认定位", //默认定位我就隐藏啦 latitude: XX.XX, longitude: XX.XX, scale: 28, }, wx.openSetting({ //重新请求获取定位 success: (res) => {}}) )}, })}

以上所述是小编给大家介绍的微信小程序如何再次获取用户授权的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章