问题描述:
使用支付宝原生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