uni-app 安卓端一键登录报错20102其他错误30004
uni-app 安卓端一键登录报错20102其他错误30004
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
uni-app | 3.0 | 创建方式未知 |
产品分类:
uniCloud/腾讯云
操作步骤:
getPhoneNumber() { //一键登录
var that = this;
uni.login({ //正式登录,弹出授权窗
provider: 'univerify',
univerifyStyle: { // 自定义登录框样式
"fullScreen": true, // 是否全屏显示,true表示全屏模式,false表示非全屏模式,默认值为false。
"backgroundColor": "#ffffff", // 授权页面背景颜色,默认值:#ffffff
"phoneNum": {
"color": "#2281F5", // 手机号文字颜色 默认值:#000000
},
"icon": {
"path": "static/images/loginLogo.png" // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo
},
"authButton": {
"normalColor": "#3479f5", // 授权按钮正常状态背景颜色 默认值:#3479f5
"highlightColor": "#2861c5", // 授权按钮按下状态背景颜色 默认值:#2861c5(仅ios支持)
"disabledColor": "#73aaf5", // 授权按钮不可点击时背景颜色 默认值:#73aaf5(仅ios支持)
"textColor": "#ffffff", // 授权按钮文字颜色 默认值:#ffffff
"title": "本机号码一键登录" // 授权按钮文案 默认值:“本机号码一键登录”
}
},
success(res) { // 正式登录成功
console.log(res,'res正式登录成功!');
let authResult = {
accessToken: res.authResult.access_token,
openid: res.authResult.openid
}
console.log(authResult, 'authResult');
that.request({
method: 'POST',
url: 'login/sign',
data: authResult,
}).then(res => {
console.log(res,'res')
uni.showToast({
title: '登录成功'
})
uni.closeAuthView() //成功关闭授权页面
setTimeout(() => {
uni.switchTab({
url: '/pages/index/index'
})
plus.runtime.restart();
}, 500)
}).catch(err => {
console.error('Request failed:', err);
// 处理请求失败的逻辑
});
},
fail(err) { // 正式登录失败
console.log(err,'err');
uni.closeAuthView() //关闭授权登录界面
}
})
}
预期结果:
成功调用uni.login弹出一键登录页面
实际结果:
{
"errMsg": "login:fail -20102其他错误",
"errCode": 30004,
"code": 30004,
"appid": "B0wb0bPFw68Po4Ndc3kqt8",
"uid": "gtc_7af375057e3ed7737493172d9d836b8636"
}
bug描述:
点击一键登录后直接报错20102其他错误且没有一键登录弹窗
更多关于uni-app 安卓端一键登录报错20102其他错误30004的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
30004
login:fail -20102其他错误 Android:
确认开发者中心一键登录已添加应用并审核通过
检查开通一键登录时使用的签名证书和云打包时使用的签名证书一致
麻烦进群讨论:https://uniapp.dcloud.net.cn/univerify.html#question
更多关于uni-app 安卓端一键登录报错20102其他错误30004的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni-app 进行安卓端的一键登录时,遇到错误代码 20102
和 30004
通常是与第三方登录服务(如阿里云、腾讯云等)的 SDK 或配置相关的问题。以下是一些可能的原因和解决方案:
错误代码 20102
可能原因:
- 网络问题:设备网络连接不稳定或无法访问服务器。
- SDK 配置错误:未正确配置一键登录的 SDK,如 AppKey、AppSecret 等。
- 运营商不支持:当前设备所在的运营商不支持一键登录功能。
- 权限问题:应用未获取必要的权限(如网络权限、读取手机状态权限等)。
- SDK 版本问题:使用的 SDK 版本过旧或与当前系统不兼容。
解决方案:
- 检查设备的网络连接,确保网络正常。
- 确认 SDK 的配置是否正确,尤其是 AppKey 和 AppSecret。
- 确保应用已获取必要的权限,在
AndroidManifest.xml
中添加以下权限:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- 更新 SDK 到最新版本,确保兼容性。
- 如果问题仍然存在,联系第三方登录服务的客服,提供错误日志以获取进一步支持。
错误代码 30004
可能原因:
- 用户取消登录:用户主动取消了一键登录操作。
- 登录流程中断:登录流程被异常中断,如切换到其他应用或设备锁屏。
- SDK 初始化失败:SDK 未正确初始化或初始化超时。
- 运营商限制:当前运营商对一键登录功能有限制。
解决方案:
- 检查用户是否主动取消了登录操作。
- 确保登录流程不被中断,避免在登录过程中切换应用或锁屏。
- 确认 SDK 已正确初始化,检查初始化代码是否有误。
- 如果问题仍然存在,联系第三方登录服务的客服,提供错误日志以获取进一步支持。
通用排查步骤
- 检查日志:查看控制台或日志文件,获取详细的错误信息。
- 确认配置:确保
manifest.json
和AndroidManifest.xml
中的配置正确。 - 测试环境:在不同的设备和网络环境下测试,确认问题是否与特定环境相关。
- 更新 SDK:确保使用的 SDK 是最新版本。
- 联系客服:如果问题无法解决,联系第三方登录服务的客服,提供错误代码和日志以获取帮助。
示例代码(一键登录初始化)
在 manifest.json
中配置一键登录:
"app-plus": {
"plugins": {
"oauth": {
"appKey": "your_app_key",
"appSecret": "your_app_secret"
}
}
}
在页面中调用一键登录:
uni.login({
provider: 'univerify',
success: (res) => {
console.log('登录成功', res);
},
fail: (err) => {
console.log('登录失败', err);
}
});