// 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*)