Browse Source

更改消息排序规则

master
袁磊 8 months ago
parent
commit
baf1c42f0c
  1. 12
      uni_modules/vrapile-im/pages/chat/chatFriend.vue
  2. 2
      uni_modules/vrapile-im/pages/home/chatHome.vue
  3. 58
      uni_modules/vrapile-im/store/modules/chat.js

12
uni_modules/vrapile-im/pages/chat/chatFriend.vue

@ -5,7 +5,7 @@
<view v-if="chatObject.haveHistory==0" class="chat-body-history">
没有更多消息了
</view>
<view v-else class="chat-body-history chat-body-history-have" @click="handleHistoryMessage()">
<view v-else class="chat-body-history chat-body-history-have" @click="handleHistoryMessage(false)">
查看更多消息
</view>
<view class="chat-body-message">
@ -115,7 +115,7 @@
//
onPullDownRefresh() {
if(this.chatObject.haveHistory==1){
this.handleHistoryMessage();
this.handleHistoryMessage(true);
}
setTimeout(() => {
uni.stopPullDownRefresh();
@ -131,7 +131,7 @@
this.messageList = this.getChatList[i].messageList;
this.scrollToBottom();
if(this.messageList.length == 0 && this.chatObject.haveHistory==1){
this.handleHistoryMessage();
this.handleHistoryMessage(true);
}else{
this.handleRead();
}
@ -292,7 +292,7 @@
this.inputText = "";
},
//
handleHistoryMessage(){
handleHistoryMessage(scrollFlag=false){
let limit = this.chatObject["messageList"].length + 10;
getMessageByChatKey({
type: this.chatObject.type,
@ -301,7 +301,7 @@
limit: limit
}).then(res => {
if(res.data.length > 0){
this.messageList = res.data.reverse();
this.messageList = res.data;
this.chatObject["messageList"] = this.messageList;
let lastMessage = res.data[res.data.length-1];
this.chatObject["messageLast"] = lastMessage;
@ -322,7 +322,9 @@
break;
}
}
if(scrollFlag){
this.scrollToBottom();
}
});
}
}

2
uni_modules/vrapile-im/pages/home/chatHome.vue

@ -153,7 +153,7 @@
limit: limit
}).then(res => {
if(res.data.length > 0){
this.getChatList[i]["messageList"] = res.data.reverse();
this.getChatList[i]["messageList"] = res.data;
let lastMessage = res.data[res.data.length-1];
this.getChatList[i]["messageLast"] = lastMessage;
if(lastMessage["sendType"] == 0){

58
uni_modules/vrapile-im/store/modules/chat.js

@ -18,7 +18,15 @@ const chat = {
// 清空聊天列表
CLEAN_CHAT_LIST: (state) => {
state.chatList = new Array();
storage.set(constant.chatList, state.chatList)
storage.set(constant.chatList, new Array());
state.friendList = new Array();
storage.set(constant.friendList, new Array());
state.groupList = new Array();
storage.set(constant.groupList, new Array());
state.userObject = {};
storage.set(constant.userObject, {});
state.groupObject = {};
storage.set(constant.groupObject, {});
},
// 存储好友聊天列表
SET_CHAT_FRIEND_LIST: (state, data) => {
@ -59,12 +67,12 @@ const chat = {
// 存储用户对象,方便寻找用户名,头像等
SET_USER_OBJECT: (state, userObject) => {
state.userObject[userObject.userId] = userObject;
storage.set(constant.userObject, state.userObject)
storage.set(constant.userObject, state.userObject);
},
// 存储群组对象,方便寻找群组名,头像等
SET_GROUP_OBJECT: (state, groupObject) => {
state.groupObject[groupObject.id] = groupObject;
storage.set(constant.groupObject, state.groupObject)
storage.set(constant.groupObject, state.groupObject);
}
},
@ -75,28 +83,46 @@ const chat = {
commit('CLEAN_CHAT_LIST');
// 查询好友
getUserAllFriend().then(res => {
let list = []
for(let item of res.data){
list.push({type: 0, ...item, userId: params.userId})
commit('SET_USER_OBJECT', item)
let listFriend = []
for(let itemFriend of res.data){
delete itemFriend["createBy"]
delete itemFriend["updateBy"]
delete itemFriend["createTime"]
delete itemFriend["updateTime"]
listFriend.push({type: 0, ...itemFriend, userId: params.userId})
commit('SET_USER_OBJECT', {...itemFriend, userId: itemFriend.friendId})
}
commit('SET_CHAT_FRIEND_LIST', list)
commit('SET_CHAT_FRIEND_LIST', listFriend)
// 查询群组
getUserAllGroup().then(res1 => {
let list = []
for(let item1 of res1.data){
list.push({type: 1, ...item1, userId: params.userId})
let listGroup = []
for(let itemGroup of res1.data){
delete itemGroup["createBy"]
delete itemGroup["updateBy"]
delete itemGroup["createTime"]
delete itemGroup["updateTime"]
listGroup.push({type: 1, ...itemGroup, userId: params.userId})
// 查询群组人员
getGroupUser(item1.id).then(res2 => {
for(let user of res2.data){
commit('SET_USER_OBJECT', user)
getGroupUser(itemGroup.id).then(res2 => {
for(let itemGroupUser of res2.data){
delete itemGroupUser["createBy"]
delete itemGroupUser["updateBy"]
delete itemGroupUser["createTime"]
delete itemGroupUser["updateTime"]
delete itemGroupUser["groupId"]
delete itemGroupUser["groupName"]
commit('SET_USER_OBJECT', itemGroupUser)
}
resolve(res2)
});
commit('SET_GROUP_OBJECT', item1)
delete itemGroup["createBy"]
delete itemGroup["updateBy"]
delete itemGroup["createTime"]
delete itemGroup["updateTime"]
commit('SET_GROUP_OBJECT', itemGroup)
}
commit('SET_CHAT_GROUP_LIST', list)
commit('SET_CHAT_GROUP_LIST', listGroup)
}).catch(error => {
reject(error)
})

Loading…
Cancel
Save