// pages/chat-list/chat-list.js // import Times from "../../utils/time"; const webSocket = require('../../utils/websocket.js'); const app = getApp(); /** * 会话列表页面 */ Page({ /** * 页面的初始数据 */ data: { conversations: [], myheadurl:'' }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let that = this; // emojiChar: "☺-😋-😌-😍-😏-😜-😝-😞-😔-😪-😭-😁-😂-😃-😅-😆-👿-😒-😓-😔-😏-😖-😘-😚-😒-😡-😢-😣-😤-😢-😨-😳-😵-😷-😸-😻-😼-😽-😾-😿-🙊-🙋-🙏-✈-🚇-🚃-🚌-🍄-🍅-🍆-🍇-🍈-🍉-🍑-🍒-🍓-🐔-🐶-🐷-👦-👧-👱-👩-👰-👨-👲-👳-💃-💄-💅-💆-💇-🌹-💑-💓-💘-🚲", app.postRequest('my/images/headurl', {}, function (res){ if (res.code == 201) { console.log(res); that.setData({ myheadurl: res.data.img, // optioninfocode: res, }) } }) }, toChat(e) { //跳转进入聊天页面 // console.log(e); // return ; let _that = this; wx.navigateTo({ url: '../chat/chat?to_id=' + e.currentTarget.dataset.item.to_id + '&headUrl=' + e.currentTarget.dataset.item.img + '&myheadurl='+_that.data.myheadurl }); }, /** * 生命周期函数--监听页面显示 */ onShow() { var _this = this; console.log(11); webSocket.sendSocketMessage({ msg: JSON.stringify({ form_id: getApp().UserId(), type: 'Chat_list' }), success: function (res) { console.log(res, 'dakai111'); }, fail: function (res) { console.log('发送消息失败') } }) webSocket.onSocketMessageCallback = this.onSocketMessageCallback; // console.log(Times.dealChatTime(new Date(), 1555257947)); // _this.setData({ // conversations: [{ // friendId:1111, // msgUserId: 2222,//消息的所有人id // friendHeadUrl: 'http://downza.img.zz314.com/edu/pc/wlgj-1008/2016-06-23/64ec0888b15773e3ba5b5f744b9df16c.jpg',//好友头像 // conversationId: -1,//会话id,目前未用到 // friendName: '夏天的风',//好友昵称 // content:'dsadasdsa',//最新一条消息 // unread: 10,//未读消息计数 // timestamp: 1555257947,//最新消息的时间戳 // timeStr:'2019-04-15 00:05:47'//最新消息的时间 // }] // }) }, getConversationsItem(item) { let {latestMsg, ...msg} = item; return Object.assign(msg, JSON.parse(latestMsg)); }, onSocketMessageCallback:function(e){ let _this = this; let data = JSON.parse(e); switch(data.type){ case 'Chat_list': let dataAtt = data.data console.log(data.data,111111); for (var index in dataAtt) { if (dataAtt[index].type == 2) { dataAtt[index].content = '[图片]' } } if(data.data){ _this.setData({ conversations: _this.sortarr(dataAtt) }) } break; case 'chat_list_message': let dataArr = _this.data.conversations; let idData = []; console.log(data.data); for (var index in dataArr){ // idData.push(String(dataArr[index].to_id)); idData.push(String(dataArr[index].to_id)); //统一转换成string if (dataArr[index].to_id == data.data.to_id) { dataArr[index].count = data.data.count; dataArr[index].content = data.data.content; dataArr[index].timeStr = data.data.timeStr; dataArr[index].create_at = data.data.create_at; } if(dataArr[index].type == 2){ dataArr[index].content = '[图片]' } } //新增一列 if (idData.indexOf(String(data.data.to_id)) == '-1'){ dataArr.push(data.data); } _this.setData({ conversations: _this.sortarr(dataArr) }) break; break; } }, sortarr:function(arr){//冒泡排序 for(let i = 0;i