当前位置:首页 > Windows程序 > 正文

设置API:wx.openSetting,wx.getSetting使用说明(示例:地图授权与取消授权后的重新授

这个API解决了过去一个长久以来无法解决的问题,如何让用户重复授权;

打开小程序的设置界面:就是主动调取授权



目前资料极少,但是已经可以让大家先看看了;

官方文档地址:


基础库版本 1.1.0 开始支持,低版本需做兼容处理

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



目前的授权影响范围:

scope 说明:

scope   对应接口  
scope.userInfo   wx.getUserInfo  
scope.userLocation   wx.getLocation, wx.chooseLocation  
scope.address   wx.chooseAddress  
scope.record   wx.startRecord  



相关文章:

微信小程序重新调起授权用户信息,扫码进入小程序获取二维码携带参数
wx.openSetting,wx.setClipboardData,wx.getClipboardData
微信小程序最新更新--api测试一览

技术图片


微信小程序之新版本测试

相关讨论:
wx.openSetting()怎么判断success里面 用户有没有授权了我写的

[AppleScript] 纯文本查看 复制代码

1

2

3

4

5

6

7

8

9

 

wx.openSetting({

      success:(res)=>{

          console.log("授权结果..")

        console.log(res)

        if(!res.authSetting.scope.userInfo || !res.authSetting.scope.userLocation){

            applyNotice()

        }

      }

    })

 


不正常啊,res的authSetting两个对象,两个对象的键名是scope.userInfo和scope.userLocation都是带了 . 的,怎么判断用户都授权了呢?我的小程序需要用户授权才能使用服务呢。做的事基于LBS的共享服务,没有定位和用户登录,就无法获取服务器上的区域划分的数据。用户就看不了自己周围的地图和自己的用户信息

[AppleScript] 纯文本查看 复制代码

1

2

3

4

5

6

7

8

9

 

wx.openSetting({

      success:(res)=>{

          console.log("授权结果..")

        console.log(res)

        if(!res.authSetting["scope.userInfo"] || !res.authSetting["scope.userLocation"]){

            applyNotice()

        }

      }

    })

 

试试上述改动。



打印出来的console的可以判断了,对象还可以像数组一样键值调用,谢谢啦!

 


相关讨论:
用户取消后如何再次调出允许授权的modal?
如果用户错点了拒绝,就没办法再继续进入使用小程序了。能重新再调出许可的小窗让用户重新再选择吗?
答:林超

使用 接口


技术图片

相关讨论:

关于用户授权界面的唤醒
用户如果不小心拒绝了授权,之前是过十分钟之后还可以被唤醒,最近发现不醒了,一直是:"getUserInfo:fail auth deny",该如何应对?
答:Tïedào

//如下,在getUserInfo失败后调用wx.openSetting即可

 

如下是我的真实示例:

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/9767.html