123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- 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() {
- },
-
- 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)
-
- list.forEach(item => {
- let str = ''
- if (item.content.indexOf('img') != -1) {
- str = item.content.match(/(\S*)<img/)[1] + '</p>'
- item.content = str
- } else if (item.content.indexOf('video') != -1) {
- str = item.content.match(/(\S*)<video/)[1] + '</p>'
- item.content = str
- }
- })
-
- let length = list.length
- list.forEach((item, index) => {
- WxParse.wxParse('article' + index, 'html', item.content, that, 5);
- if (index === length - 1) {
- WxParse.wxParseTemArray("askItemsArr", 'article', length, that)
- }
- })
- that.setData({
- messageList: list,
- total: res.data.total
- })
- }
- })
- },
-
- getNotMessageTotal() {
- get('v2/api/message/total', {}, (res) => {
- if (res.code == 200) {
- this.setData({
- notMessageTotal: res.data
- })
- }
- })
- },
-
- toMessageDetail(e) {
- let id = e.currentTarget.dataset.id
- let url = e.currentTarget.dataset.url
- let type = e.currentTarget.dataset.type
- if (type == 1) {
- if (url == '/pages/home/home' || url == '/pages/shoppingMall/shoppingMall' || url == '/pages/orderBy/orderBy' || url == '/pages/article/article' || url == '/pages/member/member') {
- wx.switchTab({
- url: url,
- })
- return
- } else {
- wx.navigateTo({
- url: url,
- })
- return
- }
- } else {
- wx.navigateTo({
- url: `/subPackagesC/pages/messageDetail/messageDetail?id=${id}`,
- })
- }
- },
-
- clearMessage() {
- if (this.data.current == 1) {
- this.clearWorkMessage()
- } else {
- this.clearMessageTotal()
- }
- },
- clearMessageTotal() {
- get('v2/api/message/clear', {}, (res) => {
-
- this.getNotMessageTotal()
-
- this.getMessageList(1)
- })
- },
-
- getMessage() {
- wx.onSocketMessage((e) => {
-
-
- let data = JSON.parse(e.data);
-
-
-
- if (data.data.type === 'instation') {
- console.log('接收到发来的消息');
-
- this.getMessageList(1)
-
- this.getNotMessageTotal()
-
- this.getWorkMessageList()
-
- this.getWorkMessageTotal()
- }
- })
- },
-
- getWorkMessageList(_pageA) {
- let that = this
- get('v2/api/message/notice', {
- page: _pageA || that.data.pageA,
- limit: that.data.limitA,
- }, (res) => {
- if (res.code == 200) {
- let workMessageList = that.data.workMessageList
- if (_pageA == 1 || that.data.pageA == 1) {
- workMessageList = []
- }
- workMessageList.push(...res.data.list)
- workMessageList.forEach(item => {
- let str = new RegExp('<br>', 'g')
- let strA = item.content.replace(str, '')
- item.content = strA
- })
- this.setData({
- workMessageList,
- totalA: res.data.total
- })
- }
- })
- },
-
- getWorkMessageTotal() {
- get('v2/api/message/all', {}, (res) => {
- if (res.code == 200) {
- this.setData({
- workMessageTotal: res.data
- })
- }
- })
- },
-
- clearWorkMessage() {
- get('v2/api/message/mark', {}, (res) => {
- this.getWorkMessageList(1)
- this.getWorkMessageTotal()
- })
- }
- })
|