微信小程序清除计时器
需要在Pages的data里设置一个初始变量接收计时器参数,这里用setinterval
在请求成功时设置data里的setinterval为timer(计时器名称)
在onhide和onunload里添加clearInterval(this.data.setinterval);
1 // hyb_yl/hezuoyiyuan/detail.js 2 var app = getApp(); 3 const WxParse = require('../../wxParse/wxParse.js'); 4 Page({ 5 6 /** 7 * 页面的初始数据 8 */ 9 data: { 10 titleIndex: ['专家列表', '评论','服务站介绍'], 11 activeIndex:0, 12 zhuanjia:[], 13 zjcommentsAll:[], 14 state:1, 15 yyy:[], 16 xx:[], 17 dx:true, 18 array:[], 19 xssum:3, 20 setinterval: "", 21 }, 22 /** 23 * 生命周期函数--监听页面加载 24 */ 25 onLoad: function (op) { 26 var array = []; 27 var arr=['']; 28 var zhuanjias; 29 var _this = this; 30 var t = wx.getStorageSync("color"); 31 wx.setNavigationBarColor({ 32 frontColor: "#ffffff", 33 backgroundColor: t 34 }); 35 this.myphone(); 36 // wx.setStorage({ 37 // key: 'openid', 38 // data: 'oo4Kl5DlSRk-yruJm0NrOTsJ40Yw', 39 // }) 40 app.util.request({ 41 url:'entry/wxapp/Tijian_yiyuanxq', 42 data:{ 43 ty_id:op.yyid 44 }, 45 success:function(t){ 46 console.log(t); 47 WxParse.wxParse('article', 'html', t.data.data.introduce, _this, 5); 48 _this.setData({ 49 yy:t.data.data 50 }); 51 } 52 }); 53 var zhuanjias=[]; 54 app.util.request({ 55 url: 'entry/wxapp/HospZJ', 56 data: { 57 ty_id: op.yyid 58 }, 59 success: function (t) { 60 zhuanjias=t.data.data 61 _this.setData({ zhuanjia:t.data.data}); 62 console.log(zhuanjias) 63 for (var q = 0; q <zhuanjias.length; q++) { 64 var item = zhuanjias[q]; 65 var openid = item.openid; 66 app.util.request({ 67 url: 'entry/wxapp/GetZhuanjiaComment', 68 data: { 69 openid: openid 70 }, 71 success: function (t) { 72 console.log(t); 73 var ascore = 0; 74 var comments = t.data.data; 75 for (var aa = 0; aa < comments.length; aa++) { 76 var g = [comments[aa].id, comments[aa].fopenid] 77 console.log(comments[aa].score) 78 ascore+=parseInt(comments[aa].score); 79 _this.getxx(g) 80 console.log(ascore) 81 } 82 var array=_this.data.array; 83 var pl = (parseInt(ascore) / comments.length * 10 - parseInt(ascore) / comments.length * 10 % 1) / 10; 84 console.log(typeof pl) 85 if(typeof pl!='number'){ 86 pl=5 87 } 88 if(ascore==0){ 89 pl=5 90 } 91 console.log(pl) 92 array.push(pl); 93 console.log(array); 94 _this.setData({ 95 array:array 96 }) 97 for (var i = 0; i < comments.length; i++) { 98 99 comments[i].time = parseInt(comments[i].time) * 100 100 var dateTime = new Date(comments[i].time) 101 102 var year = dateTime.getFullYear(); 103 104 var month = dateTime.getMonth() + 1; 105 106 var day = dateTime.getDate(); 107 108 var hour = dateTime.getHours(); 109 110 var minute = dateTime.getMinutes(); 111 112 var second = dateTime.getSeconds(); 113 114 var now = new Date(); 115 116 var now_new = Date.parse(now.toDateString()); //typescript转换写法 117 118 var milliseconds = now_new - dateTime; 119 120 var timeSpanStr = year + '-' + month + '-' + day + ' ' + hour + ':' + minute; 121 console.log(timeSpanStr) 122 comments[i].time = timeSpanStr 123 arr[q*i] = comments[i] 124 125 } console.log(comments) 126 127 console.log(arr) 128 _this.setData({ 129 zjcommentsAll:arr 130 }) 131 console.log(_this.data.zjcommentsAll) 132 } 133 }) 134 console.log(this.data.zjcommentsArr); 135 console.log(this.data.xx); 136 console.log(this.data.yy); 137 } 138 } 139 }) 140 // app.util.GetZhuanjiaComment({ 141 // success:function(rs){ 142 // console.log(rs); 143 // } 144 // }) 145 // _this.data.array=array 146 // console.log(array) 147 // console.log(_this.data.array) 148 }, 149 changeIndex:function(t){ 150 this.setData({activeIndex:t.currentTarget.dataset.index}); 151 } 152 , 153 myphone:function(t){ 154 var openid=wx.getStorageSync('openid'); 155 console.log(openid); 156 var that=this; 157 app.util.request({ 158 url: 'entry/wxapp/Myphone', 159 data: { 160 openid: openid 161 }, 162 success: function (t) { 163 console.log(t); 164 that.setData({ uid: t.data.data.u_id }); 165 } 166 }); 167 }, 168 /** 169 * 生命周期函数--监听页面初次渲染完成 170 */ 171 onReady: function () { 172 173 }, 174 175 getxx: function (t) { 176 console.log(t) 177 var _this = this 178 app.util.request({ 179 url: "entry/wxapp/Myphone", 180 data: { 181 openid: t[1] 182 }, 183 success: function (a) { 184 console.log(a) 185 var xx = _this.data.xx, 186 yyy = _this.data.yyy; 187 console.log(xx) 188 xx[t[0]] = a.data.data.u_name; 189 yyy[t[0]] = a.data.data.u_thumb; 190 console.log(xx) 191 console.log(yyy) 192 _this.setData({ 193 xx: xx, 194 yyy: yyy 195 }) 196 } 197 }) 198 }, 199 200 /** 201 * 生命周期函数--监听页面显示 202 */ 203 onShow: function () { 204 205 }, 206 207 /** 208 * 生命周期函数--监听页面隐藏 209 */ 210 onHide: function () { 211 let e = this; 212 clearInterval(e.data.setinterval); 213 }, 214 215 /** 216 * 生命周期函数--监听页面卸载 217 */ 218 onUnload: function () { 219 let e = this; 220 clearInterval(e.data.setinterval); 221 }, 222 223 /** 224 * 页面相关事件处理函数--监听用户下拉动作 225 */ 226 onPullDownRefresh: function () { 227 228 }, 229 230 /** 231 * 页面上拉触底事件的处理函数 232 */ 233 onReachBottom: function () { 234 235 }, 236 237 /** 238 * 用户点击右上角分享 239 */ 240 onShareAppMessage: function () { 241 242 }, 243 createVideo:function(e){ 244 console.log(e) 245 var item = e.currentTarget.dataset.item; 246 var n = item.z_name; 247 var e = this.data.uid; 248 var s = item.uid; 249 var zy_id = item.z_yiyuan_id; 250 var openid = item.openid; 251 var uid =item.uid; 252 var that = this; 253 var mopenid=wx.getStorageSync('openid'); 254 var timer = setInterval(function(){ 255 app.util.request({ 256 url: "entry/wxapp/Myzhuan", 257 data: { 258 openid: mopenid 259 }, 260 success: function (a) { 261 console.log(222, a) 262 if (a.data.data.uid == undefined | a.data.data.z_yy_sheng == '0') { 263 wx.navigateTo({ 264 url: "/hyb_yl/liao_detail/liao_detail?name=" + n + "&fid=" + e + "&tid=" + s + "&state=new&time=" + that.data.time_en + "&openid=" + openid + "&t_uid=" + uid + "&mopenid=" + mopenid 265 }); 266 } else { 267 wx.showModal({ 268 title: '你已经是专家了' 269 }) 270 } 271 } 272 }) 273 },2000) 274 that.setData({ 275 setinterval:timer 276 }) 277 }, 278 look_more: function () { 279 var a = this.data.xssum + 4 280 this.setData({ 281 xssum: a 282 }) 283 console.log(this.data.xssum) 284 }, 285 aaaabtn:function(t){ 286 console.log(t) 287 }, 288 commentsxq: function (e) { 289 console.log(e) 290 291 var str = this.data.zjcommentsAll[e.currentTarget.dataset.index].content; 292 var val = ""; 293 for (var i = 0; i < str.length; i++) { 294 if (val == "") val = str.charCodeAt(i); 295 else val += "," + str.charCodeAt(i); 296 } 297 wx.navigateTo({ //保留当前页面,跳转到应用内的某个页面(最多打开5个页面,之后按钮就没有响应的) 298 url: "../commentsxq/commentsxq?content=" + val + '&score=' + this.data.zjcommentsAll[e.currentTarget.dataset.index].score + "&time=" + this.data.zjcommentsAll[e.currentTarget.dataset.index].time + '&username=' + this.data.xx[this.data.zjcommentsAll[e.currentTarget.dataset.index].id] + '&userImg=' + this.data.yyy[this.data.zjcommentsAll[e.currentTarget.dataset.index].id] + '&images=' + this.data.zjcommentsAll[e.currentTarget.dataset.index].images 299 }) 300 } 301 })