// pages/today/index.js const app = getApp(); let pageStart = 1; Page({ /** * 页面的初始数据 */ data: { aIconList: ['check-rectangle', 'star-filled', 'notification', 'info-circle'], taskList: [{'taskId':'1','title':'标题德外旗舰店1','note':'2022-11-11'},{'taskId':'2','title':'标题德外旗舰店2','note':'2022-11-11'}], todayList: [{'taskId':'1','title':'标题德外旗舰店1','note':'2022-11-11'},{'taskId':'2','title':'标题德外旗舰店2','note':'2022-11-11'}], delayList: [{'taskId':'1','title':'si哦大家艾吉奥是我','note':'2022-11-11'}, {'taskId':'2','title':'si哦大家艾吉奥是2321','note':'2022-11-11'}, {'taskId':'3','title':'打SD卡我怕','note':'2022-11-11'}, {'taskId':'4','title':'标无间道i文件舰店1','note':'2022-11-11'}, {'taskId':'5','title':'标题大家啊我i家1','note':'2022-11-11'}, {'taskId':'6','title':'标题德外而我却','note':'2022-11-11'}, {'taskId':'7','title':'标题德外旗额我去问1','note':'2022-11-11'}, {'taskId':'8','title':'千而万请问确定德外旗舰店1','note':'2022-11-11'}, {'taskId':'9','title':'标请问请问破千万1','note':'2022-11-11'}, {'taskId':'10','title':'标而且我请问请问1','note':'2022-11-11'}, {'taskId':'11','title':'代欧王大炮物品代码','note':'2022-11-11'}, {'taskId':'12','title':'到ID我们','note':'2022-11-11'}, {'taskId':'13','title':'我去哦额陪娃欧美大片请我们','note':'2022-11-11'}, {'taskId':'14','title':'请问哦气雾剂群殴','note':'2022-11-11'} ], duration: 300, // swiper-item 切换过渡时间 categoryCur: 0, // 当前数据列索引 categoryMenu: ['任务清单','收藏任务','延期任务'], // 分类菜单数据, 字符串数组格式 categoryData: [], // 所有数据列 }, getList(type, currentPage) { let currentCur = this.data.categoryCur; let pageData = this.getCurrentData(currentCur); if (pageData.end) return; pageData.requesting = true; this.setCurrentData(currentCur, pageData); wx.showLoading({ title: '请稍候...', mask: true, }) app.$api.taskList({}).then(res =>{ this.setData({ taskList:res.data.taskList, }) let data = res.data || { taskList: [], over: false }; let listData = this.data.delayList || []; pageData.requesting = false; if (type === 'refresh') { pageData.listData = listData; pageData.end = data.over; pageData.page = currentPage + 1; } else { pageData.listData = pageData.listData.concat(listData); pageData.end = data.over; pageData.page = currentPage + 1; } this.setCurrentData(currentCur, pageData); }) }, // 更新页面数据 setCurrentData(currentCur, pageData) { let categoryData = this.data.categoryData categoryData[currentCur] = pageData this.setData({ categoryData: categoryData }) }, // 获取当前激活页面的数据 getCurrentData() { return this.data.categoryData[this.data.categoryCur] }, // 顶部tab切换事件 toggleCategory(e) { this.setData({ duration: 0 }); setTimeout(() => { this.setData({ categoryCur: e.detail.index }); }, 0); }, // 页面滑动切换事件 animationFinish(e) { this.setData({ duration: 300 }); setTimeout(() => { this.setData({ categoryCur: e.detail.current }); let pageData = this.getCurrentData(); if (pageData.listData.length === 0) { this.getList('refresh', pageStart); } }, 0); }, // 刷新数据 refresh() { this.getList('refresh', pageStart); }, // 加载更多 more() { this.getList('more', this.getCurrentData(this.data.categoryCur).page); }, showArticle(e) { console.log(e.detail) // wx.setClipboardData({ // data: e.currentTarget.dataset.link, // success(res) { // wx.showToast({ // icon: "none", // title: "链接已复制到剪切板" // }) // } // }) }, onLoad() { let categoryData = []; this.data.categoryMenu.forEach(index =>{ categoryData.push({ categoryCur: index, requesting: false, end: false, emptyShow: false, page: pageStart, listData: [] }); }) this.setData({ categoryData }); // 第一次加载延迟 350 毫秒 防止第一次动画效果不能完全体验 setTimeout(() => { this.refresh(); }, 350); } })