wx.openSetting(Object object)
调起客户端小程序设置界面,返回用户设置的操作结果。设置界面只会出现小程序已经向用户请求过的权限。
注意:2.3.0 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。详情
参数object
object.success 回调函数参数 res
示例代码
wx.openSetting({
success(res) {
console.log(res.authSetting)
// res.authSetting = {
// “scope.userInfo”: true,
// “scope.userLocation”: true
// }
}
})
重大通知
由于不少开发者滥用此接口,使用户在无任何操作时,不断地强行跳转至设置页,导致用户无法正常使用甚至无法退出小程序。
为保证用户获得更顺畅的小程序使用体验,避免此类滥用情况,我们对该接口进行了调整。
调整后“打开小程序设置页”将支持以下两种实现方式:
- 方法1:使用 button 组件来使用此功能,示例代码如下:
<button open-type="openSetting" bindopensetting="callback">打开设置页</button>
- 方法2:由点击行为触发wx.openSetting接口的调用,示例代码如下:
<button bindtap="openSetting">打开设置页</button> openSetting() { wx.openSetting() }
方法2已在最新版开发者工具中支持(基础库切到2.2.4及以上),开发者可以尽早适配。
wx.getSetting(Object object)
获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
参数object
object.success 回调函数参数 res
示例
wx.getSetting({
success(res) {
console.log(res.authSetting)
// res.authSetting = {
// “scope.userInfo”: true,
// “scope.userLocation”: true
// }
}
})
打印结果
{scope.record: true, scope.userLocation: true, scope.userInfo: true}
AuthSetting
用户授权设置信息,详情参考权限
属性
boolean scope.userInfo
是否授权用户信息,对应接口 wx.getUserInfo
boolean scope.userLocation
是否授权地理位置,对应接口 wx.getLocation, wx.chooseLocation
boolean scope.address
是否授权通讯地址,对应接口 wx.chooseAddress
boolean scope.invoiceTitle
是否授权发票抬头,对应接口 wx.chooseInvoiceTitle
boolean scope.invoice
是否授权获取发票,对应接口 wx.chooseInvoice
boolean scope.werun
是否授权微信运动步数,对应接口 wx.getWeRunData
boolean scope.record
是否授权录音功能,对应接口 wx.startRecord
boolean scope.writePhotosAlbum
是否授权保存到相册 wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum
boolean scope.camera
是否授权摄像头,对应 组件