// pages/messageCenter/messageCenter.js import { get } from '../../../utils/http' var WxParse = require('../../../components/local/wxParse/wxParse.js'); const app = getApp() Page({ /** * 页面的初始数据 */ data: { current: 1, page: 1, limit: 10, messageList: '', //通知信息列表 total: "", //通知列表总数 notMessageTotal: '', //未读通知消息数量 workMessageList: [], //业务消息列表 pageA: 1, limitA: 10, totalA: '', //业务消息总数 workMessageTotal: '', //未读消息总数 }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { // 禁用分享 wx.hideShareMenu() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { // 获取未读通知消息数量 this.getNotMessageTotal() // 获取通知消息列表 this.getMessageList(1) // 接受消息 this.getMessage() // 获取业务消息列表 this.getWorkMessageList(1) // 获取所有未读业务消息数量 this.getWorkMessageTotal() }, /** * 生命周期函数--监听页面隐藏 */ onHide() { // 打开别的页面清除当前业务消息通知 this.clearWorkMessage() }, /** * 生命周期函数--监听页面卸载 */ onUnload() { // 打开别的页面清除当前业务消息通知 this.clearWorkMessage() }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { // 通知 if (this.data.messageList.length < this.data.total) { this.getMessageList(++this.data.page) } // 业务消息 if (this.data.workMessageList.length < this.data.totalA) { this.getWorkMessageList(++this.data.pageA) } }, /** * 用户点击右上角分享 */ onShareAppMessage() { }, // 切换tab onTabsChange(e) { let current = e.currentTarget.dataset.id if (current == this.data.current) { return } if (current == 2) { // 切换到通知清除业务消息未读 this.clearWorkMessage() // 获取未读通知消息数量 this.getNotMessageTotal() // 获取通知消息列表 this.getMessageList(1) } else { // 切换到业务消息清除通知未读 this.clearMessageTotal() this.getWorkMessageList(1) this.getWorkMessageTotal() } this.setData({ current, }, ) }, // 获取通知列表 getMessageList(_page) { let that = this get('v2/api/message/list', { page: _page || that.data.page, limit: 10 }, (res) => { if (res.code == 200) { let list = that.data.messageList if (_page == 1 | that.data.page == 1) { list = [] } list.push(...res.data.list) // 截取通知列表content中的文字 list.forEach(item => { let str = '' if (item.content.indexOf('img') != -1) { str = item.content.match(/(\S*)' item.content = str } else if (item.content.indexOf('video') != -1) { str = item.content.match(/(\S*)