
- 发布:2024-09-13 16:46
- 更新:2024-09-13 16:58
- 阅读:229
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.24
手机系统: 全部
手机系统版本号: Android 15
手机厂商: 华为
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
app的安卓版本首页点击一键登录
app的安卓版本首页点击一键登录
预期结果:
弹出手机号码和确认登录之类
弹出手机号码和确认登录之类
实际结果:
无弹出无任何反应
无弹出无任何反应
bug描述:
同一套代码,发布APP为IOS版本和安卓版本。发现ios版本的一键登录正常,而安卓的一键登录功能无任何反应。
以前是正常使用的。近期才发现安卓不正常,请问如何解决?

Scitico (作者)
//一键登录认证
submitlogin() {
// #ifdef APP-PLUS
//短震动 iOS上只有长震动,没有短震动
// uni.vibrateShort({
// success: function() {
// //console.log('success');
// }
// });
if (!this.agreement) {
uni.showToast({
title: '请先同意用户协议和隐私政策',
icon: 'none'
})
} else {
let that = this
uni.login({ //正式登录,弹出授权窗
provider: 'univerify',
univerifyStyle: { // 自定义登录框样式
"fullScreen": false, // 是否全屏显示,true表示全屏模式,false表示非全屏模式,默认值为false。
"backgroundColor": "#ffffff", // 授权页面背景颜色,默认值:#ffffff
"phoneNum": {
"color": "#2281F5", // 手机号文字颜色 默认值:#000000
},
"authButton": {
"normalColor": "#3479f5", // 授权按钮正常状态背景颜色 默认值:#3479f5
"highlightColor": "#2861c5", // 授权按钮按下状态背景颜色 默认值:#2861c5(仅ios支持)
"disabledColor": "#73aaf5", // 授权按钮不可点击时背景颜色 默认值:#73aaf5(仅ios支持)
"textColor": "#ffffff", // 授权按钮文字颜色 默认值:#ffffff
"title": "本机号码一键登录", // 授权按钮文案 默认值:“本机号码一键登录”
"borderRadius": "24px" // 授权按钮圆角 默认值:"24px" (按钮高度的一半)
},
"otherLoginButton": {
"visible": true, // 是否显示其他登录按钮,默认值:true
"normalColor": "", // 其他登录按钮正常状态背景颜色 默认值:透明
"highlightColor": "", // 其他登录按钮按下状态背景颜色 默认值:透明
"textColor": "#656565", // 其他登录按钮文字颜色 默认值:#656565
"title": "其他登录/注册方式", // 其他登录方式按钮文字 默认值:“其他登录方式”
"borderColor": "", //边框颜色 默认值:透明(仅iOS支持)
"borderRadius": "0px" // 其他登录按钮圆角 默认值:"24px" (按钮高度的一半)
},
"privacyTerms": {
"defaultCheckBoxState": false, // 条款勾选框初始状态 默认值: true
"uncheckedImage": "", // 可选 条款勾选框未选中状态图片(仅支持本地图片 建议尺寸 24x24px)(3.2.0+ 版本支持)
"checkedImage": "", // 可选 条款勾选框选中状态图片(仅支持本地图片 建议尺寸24x24px)(3.2.0+ 版本支持)
"checkBoxSize": 12, // 可选 条款勾选框大小,仅android支持
"textColor": "#BBBBBB", // 文字颜色 默认值:#BBBBBB
"termsColor": "#5496E3", // 协议文字颜色 默认值: #5496E3
"prefix": "我已阅读并同意", // 条款前的文案 默认值:“我已阅读并同意”
"suffix": "并使用本机号码登录", // 条款后的文案 默认值:“并使用本机号码登录”
"privacyItems": [ // 自定义协议条款,最大支持2个,需要同时设置url和title. 否则不生效
{
"url": "https://www.tothink.co/policy_app.aspx", // 点击跳转的协议详情页面
"title": "用户协议" // 协议名称
},
{
"url": "https://www.tothink.co/privacy_app.aspx", // 点击跳转的协议详情页面
"title": "隐私政策" // 协议名称
}
]
}
},
success(res) { // 正式登录成功
// console.log(res.authResult); // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}
// that.info1 = res.authResult
// 在得到access_token后,通过callfunction调用云函数
uniCloud.callFunction({
name: 'getPhoneNumber', // 云函数名称
data: { //传给云函数的参数
'access_token': res.authResult
.access_token, // 客户端一键登录接口返回的access_token
'openid': res.authResult.openid // 客户端一键登录接口返回的openid
},
success(callRes) {
// console.log('调用云函数成功' + callRes)
// that.info1 = '调用云函数成功'
// that.phone = callRes.phoneNumber
that.goLoginUni(callRes.result.phoneNumber);
},
fail(callErr) {
console.log('调用云函数出错' + callErr)
// that.info3 = '调用云函数出错' + callErr
},
complete() {
uni.closeAuthView() //关闭授权登录界面
}
})
},
fail(err) { // 正式登录失败
console.log(err.errCode)
console.log(err.errMsg)
uni.closeAuthView() //关闭授权登录界面
}
})
}
// #endif
},
Scitico (作者)
您好,我刚刚贴了代码。这段代码一年多都没有变更过,之前一直安卓和苹果手机都正常使用这个一键登录。 目前云打包发布app发现是安卓不行。 谢谢您
2024-09-13 16:59
DCloud_UNI_yuhe
回复 Scitico: 不应该啊,你改之前的代码还能运行吗?
2024-09-13 17:06
DCloud_UNI_yuhe
回复 DCloud_UNI_yuhe: 我刚才检查了一下,这login整个文件3年没有人改过了已经,你看下你是不是什么配置失效了
2024-09-13 17:14
Scitico (作者)
回复 DCloud_UNI_yuhe: 刚刚手机去安装之前已发布到华为平台的版本,发现目前也不能一键登录了,说明跟目前打包的代码无关。会不会跟云空间那边(云函数之类)有什么关系呢?
2024-09-13 17:16
DCloud_UNI_yuhe
回复 Scitico: 你看一下,有什么报错信息吗?提供一下线索
2024-09-13 17:18
Scitico (作者)
回复 DCloud_UNI_yuhe: 谢谢您。我们也在尝试查找可能原因。目前用2台不同型号的华为手机,在华为应用中心安装之前(成功)的版本,发现都不能“一键登录”,用OPPO手机安装,就正常一键登录。VIVO那边审核员发回的审核视频也是说不能一键登录。目前就一台oppo手机和苹果手机正常。
2024-09-13 17:51