微信小程序清除计时器

需要在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 })

 

posted @ 2019-04-01 16:35  韩Jeor  阅读(456)  评论(0编辑  收藏  举报