uni-app 一键登录无法使用 error 获取手机号失败 请稍后重试
uni-app 一键登录无法使用 error 获取手机号失败 请稍后重试
Bug Report
操作步骤:
打开 APP,等待若干分钟,点击一键登录,可以看到登录页,手机号码等元素都可以正常显示,但是无法登录拿 openid,access_token 换取不到 手机号码,提示:获取手机号失败,请稍后重试。
预期结果:
获取到手机号码
实际结果:
提示:获取手机号失败,请稍后重试。
bug描述:
打开 APP 过一段时间之后,一键登录无法使用,提示:获取手机号失败,请稍后重试。
退出重进也无法解决,必须得卸载重装才行,感觉像是 token 过期,但是我们每次都是重新调用 uni.login 重新获取 token,也是100%复现
请求入参:
{
"args": {
"path": "/",
"httpMethod": "POST",
"headers": {
"content-length": "251",
"x5-uuid": "e341aac329bab3940c3b50a934780920",
"x-client-ip": "被我注释掉了",
"x-forwarded-for": "被我注释掉了, 120.27.173.99, 39.96.130.165",
"accept": "*/*",
"x-real-ip": "被我注释掉了",
"x-sinfo": "on",
"host": "fc-mp-78c3db70-efb1-4c6d-9f0d-8311d506f004.next.bspapp.com",
"content-type": "application/json",
"x-forwarded-by": "172.28.211.109:80",
"accept-encoding": "gzip, deflate",
"user-agent": "python-requests/2.31.0"
},
"queryStringParameters": {},
"isBase64Encoded": false,
"body": "{\"openid\": \"被我注释掉了\", \"access_token\": \"被我注释掉了\"}"
},
"requestId": "ac1cd36d1705386501681155935"
}
[my-login-cf/ac1cd36d1705386501681155935/314ms/ERROR] 获取手机号失败,请稍后重试。
Error: 获取手机号失败,请稍后重试。
at w (/tmp/function/@common_modules/uni-cloud-verify/index.js:1:4474)
at Object.C [as univerify] (/tmp/function/@common_modules/uni-cloud-verify/index.js:1:5360)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
请求响应状态: fail
更多关于uni-app 一键登录无法使用 error 获取手机号失败 请稍后重试的实战教程也可以访问 https://www.itying.com/category-93-b0.html
已加开发者微信 继续跟进问题
更多关于uni-app 一键登录无法使用 error 获取手机号失败 请稍后重试的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni-app 进行一键登录时,如果遇到“获取手机号失败,请稍后重试”的错误提示,可能的原因和解决方法如下:
1. 检查一键登录配置
- SDK 配置:确保你已经在
manifest.json中正确配置了一键登录的 SDK。例如,对于微信小程序,你需要配置appid和secret。 - 权限配置:确保在
manifest.json中正确配置了相关权限,例如getPhoneNumber权限。
{
"mp-weixin": {
"appid": "your-appid",
"permission": {
"getPhoneNumber": {
"desc": "获取用户手机号"
}
}
}
}
2. 检查代码逻辑
- 获取手机号的代码:确保你在代码中正确地调用了获取手机号的 API。例如,对于微信小程序,你可以使用
uni.getPhoneNumber方法。
uni.getPhoneNumber({
success: (res) => {
console.log('获取手机号成功', res);
// 这里可以处理获取到的手机号
},
fail: (err) => {
console.error('获取手机号失败', err);
}
});
- 事件绑定:确保你已经将获取手机号的事件绑定到正确的按钮上。
<button open-type="getPhoneNumber" [@getphonenumber](/user/getphonenumber)="getPhoneNumber">获取手机号</button>

