Browse Source

fix: 图片出现在头部的bug

master
xsx 2 years ago
parent
commit
943efae7a0
  1. 7
      im-ui/src/store/chatStore.js
  2. 13
      im-uniapp/store/chatStore.js

7
im-ui/src/store/chatStore.js

@ -176,9 +176,8 @@ export default {
} }
// 根据id顺序插入,防止消息乱序 // 根据id顺序插入,防止消息乱序
let insertPos = chat.messages.length; let insertPos = chat.messages.length;
// 防止 图片、文件 在发送方 显示 在顶端 因为还没存库,id=0
if(msgInfo.id>0){ if(msgInfo.id && msgInfo.id > 0){
//防止 图片、文件 在发送方 显示 在顶端 因为还没存库,id=0
for (let idx in chat.messages) { for (let idx in chat.messages) {
if (chat.messages[idx].id && msgInfo.id < chat.messages[idx].id) { if (chat.messages[idx].id && msgInfo.id < chat.messages[idx].id) {
insertPos = idx; insertPos = idx;
@ -187,8 +186,6 @@ export default {
} }
} }
} }
chat.messages.splice(insertPos, 0, msgInfo); chat.messages.splice(insertPos, 0, msgInfo);
this.commit("saveToStorage"); this.commit("saveToStorage");
}, },

13
im-uniapp/store/chatStore.js

@ -178,11 +178,14 @@ export default {
} }
// 根据id顺序插入,防止消息乱序 // 根据id顺序插入,防止消息乱序
let insertPos = chat.messages.length; let insertPos = chat.messages.length;
for (let idx in chat.messages) { // 防止 图片、文件 在发送方 显示 在顶端 因为还没存库,id=0
if (chat.messages[idx].id && msgInfo.id < chat.messages[idx].id) { if(msgInfo.id && msgInfo.id > 0){
insertPos = idx; for (let idx in chat.messages) {
console.log(`消息出现乱序,位置:${chat.messages.length},修正至:${insertPos}`); if (chat.messages[idx].id && msgInfo.id < chat.messages[idx].id) {
break; insertPos = idx;
console.log(`消息出现乱序,位置:${chat.messages.length},修正至:${insertPos}`);
break;
}
} }
} }
chat.messages.splice(insertPos, 0, msgInfo); chat.messages.splice(insertPos, 0, msgInfo);

Loading…
Cancel
Save