本文转自:
这个API解决了过去一个长久以来无法解决的问题,如何让用户重复授权;
打开小程序的设置界面:就是主动调取授权
目前资料极少,但是已经可以让大家先看看了; 官方文档地址:
基础库版本 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()怎么判断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] 纯文本查看 复制代码
123456789wx.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即可