diff --git a/pages/chat/components/messageList.vue b/pages/chat/components/messageList.vue
index aa556e7..9e00ba4 100644
--- a/pages/chat/components/messageList.vue
+++ b/pages/chat/components/messageList.vue
@@ -65,16 +65,15 @@
alignItems: 'center',
}); // 返回顶部样式
const queryParams = reactive({
- pageNo: 1, // 只用于触底计算
- pageSize: 20,
+ no: 1, // 查询次数,只用于触底计算
+ limit: 20,
createTime: undefined,
});
const pagingRef = ref(null); // 虚拟列表
- const queryList = async (pageNo, pageSize) => {
+ const queryList = async (no, limit) => {
// 组件加载时会自动触发此方法,因此默认页面加载时会自动触发,无需手动调用
- // 这里的pageNo和pageSize会自动计算好,直接传给服务器即可
- queryParams.pageNo = pageNo;
- queryParams.pageSize = pageSize;
+ queryParams.no = no;
+ queryParams.limit = limit;
await getMessageList();
};
// 获得消息分页列表
@@ -84,7 +83,7 @@
pagingRef.value.completeByNoMore([], true);
return;
}
- if (queryParams.pageNo > 1 && refreshMessage.value) {
+ if (queryParams.no > 1 && refreshMessage.value) {
const newMessageList = [];
for (const message of data) {
if (messageList.value.some((val) => val.id === message.id)) {
@@ -98,9 +97,10 @@
refreshMessage.value = false; // 更新好后重置状态
return;
}
-
- // 设置最后一次历史查询的最后一条消息的 createTime
- queryParams.createTime = formatDate(data.at(-1).createTime);
+ if (data.slice(-1).length > 0) {
+ // 设置最后一次历史查询的最后一条消息的 createTime
+ queryParams.createTime = formatDate(data.slice(-1)[0].createTime);
+ }
pagingRef.value.completeByNoMore(data, false);
};
/** 刷新消息列表 */
@@ -115,7 +115,7 @@
}
// 若已是第一页则不做处理
- if (queryParams.pageNo > 1) {
+ if (queryParams.no > 1) {
showNewMessageTip.value = true;
} else {
onScrollToUpper();
@@ -130,7 +130,7 @@
/** 监听滚动到底部事件(因为 scroll 翻转了顶就是底) */
const onScrollToUpper = () => {
// 若已是第一页则不做处理
- if (queryParams.pageNo === 1) {
+ if (queryParams.no === 1) {
return;
}
showNewMessageTip.value = false;
diff --git a/pages/chat/components/messageListItem.vue b/pages/chat/components/messageListItem.vue
index a012090..a1c6646 100644
--- a/pages/chat/components/messageListItem.vue
+++ b/pages/chat/components/messageListItem.vue
@@ -68,10 +68,12 @@
+
+
[],
},
});
+
const getMessageContent = computed(() => (item) => jsonParse(item.content)); // 解析消息内容
+ const userInfo = computed(() => sheep.$store('user').userInfo);
//======================= 工具 =======================
@@ -145,7 +149,7 @@
let emojiFile = selEmojiFile(item);
newData = newData.replace(
item,
- `
`,
);
@@ -167,7 +171,7 @@