[转]微信小程序联盟 跳坑《一百八十一》设置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.userInfowx.getUserInfo
scope.userLocationwx.getLocation, wx.chooseLocation
scope.addresswx.chooseAddress
scope.recordwx.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即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值