uni-app 一键登录存在Bug
uni-app 一键登录存在Bug
操作步骤:
- uniapp 一键登录 如果不勾选服务条款 这时连续点击 会一直弹请同意服务条款
预期结果:
- uniapp 一键登录 如果不勾选服务条款 这时连续点击 弹一次
实际结果:
- uniapp 一键登录 如果不勾选服务条款 这时连续点击 会一直弹请同意服务条款
bug描述:
- uniapp 一键登录 如果不勾选服务条款 这时连续点击 会一直弹请同意服务条款
| 开发环境 | 版本号 | 项目创建方式 |
|------------------|----------|--------------|
| Windows | 64 | HBuilderX |
| HBuilderX | 3.1.22 | |
| 手机系统 | 版本号 | |
| Android | Android 10 | |
| 手机厂商 | 手机机型 |
| 小米 | 小米10 | |
| 页面类型 | |
| vue | | |
| 打包方式 | 云端 | |
更多关于uni-app 一键登录存在Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 一键登录存在Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的防重复点击问题。在uni-app一键登录场景中,当用户未勾选服务条款时,连续快速点击会触发多次弹窗提示。
解决方案建议:
- 添加点击状态锁:在点击事件开始时设置标志位,请求完成后再重置
let isClicking = false
function onLoginClick() {
if (isClicking) return
if (!agreedToTerms) {
uni.showToast({title: '请同意服务条款'})
return
}
isClicking = true
// 执行登录逻辑
// 在回调中重置 isClicking = false
}
- 使用防抖函数:限制短时间内重复执行
import { debounce } from 'lodash'
const debouncedLogin = debounce(() => {
if (!agreedToTerms) {
uni.showToast({title: '请同意服务条款'})
return
}
// 登录逻辑
}, 1000)

