// pages/message/index.js const request = require('../../utils/request');//导入模块 const util = require('../../utils/util'); const float = require('../../utils/floatObj'); const app = getApp() const formate = 'Y-M-D' Component({ options: { addGlobalClass: true, multipleSlots: true }, /** * 页面的初始数据 */ data: { height: app.globalData.fragmentHeight - 100, loading: true, finished: false, requesting: false, messageList: [], form: { pageSize: 10, pageNum: 1 }, }, methods: { onRestart: function () { if (!this.data.firstShow) { console.log('message-->onRestart>>>') this.fetchMessageList() } this.setData({ firstShow: true }) }, onRefresh: function () { this.setData({ ['form.pageNum']: 1, finished: false }) this.fetchMessageList() }, fetchMessageList: function () { if (this.data.requesting || this.data.finished) { return } if (this.data.form.pageNum == 1 && this.data.messageList.length == 0) { this.setData({ loading: true }) } this.setData({ requesting: true }) wx.showLoading({ title: '加载中', mask: true }) // /message/h5/message_list 消息列表 request.get('/message/h5/message_list', this.data.form).then(data => { //成功回调 this.setData({ requesting: false, loading: false }) wx.hideLoading() if (data.data.records) { var respList = data.data.records var lastTipsTime = '' if (this.data.messageList.length > 0) { lastTipsTime = util.formatDate(new Date(this.data.messageList.slice(-1).createTime), formate) if (lastTipsTime.length > 10) { lastTipsTime = lastTipsTime.substring(0, 10) } } for (let i = 0; i < respList.length; i++) { if (util.isEmpty(lastTipsTime)) { lastTipsTime = util.formatDate(new Date(respList[i].createTime), formate) if (lastTipsTime.length > 10) { lastTipsTime = lastTipsTime.substring(0, 10) } respList[i].tipsTime = lastTipsTime } else { var itemTime = util.formatDate(new Date(respList[i].createTime), formate) if (itemTime.length > 10) { itemTime = itemTime.substring(0, 10) } if (lastTipsTime !== itemTime) { respList[i].tipsTime = itemTime } lastTipsTime = itemTime } } if (this.data.form.pageNum > 1) { this.setData({ messageList: this.data.messageList.concat(respList) }) } else { this.setData({ total: data.data.total, messageList: respList }) } if (this.data.form.pageNum >= data.data.pages) { // 已经是最后一页了,不需要再触发滚动加载了 this.setData({ finished: true }) } else { var num = this.data.form.pageNum this.setData({ ['form.pageNum']: (num + 1), finished: false }) } } }).catch(err => { //异常回调 this.setData({ requesting: false, loading: false }) wx.hideLoading() util.showToast(err) }); }, lookMessage: function (e) { var item = this.data.messageList[e.currentTarget.dataset.index] this.readMessage(item.id, e.currentTarget.dataset.index) wx.navigateTo({ url: '/pages/order/order-info/index?id=' + item.scene }) }, readMessage: function (id, index) { // /message/h5/read 设置已读 request.put('/message/h5/read/' + id).then(data => { this.setData({ ['messageList[' + index + '].readStatus']: 1 }) }) } } })