- 自己敲的代码,执行顺序存在什么错误?
getUser(e) { let that = this let flag = 0 // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 wx.getUserProfile({ desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => { this.getOpenid() console.log(res) this.setData({ userInfo: res.userInfo, tempName: res.userInfo.nickName, avatarU: res.userInfo.avatarUrl, gender: res.userInfo.gender, }) // console.log(this.data.openidh) }, }) //**重点问题代码段** if(this.data.hasOpi ==true){ that.hasReg(flag) if(flag == 0){ that.Reg() }else{ wx.showToast({ title: '欢迎回来', }) } this.setData({ hasUserInfo:true }) } //**重点问题代码段** return e } 怎么能让重点问题代码段,在获取用户openid后再执行hasReg()方法,判断这个用户是否曾经注册。(猜是代码执行顺序理解错)
2022-04-29 - 在使用毫秒级自定义倒计组件时,是否有可能导致小程序页面相应迟钝?
https://www.douyin.com/discover?modal_id=7086659212339727620(暂时无法上传腾讯视频) 前部分为开发工具预览效果,卡顿基本不存在;但是真机和预览操作时,手机出现严重卡顿无法正常使用功能,望论坛里大佬能给予优化代码意见
2022-04-15 - 构建npm时发生错误提示?
message:发生错误 TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined appid: wx3002dbe5587ca9e7 openid: o6zAJs_H3kfEGnldCUwRj_hWzZ0s ideVersion: 1.05.2201240 osType: win32-x64 time: 2022-04-11 22:15:22
2022-04-11 - 如图,写的倒计时组件里this.setData无法正常赋值?
setCountDown: function () { var thisPage = this let Pause = thisPage.data.isPause if (Pause == false) { //刷新时间以及递减时间范围 let time = 1000; let wPause = thisPage.data.wasPause let test = thisPage.data.pingData[0].time var Text = thisPage.data.showText let { listData } = thisPage.data; // map里 v为当前数组操作的元素,i为当前元素在数组的坐标 let list = listData.map((v, i) => { if (v.time < 0) { v.time = 0; } let formatTime = thisPage.getFormat(v.time); v.time -= time; if (test <= 0) { thisPage.setData({ test: 0, Text : "交换攻防", Pause : true, }) console.log(Text) thisPage.showPopup() } v.countDown = `${formatTime.mm}:${formatTime.ss}`; console.log("经过暂停前" + wPause) if (wPause == true) { v.time = v.time + 1000; thisPage.setData({ wasPause: false }) console.log("first time to regoing!") console.log("经过暂停后" + wPause) } console.log(test) console.log(thisPage.data.pingData[0]) return v; }) thisPage.setData({ listData: list }); //setTimeout里 在第二个函数指定毫秒时后触发第一个函数的方法 //现在语句意思为 =》在time=1000毫秒时,执行setCountDown方法,实则为循环 setTimeout(thisPage.setCountDown, time); } if (Pause == true) { return } 写的自定义倒计时组件里,this.setData一直不能给页面data数据赋值。源代码在片段中调试可行,移植后出现问题
2022-04-08