8***@qq.com
8***@qq.com
  • 发布:2023-07-03 10:01
  • 更新:2023-07-03 14:40
  • 阅读:872

一键登录安卓无法唤起 30004

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 3.8.4

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: 华为Mate20X

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

fastLoginFn() {
var this_ = this
uni.preLogin({
provider: "univerify",
success: () => {
uni.login({
provider: "univerify",
univerifyStyle: {
fullScreen: true, // 是否全屏显示,true表示全屏模式,false表示非全屏模式,默认值为false。
backgroundColor: "#ffffff", // 授权页面背景颜色,默认值:#ffffff
phoneNum: {
color: "#333", // 手机号文字颜色 默认值:#000000
fontSize: "22" // 手机号字体大小 默认值:18
},
"slogan": {
color: "#8a8b90", // slogan 字体颜色 默认值:#8a8b90
fontSize: "14"
},
"icon": {
path: "static/pic/xx.png" // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo
},
"authButton": {
normalColor: "#4cd964", // 授权按钮正常状态背景颜色 默认值:#4cd964
highlightColor: "#4cd964", // 授权按钮按下状态背景颜色 默认值:#4cd964(仅ios支持)
disabledColor: "#4cd964", // 授权按钮不可点击时背景颜色 默认值:#4cd964(仅ios支持)
textColor: "#ffffff", // 授权按钮文字颜色 默认值:#ffffff
title: "本机号码一键登录" // 授权按钮文案 默认值:“本机号码一键登录”
},
"otherLoginButton": {
visible: "true", // 是否显示其他登录按钮,默认值:true"visible": "true", // 是否显示其他登录按钮,默认值:true
normalColor: "#fff", // 其他登录按钮正常状态背景颜色 默认值:#f8f8f8
highlightColor: "#fff", // 其他登录按钮按下状态背景颜色 默认值:#dedede
textColor: "#333", // 其他登录按钮文字颜色 默认值:#000000
title: "切换其他方式登录", // 其他登录方式按钮文字 默认值:“其他登录方式”"borderWidth": "1px", // 边框宽度 默认值:1px(仅ios支持)
borderColor: "#fff", //边框颜色 默认值: #c5c5c5(仅ios支持)
borderWidth: "1px", // 边框宽度 默认值:1px(仅ios支持)
fontSize: "16"
},
"privacyTerms": {
defaultCheckBoxState: "false", // 条款勾选框初始状态 默认值: true
textColor: "#707070", // 文字颜色 默认值:#8a8b90
termsColor: "#42b983", // 协议文字颜色 默认值: #1d4788
prefix: "我已阅读并同意", // 条款前的文案 默认值:“我已阅读并同意”
suffix: "并使用本机号码登录", // 条款后的文案 默认值:“并使用本机号码登录”
fontSize: "14", // 字体大小 默认值:12,
uncheckedImage: "static/pic/elliptical.png", // 可选 条款勾选框未选中状态图片(仅支持本地图片 建议尺寸 24x24px)(3.2.0+ 版本支持)
checkedImage: "static/pic/elliptical-1.png", // 可选 条款勾选框选中状态图片(仅支持本地图片 建议尺寸24x24px)(3.2.0+ 版本支持)
privacyItems: [
// 自定义协议条款,最大支持2个,需要同时设置url和title. 否则不生效
{
url: "https://www.itbaizhan.com/static/privacyPolicy.html", // 点击跳转的协议详情页面
title: "《隐私政策》" // 协议名称
}
]
},
},
success: (res) => {
console.log("一键登录调用返回的数据", res)
uniCloud.callFunction({
name: 'phoneloginAndroid', // 你的云函数名称
data: {
'access_token': res.authResult.access_token, // 客户端一键登录接口返回的access_token
'openid': res.authResult.openid // 客户端一键登录接口返回的openid
}
}).then(res => {

                                console.log(res)  
                                // 登录成功,可以关闭一键登录授权界面了  
                            }).catch(err => {  
                                // 处理错误  
                                console.log(err)  
                            })  
                        },  
                        fail(err) {  
                            // 登录失败或者点击其他登录方式,自定义按钮等  
                            console.log("一键登录uni.login失败", err)  
                            if (err.errCode == '30002') {  
                                uni.closeAuthView()  
                                uni.navigateTo({  
                                    url: '/pages/minepages/login/login'  
                                })  
                            }  
                        }  
                    })  
                },  
                fail(res) {  
                    console.log("一键登录uni.preLogin失败", res)  
                    if (res.errMsg != "login:ok") {  
                        // 这里注意有个小坑: 不同运营商,返回的报错字段不同, 经过测试, 以下几乎包含了三大运营商报错字段  
                        uni.showToast({  
                            title: res.errMsg || res.metadata.resultMsg || res.metadata.error_data ||  
                                res.metadata.resultDesc || "请检查是否插入有效sim卡及开启蜂窝数据网络",  
                            icon: "none"  
                        })  
                    }  
                    //如果手机没有插入有效的sim卡,或者手机蜂窝数据网络关闭,  
                    //都有可能造成预登录校验失败。  
                    setTimeout(() => {  
                        // 预登陆失败, 做其他操作  
                        // this_.onClickMsgLogin()  
                    }, 500)  
                }  
            })  
        },

操作步骤:

打包自定义基座真机调试

预期结果:

调起手机号一键登录

实际结果:

uniapp手机号一键登录Android自定义基座运行报

bug描述:

uniapp手机号一键登录Android自定义基座运行报
"errMsg": "preLogin:fail -20102其他错误",
"errCode": 30004,
"code": 30004,

2023-07-03 10:01 负责人:无 分享
已邀请:
唐家三少

该问题目前已经被锁定, 无法添加新回复