小程序模板网

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

有什么方法可以解决呢,或者怎样可以重新获取用户授权?

 
 
 

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

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

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

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

Object 参数说明:

 

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

success返回参数说明:

 

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

示例代码:

 

		
  1. wx.openSetting({
  2. success: (res) => {
  3. /*
  4. * res.authSetting = {
  5. * "scope.userInfo": true,
  6. * "scope.userLocation": true
  7. * }
  8. */
  9. }
  10. })
  11. wx.getSetting(OBJECT)

获取用户的当前设置

Object 参数说明:

 

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

success返回参数说明:

 

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

示例代码:

 

		
  1. wx.getSetting({
  2. success: (res) => {
  3. /*
  4. * res.authSetting = {
  5. * "scope.userInfo": true,
  6. * "scope.userLocation": true
  7. * }
  8. */
  9. }
  10. })
  11.  
  12. Map:function(){
  13. wx.getLocation({
  14. type: 'gcj02',
  15. success: function(res){
  16. // success
  17. wx.openLocation({
  18. latitude: res.latitude,
  19. longitude: res.longitude,
  20. scale: 28,
  21. })},
  22.  
  23. fail: function(res){
  24. // fail
  25. wx.openLocation({
  26. address:"获取授权失败 打开默认定位",
  27. //默认定位我就隐藏啦
  28. latitude: XX.XX,
  29. longitude: XX.XX,
  30. scale: 28,
  31. },
  32. wx.openSetting({
  33. //重新请求获取定位
  34. success: (res) => {}})
  35. )},
  36. })
  37. }


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/18150.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询