一键登录功能在uni-app中无法实现点击一键登录按钮拿到点击事件
一键登录功能在uni-app中无法实现点击一键登录按钮拿到点击事件
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Mac |
版本号 | HBuilderX 4.66 |
手机系统 | iOS |
手机系统版本 | iOS 18 |
手机厂商 | 苹果 |
手机机型 | XR |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- 一键登录 点击登录 组件自动提示了 “请同意服务条款”
预期结果:
- 点击本机号码登录 在错误函数里返回错误码 由开发人员自己提示用户
- 参考 阿里的一键登录 网易的一键登录 都是可配置让用户自己弹出的
实际结果:
- 直接弹出了提示
bug描述:
一键登录无法监听到用户点击本机号码登录按钮
我想在点击一键登录的时候自己去判断是否勾选了弹窗,但是没法判断
目前是下方协议默认是不勾选的,想要实现,点击【一键登录】按钮,协议不勾选,就弹出对话框。是否同意协议,这样的交互。
群里反馈后 群主让发贴
看能排期加上这个不能
更多关于一键登录功能在uni-app中无法实现点击一键登录按钮拿到点击事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于一键登录功能在uni-app中无法实现点击一键登录按钮拿到点击事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
关于uni-app一键登录按钮点击事件监听问题
在uni-app中,一键登录功能默认会处理协议勾选状态的校验,确实存在无法直接监听按钮点击事件的问题。这是当前SDK的默认行为。
解决方案
- 使用自定义按钮:可以自己实现登录按钮,而不是使用官方提供的按钮组件。在自定义按钮的点击事件中先检查协议勾选状态,然后再调用一键登录API。
// 自定义按钮点击事件
handleLogin() {
if (!this.checked) {
uni.showToast({
title: '请先同意服务条款',
icon: 'none'
});
return;
}
// 调用一键登录
uni.login({
provider: 'univerify',
success: (res) => {
// 登录成功处理
},
fail: (err) => {
// 错误处理
}
});
}
- 修改manifest配置:在manifest.json中可以配置一键登录的协议校验行为:
"univerify" : {
"agreement" : {
"defaultCheckBoxState" : true // 默认勾选协议
}
}