import { getActivities } from '~/api/global' Component({ properties: {}, /** * 组件的初始数据 */ data: { //,2:邀新榜,3:热播榜,4:挑战pk榜,5,朗读赛 type: '4', activityList: [], dsqList: [] }, lifetimes: { attached() { this.getActivities() }, detached() { this.data.dsqList.forEach(item => { clearInterval(item) }) } }, /** * 组件的方法列表 */ methods: { async getActivities() { let activityList = await getActivities() console.log(activityList); this.setData({ activityList }) // 下面这个处理限时活动的,第一版先不上 /* res.forEach((item, index) => { this.activityTimeOut(item.closing, index) }) */ }, activityTimeOut(oTime, index) { let inputTime = new Date(oTime) let dsq = setInterval(() => { var nowTime = new Date(); //把剩余时间毫秒数转化为秒 var times = (inputTime - nowTime) / 1000; if (times <= 0) { this.setData({ [`activityList[${index}].hour`]: '00', [`activityList[${index}].minute`]: '00', [`activityList[${index}].second`]: '00', }) return clearInterval(dsq) } //计算小时数 转化为整数 var h = parseInt(times / 60 / 60 % 24); //如果小时数小于 10,要变成 0 + 数字的形式 赋值给盒子 let hour = h < 10 ? "0" + h : h; //计算分钟数 转化为整数 var m = parseInt(times / 60 % 60); //如果分钟数小于 10,要变成 0 + 数字的形式 赋值给盒子 let minute = m < 10 ? "0" + m : m; //计算描述 转化为整数 var s = parseInt(times % 60); //如果秒钟数小于 10,要变成 0 + 数字的形式 赋值给盒子 let second = s < 10 ? "0" + s : s; this.setData({ [`activityList[${index}].hour`]: hour, [`activityList[${index}].minute`]: minute, [`activityList[${index}].second`]: second, }) times = --times; }, 1000); this.setData({ dsqList: [...this.data.dsqList, dsq] }) }, activityEvent({ currentTarget }) { //1:图片,2:邀新榜,3:热播榜,4:挑战pk榜,5,朗读赛,6,领取勋章 switch (currentTarget.dataset.type) { case 1: break; case 2: wx.navigateTo({ url: '/pages/ranking/index?type=2&title=邀新榜', }) break; case 3: wx.navigateTo({ url: '/pages/ranking/index?type=3&title=热播榜', }) break; case 4: wx.navigateTo({ url: '/pages/ranking/index?type=4&title=挑战榜', }) break; default: } }, } })