[转]微信小程序联盟 跳坑《一百八十一》设置API:wx.openSetting使用说明


本文转自:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=4066

 

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

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

目前资料极少,但是已经可以让大家先看看了;
官方文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/setting.html#opensettingobject

基础库版本 1.1.0 开始支持,低版本需做兼容处理
微信客户端 6.5.6 版本开始支持
调起客户端小程序设置界面,返回用户设置的操作结果

目前的授权影响范围:

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? 如果用户错点了拒绝,就没办法再继续进入使用小程序了。能重新再调出许可的小窗让用户重新再选择吗? 答:林超

使用 wx.openSetting接口
相关讨论:
关于用户授权界面的唤醒 用户如果不小心拒绝了授权,之前是过十分钟之后还可以被唤醒,最近发现 不醒了,一直是:"getUserInfo:fail auth deny",该如何应对? 答: Tïedào
//如下,在getUserInfo失败后调用wx.openSetting即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM