微信小程序開發中全局變量緩存的問題處理

這個問題的出現是因為,在input的事件,我沒有找到更好的能監聽鍵盤收回的方法,也是為了更好的用戶體驗吧,所以隨之而來的問題就是全局變量,在賦值之后用戶退出這個頁面,全局變量被微信緩存了,然后造成,用戶輸入過一次之后,修改手機號失敗的bug。愛掏網 - it200.com

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('手機號發生變化,請重新獲取驗證碼。愛掏網 - it200.com');
            }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('請填寫完整信息喲');
        }
    },

// 然后在 保存成功之后 用戶點擊確定  清空 全局變量  也可以在隱藏和卸載的生命周期里面清空全局變量。愛掏網 - it200.com
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);
        }
    }
登錄后復制

相信看了本文案例你已經掌握了方法,更多精彩請關注愛掏網 - it200.com其它相關文章!

推薦閱讀:

微信小程序開發中怎樣使用Map對象

微信小程序開發上拉加載如何實現

以上就是微信小程序開發中全局變量緩存的問題處理的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 久久91精品国产91久| 日日噜噜夜夜爽爽| 扒开粉嫩的小缝喷出水视频| 国产在线观看麻豆91精品免费 | 日本精品一二三区| 国产福利免费视频| 伊人久久大香线蕉观看| 一本伊大人香蕉高清在线观看 | www.日本在线| 青青青青久久久久国产| 欧美日韩精品一区二区三区四区| 成人免费无码大片A毛片抽搐| 国产日产在线观看| 亚洲欧美一区二区三区电影| 三级韩国床戏3小时合集| 黑森林av福利网站| 欧美韩国日本在线观看| 国产美女被爆羞羞视频| 亚洲日本在线观看| 97视频在线观看播放| 欧美香蕉爽爽人人爽| 国产精品免费精品自在线观看| 亚洲一区在线免费观看| 91精品国产色综合久久| 欧美性大战久久久久久片段| 国产真人无遮挡作爱免费视频| 九歌电影免费全集在线观看| 1000部羞羞禁止免费观看视频| 波多野结衣一级片| 天堂√在线中文最新版8| 再深点灬舒服灬太大了爽| tube8最近日本护士| 精品国产一区二区三区不卡在线| 日本护士恋夜视频免费列表| 啊灬啊灬啊灬快灬深高潮了| h成人在线观看| 精品久久久久不卡无毒| 国内精品免费麻豆网站91麻豆| 人人妻人人澡人人爽人人精品| 57pao国产成永久免费视频| 最新国产中文字幕|