my.showauthguide(object object)
支付宝客户端 10.0.18 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
主体: 企业支付宝小程序 、 个人支付宝小程序
相关文档: my.getsysteminfo 、 my.getsetting
弹出图文提示对话框,引导用户打开并授予支付宝指定权限
小程序中的部分 api(如 my.chooseimage、my.chooselocation 等)或功能涉及手机上特定设备/隐私数据的使用,需要用户在系统设置里开启相关功能/授权给支付宝。如果相关权限缺失,而该权限对于小程序的使用又不可缺少,建议使用 my.showauthguide 给予用户引导
- 调用 my.showauthguide 时,如果指定的权限类型已被授予,在 ios 上不会再次弹出引导,但在 android 的某些版本/机型上针对部分权限每次都会弹出引导。因而,请先通过 my.getsysteminfo 判断权限开启/授予情况,或在目标 api 调用失败以后,再酌情调用 my.showauthguide。可点此查看示例。
- my.chooseimage 等 api 的成功调用也依赖用户在支付宝里授权给当前小程序,可点此查看示例,相关内容可参考 my.getsetting 文档简介部分的描述。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
authtype | string | - | 是 | 引导的权限标识,用于标识该权限类型 |
|||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
success | function | - | 否 | 调用成功的回调函数 |
|||||||||||||||||||||||||||||||
fail | function | - | 否 | 调用失败的回调函数 |
|||||||||||||||||||||||||||||||
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
success 回调函数
参数
object res
属性 | 类型 | 描述 |
---|---|---|
shown | boolean | 是否已显示 引导授权 弹框 |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
2 | 参数错误 |
请使用文档中提供的 authtype 类型。 |
my.showauthguide({
authtype: "lbs"
});
page({
getlocationexample1() {
my.getsysteminfo({
success(res) {
if (res.locationenabled && res.locationauthorized) {
my.getlocation({
complete: (res) => my.alert({ title: "getlocation compete", content: json.stringify(res)}),
});
} else {
console.log(`${res.locationenabled} ? "定位权限未授予支付宝" : "定位功能未开启"`);
my.showauthguide({ authtype: "lbs" });
}
}
});
},
});
page({
getlocationexample2() {
my.getlocation({
success: (res) => my.alert({ title: "getlocation success", content: json.stringify(res) }),
fail: (res) => {
if (res.error == 11) {
console.error("定位功能未开启或定位权限未授予支持宝");
my.showauthguide({ authtype: "lbs" });
} else {
console.error('getlocation failed: ', json.stringify(res));
}
}
});
},
});
-
tip调用 my.showauthguide 时,如果指定的权限类型已被授予,在 ios 上不会再次弹出引导,但在 android 的某些版本/机型上针对部分权限每次都会弹出引导。因而,请先通过 my.getsysteminfo 判断权限开启/授予情况,或在目标 api 调用失败以后,再酌情调用 my.showauthguide。
-
tipmy.chooseimage 等 api 的成功调用也依赖用户在支付宝里授权给当前小程序,相关内容可参考 my.getsetting 文档简介部分的描述。
-
tip可通过
my.caniuse('showauthguide.object.authtype.bluetooth')
检测蓝牙的引导权限是否支持。 -
tip在 ios 设备中,如果从未尝试使用过某个系统权限,则该权限在应用的系统级权限设置页面里不会罗列,这是 ios 系统特性。 建议在 ios 端尽量不要在使用某个系统权限之前申请权限,避免用户在应用的系统级权限设置页面里找不到该系统权限。