// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_user',
success: function(loginRes) {
console.log('authCode========' + loginRes.authCode);
// 请求登录接口
userModel.login({
code: loginRes.authCode
}).then(res => {
// 储存userId
setUserId(res.data.id)
// 储存用户信息
setUserInfo(res.data)
})
}
})
// #endif
- 发布:2023-01-28 16:23
- 更新:2023-01-28 16:23
- 阅读:452
【报Bug】调用支付宝原生API my.getAuthCode时,在支付宝开发者工具上没有唤起授权界面,直接走了success回调,但getSetting里显示userInfo未授权
产品分类: uniapp/小程序/阿里
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10 21H2
HBuilderX类型: 正式
HBuilderX版本号: 3.6.18
第三方开发者工具版本号: Version 3.3.3
基础库版本号: 2.8.3
项目创建方式: HBuilderX
操作步骤:
预期结果:
能自动唤起授权页面
能自动唤起授权页面
实际结果:
不能唤起授权界面,且直接走了success回调
不能唤起授权界面,且直接走了success回调
bug描述:
问题描述:
使用支付宝原生api my.getAuthCode,scopes设置为auth_user,正常应该唤起授权页面,但在uniapp编译到支付宝开发工具中没有唤起,直接走了success回调。
正常结果:
弹出授权界面供用户选择授权。
环境和资源信息:
操作系统:windows10
Hbuilder X: 3.6.18
支付宝开发者工具:v3.3
Vue版本:Vue3
代码如下:
// #ifdef MP-ALIPAY
my.getAuthCode({
scopes: 'auth_user',
success: function(loginRes) {
console.log('authCode========' + loginRes.authCode);
// 请求登录接口
userModel.login({
code: loginRes.authCode
}).then(res => {
// 储存userId
setUserId(res.data.id)
// 储存用户信息
setUserInfo(res.data)
})
}
})
// #endif
// 检查授权情况
uni.getSetting({
success(res) {
console.log("getSetting===", res, Object.keys(res.authSetting))
// 用户信息是否授权
setHasUserInfo(res.authSetting.userInfo || false)
setHasPhone(res.authSetting.phoneNumber || false)
}
})
PS: authSetting中是空数组,证明用户没有授权
支付宝在线文档和体验demo
文档和在线demo