# wx.authorize(Object object)
基础库 1.2.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
微信 Windows 版:支持
相关文档: 授权
# 功能描述
提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 用户授权。
# 参数
# Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
scope | string | 是 | 需要获取权限的 scope,详见 scope 列表 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
# 注意事项
- 小游戏内使用
wx.authorize({scope: "scope.userInfo"})
,不会弹出授权窗口,请使用 wx.createUserInfoButton - 需要授权
scope.userFuzzyLocation
时必须配置地理位置用途说明。
# 示例代码
// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.writePhotosAlbum" 这个 scope
wx.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success () {
// 用户已经同意保存到相册功能,后续调用 wx.saveImageToPhotosAlbum 接口不会弹窗询问
wx.saveImageToPhotosAlbum()
}
})
}
}
})