微信小程序开发中全局变量缓存的问题怎么解决
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"微信小程序开发中全局变量缓存的问题怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"微信小程序开发中全局变量缓存的问题怎么解决"文章能帮
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
杰里芯片软件开发资料
怎么在c 中连接数据库
无法安全的连接服务器
木子网络技术咨询服务部
刘国钧3 4计算机网络技术
vs用户连接数据库
软件开发专利甲方乙方区别
北京软件开发公司哪家比较好
首都网络安全宣传日口号
最近网络安全事件
好用的外文论文数据库
imac多大的适合软件开发
如何打开数据库监听状态
论网络安全对大学生的重要性
三年制计算机网络技术专业
迷你世界怎么卸载服务器
智慧工会软件开发有哪些
开一个软件开发有限公司
服务器路径 java
东莞维修备件管理软件开发
vb文本框查询数据库
读英语软件开发
数据库系统模块设计是什么
网络安全图灵教育
调用数据库的存储过程
邮件服务器填写
郑州绿云软件开发
网络安全维护等级证书
网络技术部管理规章制度
服务器电源如何搭配