微信小程序开发中全局变量缓存的问题怎么解决
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"微信小程序开发中全局变量缓存的问题怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序开发中全局变量缓存的问题怎么解决"文章能帮
千家信息网最后更新 2025年02月02日微信小程序开发中全局变量缓存的问题怎么解决
这篇文章主要介绍"微信小程序开发中全局变量缓存的问题怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序开发中全局变量缓存的问题怎么解决"文章能帮助大家解决问题。
这个问题的出现是因为,在input的事件,我没有找到更好的能监听键盘收回的方法,也是为了更好的用户体验吧,所以随之而来的问题就是全局变量,在赋值之后用户退出这个页面,全局变量被微信缓存了,然后造成,用户输入过一次之后,修改手机号失败的bug。
let Btel = '',//防止用户恶意修改手机号 Byzm = '';handleTel(e) {// 这里修改用户输入的手机号 this.setData({ tel:e.detail.value }) }, handleYzm(e) { this.setData({ Yzm:e.detail.value }) Byzm = e.detail.value; let psd = this.data.psd, yzm = this.data.Yzm; yzm == psd ? this.setData({isYzm:0}):''; }, handleGetYzm() { let reg = common.telReg, val = this.data.tel; if (!reg.test(val)) { wx.showModal({ content:'请输入正确的手机号', showCancel:false, confirmColor:'#3cc51f',//默认值为#3cc51f success:res =>{ if(res.confirm){ this.setData({ tel:'' }) } } }) }else {//发送验证码的时候用全局变量的手机号 Btel = val;// 这里是全局的手机号 this.setData({ isReset : true, isNoClick: true }) const data ={ tel:val//传的是全局变量 }; utils.sendRequest(api.YanZhengMa, data, this.handleGetYzmSucc.bind(this)); //button 定时器 let time = setInterval(()=>{ let phoneCode = this.data.time; phoneCode -- this.setData({ time : phoneCode }) if(phoneCode == 0){ clearInterval(time) this.setData({ isReset : false, isNoClick: false, time:60 }) } },1000) } },//然后这一步是校验了用户在请求完验证码接口后 有没有修改手机好 然后保存handleSave() { let name = this.data.name, telNum = this.data.tel, yzm = Byzm, status = this.data.isYzm, card = wx.getStorageSync('UserCard'); let timestamp= new Date().getTime(); if (yzm == '') { wx.showModal({ content:'请输入验证码.', showCancel:false, confirmColor:'#3cc51f' }) return false; } if (name!=''&&telNum!='') { if(Btel != telNum) { utils.showModal('手机号发生变化,请重新获取验证码。'); }else { const data ={ distribution_id:card.distribution_id, post:{ user_name:name, user_tel:Btel, user_code:yzm }, user_id:card.user_id, password:yzm+timestamp }; utils.sendRequest(api.BindTel, data, this.handleSaveTel.bind(this)); } }else { utils.showModal('请填写完整信息哟'); } },// 然后在 保存成功之后 用户点击确定 清空 全局变量 也可以在隐藏和卸载的生命周期里面清空全局变量。handleSaveTel(res) { if (res.data.error == 0) { let go = this.data.go, id = res.data.data.id, lv = res.data.data.level; wx.showModal({ content:'绑定成功~', showCancel:false, confirmColor:'#3cc51f',//默认值为#3cc51f success:res =>{ if(res.confirm){ Byzm = '';//对小程序全局变量缓存进行清除 if (go) { wx.redirectTo({ url: '/pages/user/cash/cash' }) }else { if (id != 0) { let card = wx.getStorageSync('UserCard'); card.distribution_id = id; card.distribution_level = lv; wx.setStorageSync('UserCard',card); wx.setStorageSync('seller', true) } wx.switchTab({ url: '/pages/user/index' }) } } } }) return false }else { utils.showModal(res.data.err_msg); } }
关于"微信小程序开发中全局变量缓存的问题怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
全局
变量
手机
手机号
用户
问题
缓存
输入
验证
小程
开发
知识
成功
方法
行业
不同
实用
事件
信息
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的文件如何复制到u盘上
服务器虚拟化基础架构
网络安全威胁之四害
战地五屏蔽服务器
竞技网络技术有限公司
百望数据库是什么意思
网络安全漏洞管理规定工信部
手机网络安全证书已过期
数据库系统和文件系统
进入服务器设置内存大小
外卖网络技术人员
服务器能做系统备份吗
内蒙古学生网络技术开发机构
呼市检查网络安全
数据库书本内容
怎么在pdb数据库查文献
控制系统国产网络安全
腾讯分分2000期数据库
仙桃市千晴网络技术
qq远程可以用数据库吗
pg库删除数据库
多跨框架软件开发ppt
常州常见软件开发来电咨询
农业农村局网络安全工作领导小组
数据库冗余原则
柔性软件开发平台
中台岗位 资深服务器工程师
服务器装win10
海康流媒体转发服务器
河北园林公司软件开发