1 获取用户授权设置:wx.getSetting(Object object)
获取用户的当前授权情况,返回值中只会出现小程序已经向用户请求过的权限
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 回调函数
res object:对象中的authsetting记录着授权信息
属性 | 类型 | 说明 |
---|---|---|
authSetting | AuthSetting | 用户授权结果 |
- 用户信息:scope.userInfo
- 地理位置:scope.userLocation
- 通讯地址:scope.address
- 发票抬头:scope.invoiceTitle
- 发票:scope.invoice
- 微信运动步数:scope.werun
- 录音功能:scope.record
- 是否授权保存到相册:scope.writePhotosAlbum
- 是否授权摄像头:scope.camera
1.1 使用案例
查看小程序是否有获取用户信息的权限
wx.getSetting({
success(res) {
console.log(res.authSetting['scope.userInfo']))
}
})
2 发起授权请求:wx.authorize(Object object)
向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,如果用户之前已经同意授权,则不会出现弹窗,直接返回成功
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
scope | string | 是 | 需要获取权限的 scope | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
2.2 使用案例
获取用户地理位置
// 通过 wx.getSetting 先查询小程序是否有获取用户地理位置的权限,如果没有则向用户发起授权请求。
wx.getSetting({
success(res) {
if (!res.authSetting['scope.userLocation']) {
wx.authorize({
scope: 'scope.userLocation',
success() {
//授权后的业务逻辑
}
})
}
}
})
3 小程序的官方授权列表
scope | 对应接口 | 描述 |
---|---|---|
scope.userInfo | wx.getUserInfo | 用户信息 |
scope.userLocation | wx.getLocation, wx.chooseLocation | 地理位置 |
scope.address | wx.chooseAddress | 通讯地址 |
scope.invoiceTitle | wx.chooseInvoiceTitle | 发票抬头 |
scope.invoice | wx.chooseInvoice | 获取发票 |
scope.werun | wx.getWeRunData | 微信运动步数 |
scope.record | wx.startRecord | 录音功能 |
scope.writePhotosAlbum | wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum | 保存到相册 |
scope.camera | <camera /> 组件 | 摄像头 |