阅读(4303)
赞(9)
百度智能小程序 提前向用户发起授权请求
2020-08-13 16:28:17 更新
swan.authorize
解释: 提前向用户发起授权请求。
方法参数
Object object
object 参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
scope | String | 是 | 需要获取权限的 scope,详见 scope 列表 | |
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例
图片示例
代码示例
<view class="wrap">
<view class="card-area">
<button s-for="item in items" id="{{item.id}}" bind:tap="authorize" type="primary" hover-stop-propagation="true">{{item.name}}</button>
</view>
</view>
Page({
data: {
items: [{
name: '授权获取用户信息',
id: 'scope.userInfo'
}, {
name: '授权获取位置信息',
id: 'scope.userLocation'
}, {
name: '授权保存到相册',
id: 'scope.writePhotosAlbum'
}, {
name: '授权获取收货地址',
id: 'scope.address'
}, {
name: '授权获取发票抬头',
id: 'scope.invoiceTitle'
}, {
name: '授权获取录音功能',
id: 'scope.record'
}, {
name: '授权使用摄像头',
id: 'scope.camera'
}]
},
authorize(e) {
let scope = e.currentTarget.id;
swan.authorize({
scope,
success: res => {
swan.showToast({
title: '已成功授权',
icon: 'none'
});
},
fail: err => {
if (err.errCode === 10003) {
swan.showToast({
title: '用户已拒绝授权申请,请自建提示,引导用户开启授权',
icon: 'none'
});
}
}
});
}
});
Bug & Tip
- tip:授权操作为异步操作,完成前请不要多次调用。
错误码
通用错误码
错误码 | 错误码显示信息 | 说明 |
---|---|---|
10001 | internal error | 服务器数据异常 |
10002 | network error | 网络异常、请求超时,请查看您的网络设置。 |
10003 | user deny | 用户拒绝授权 |
10004 | user not logged in | 用户未登录,建议提示用户登录。 |
10005 | system deny | 系统拒绝授权,可能原因:未申请接口授权;用户未开启百度 APP 相关权限。 |
Android
错误码 | 说明 |
---|---|
1001 | 执行失败 |
10001 | 内部错误 |
11001 | 未知错误 |
11003 | 用户取消授权 |
iOS
错误码 | 说明 |
---|---|
202 | 解析失败,请检查参数是否正确 |
10001 | 内部错误 |
10002 | 网络请求失败 |
10004 | 用户拒绝(user not login) |