You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

56 lines
1.3 KiB

/**
* !插入数据
* @param roomId
* @param sourceId
* @param orderId
* @param type
* @param fileId
* @param txt
* @param time
* @param userId
* @param nickName
* @param sendOrReceive
* @param address
*/
export const setMsgData = data => {
console.log('setMsgData', data)
const resData = data
const session_id = resData.chatId // 群id
let msgData = wx.getStorageSync('imMsgData') || {}
// * 插入群数据
if (msgData[session_id]) {
if (resData.timestamp > msgData[session_id].timestamp) {
msgData[session_id].timestamp = resData.timestamp
}
msgData[session_id].listMsg.push(resData)
} else {
msgData[session_id] = {
listMsg: [resData],
timestamp: resData.timestamp,
session_id: resData.session_id,
}
}
wx.setStorageSync('imMsgData', msgData)
return resData
}
// ! 获取群消息
export const getHistroyMsg = id => {
let msgData = wx.getStorageSync('imMsgData') || {}
let msgList = []
if (msgData[id]) {
const data = msgData[id]
// *处理历史消息并按时间排序
const compare = property => {
return function(a, b) {
var value1 = a[property]
var value2 = b[property]
return value1 - value2
}
}
msgList = data.listMsg.sort(compare('time'))
}
return { msgList }
}