好友,群聊分页加载
This commit is contained in:
@@ -123,10 +123,10 @@
|
|||||||
<view class="main-chat">
|
<view class="main-chat">
|
||||||
<scroll-view class="chat-messages" direction="vertical" scroll-y :scroll-into-view="scrollToView"
|
<scroll-view class="chat-messages" direction="vertical" scroll-y :scroll-into-view="scrollToView"
|
||||||
:upper-threshold="50" :scroll-with-animation="!isThinking" @scroll="onScroll" @scrolltoupper="onScrollToUpper">
|
:upper-threshold="50" :scroll-with-animation="!isThinking" @scroll="onScroll" @scrolltoupper="onScrollToUpper">
|
||||||
<!-- 加载更多提示(AI 会话) -->
|
<!-- 加载更多提示 -->
|
||||||
<view v-if="ChatType === 0 && isAILoadingMore" class="load-more-tip">
|
<view v-if="(ChatType === 0 && isAILoadingMore) || (ChatType === 1 && isFriendLoadingMore) || (ChatType === 2 && isGroupLoadingMore)" class="load-more-tip">
|
||||||
<text>加载更多消息...</text>
|
<text>加载更多消息...</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- 消息加载中弹窗(仅会话变化时显示) -->
|
<!-- 消息加载中弹窗(仅会话变化时显示) -->
|
||||||
<view v-if="isLoadingMessages" class="messages-loading-overlay">
|
<view v-if="isLoadingMessages" class="messages-loading-overlay">
|
||||||
<view class="messages-loading-card">
|
<view class="messages-loading-card">
|
||||||
@@ -1694,6 +1694,17 @@ import { openFile as openFileNative, downloadAndOpen } from '@/utils/fileOpener.
|
|||||||
const hasMoreAIMessages = ref(true) // AI 会话是否还有更多消息可加载
|
const hasMoreAIMessages = ref(true) // AI 会话是否还有更多消息可加载
|
||||||
const currentPage = ref(1) // 当前页码(如果后端支持分页)
|
const currentPage = ref(1) // 当前页码(如果后端支持分页)
|
||||||
const pageSize = 200;
|
const pageSize = 200;
|
||||||
|
|
||||||
|
// 好友消息分页
|
||||||
|
const isFriendLoadingMore = ref(false) // 好友会话是否正在加载更多
|
||||||
|
const friendPageNumber = ref(1) // 好友消息当前页码(1-based)
|
||||||
|
const hasMoreFriendMessages = ref(true) // 好友会话是否还有更多消息
|
||||||
|
|
||||||
|
// 群聊消息分页
|
||||||
|
const isGroupLoadingMore = ref(false) // 群聊会话是否正在加载更多
|
||||||
|
const groupPageNumber = ref(1) // 群聊消息当前页码(1-based)
|
||||||
|
const hasMoreGroupMessages = ref(true) // 群聊会话是否还有更多消息
|
||||||
|
const groupSize = 100;
|
||||||
// 计算属性:自动根据 allmessages 和 currentPage 计算显示消息
|
// 计算属性:自动根据 allmessages 和 currentPage 计算显示消息
|
||||||
const currentMessages = computed(() => {
|
const currentMessages = computed(() => {
|
||||||
// return allmessages.value.slice(-pageInfoNumber);
|
// return allmessages.value.slice(-pageInfoNumber);
|
||||||
@@ -1725,7 +1736,10 @@ import { openFile as openFileNative, downloadAndOpen } from '@/utils/fileOpener.
|
|||||||
}
|
}
|
||||||
const takeFriendMessages = async () => {
|
const takeFriendMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getFriendMessages(currentSessionId.value) || [];
|
friendPageNumber.value = 1
|
||||||
|
hasMoreFriendMessages.value = true
|
||||||
|
const rawMessages = await getFriendMessages(currentSessionId.value, pageSize, 0) || [];
|
||||||
|
allmessages.value = rawMessages
|
||||||
// console.log("好友消息:", JSON.stringify(allmessages.value));
|
// console.log("好友消息:", JSON.stringify(allmessages.value));
|
||||||
// 数据获取后执行滚动
|
// 数据获取后执行滚动
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
@@ -1740,7 +1754,10 @@ import { openFile as openFileNative, downloadAndOpen } from '@/utils/fileOpener.
|
|||||||
}
|
}
|
||||||
const takeGroupMessages = async () => {
|
const takeGroupMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getGroupMessages(currentSessionId.value) || [];
|
groupPageNumber.value = 1
|
||||||
|
hasMoreGroupMessages.value = true
|
||||||
|
const rawMessages = await getGroupMessages(currentSessionId.value, pageSize, 0) || [];
|
||||||
|
allmessages.value = rawMessages
|
||||||
console.log("群聊消息:", allmessages.value);
|
console.log("群聊消息:", allmessages.value);
|
||||||
// 获取群成员列表并获取头像
|
// 获取群成员列表并获取头像
|
||||||
const memberList = await getGroupMemberList(currentSessionId.value)
|
const memberList = await getGroupMemberList(currentSessionId.value)
|
||||||
@@ -1778,10 +1795,14 @@ import { openFile as openFileNative, downloadAndOpen } from '@/utils/fileOpener.
|
|||||||
// // currentMessages.value = allmessages.value.slice(-pageInfoNumber);
|
// // currentMessages.value = allmessages.value.slice(-pageInfoNumber);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 滚动到顶部时加载更多 AI 消息
|
// 滚动到顶部时加载更多消息(根据 ChatType 分发)
|
||||||
const onScrollToUpper = async () => {
|
const onScrollToUpper = async () => {
|
||||||
if (ChatType.value === 0) {
|
if (ChatType.value === 0) {
|
||||||
await loadMoreAIMessages()
|
await loadMoreAIMessages()
|
||||||
|
} else if (ChatType.value === 1) {
|
||||||
|
await loadMoreFriendMessages()
|
||||||
|
} else if (ChatType.value === 2) {
|
||||||
|
await loadMoreGroupMessages()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1812,6 +1833,56 @@ import { openFile as openFileNative, downloadAndOpen } from '@/utils/fileOpener.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加载更多好友历史消息(上一页),并定位到原第一条消息
|
||||||
|
const loadMoreFriendMessages = async () => {
|
||||||
|
if (isFriendLoadingMore.value || !hasMoreFriendMessages.value || !currentSessionId.value) return
|
||||||
|
isFriendLoadingMore.value = true
|
||||||
|
try {
|
||||||
|
const nextPage = friendPageNumber.value + 1
|
||||||
|
const olderMessages = await getFriendMessages(currentSessionId.value, pageSize, nextPage)
|
||||||
|
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
friendPageNumber.value = nextPage
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value]
|
||||||
|
// 定位滚动
|
||||||
|
await nextTick()
|
||||||
|
scrollToView.value = 'msg-' + olderMessages.length
|
||||||
|
} else {
|
||||||
|
hasMoreFriendMessages.value = false
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载更多好友消息失败:', e)
|
||||||
|
uni.showToast({ title: '加载更多失败', icon: 'none' })
|
||||||
|
} finally {
|
||||||
|
isFriendLoadingMore.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载更多群聊历史消息(上一页),并定位到原第一条消息
|
||||||
|
const loadMoreGroupMessages = async () => {
|
||||||
|
if (isGroupLoadingMore.value || !hasMoreGroupMessages.value || !currentSessionId.value) return
|
||||||
|
isGroupLoadingMore.value = true
|
||||||
|
try {
|
||||||
|
const nextPage = groupPageNumber.value + 1
|
||||||
|
const olderMessages = await getGroupMessages(currentSessionId.value, pageSize, nextPage)
|
||||||
|
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
groupPageNumber.value = nextPage
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value]
|
||||||
|
// 定位滚动
|
||||||
|
await nextTick()
|
||||||
|
scrollToView.value = 'msg-' + olderMessages.length
|
||||||
|
} else {
|
||||||
|
hasMoreGroupMessages.value = false
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载更多群聊消息失败:', e)
|
||||||
|
uni.showToast({ title: '加载更多失败', icon: 'none' })
|
||||||
|
} finally {
|
||||||
|
isGroupLoadingMore.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 监听滚动
|
// 监听滚动
|
||||||
const onScroll = (e) => {}
|
const onScroll = (e) => {}
|
||||||
// 滑动到底部
|
// 滑动到底部
|
||||||
|
|||||||
@@ -66,7 +66,11 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="main-chat">
|
<view class="main-chat">
|
||||||
<scroll-view class="chat-messages" direction="vertical" scroll-y :scroll-into-view="scrollToView"
|
<scroll-view class="chat-messages" direction="vertical" scroll-y :scroll-into-view="scrollToView"
|
||||||
:upper-threshold="0" :scroll-with-animation="true" @scroll="onScroll">
|
:upper-threshold="50" :scroll-with-animation="true" @scroll="onScroll" @scrolltoupper="onScrollToUpper">
|
||||||
|
<!-- 加载更多提示 -->
|
||||||
|
<view v-if="(ChatType === 0 && isAILoadingMore) || (ChatType === 1 && isFriendLoadingMore) || (ChatType === 2 && isGroupLoadingMore)" class="load-more-tip">
|
||||||
|
<text>加载更多消息...</text>
|
||||||
|
</view>
|
||||||
<!-- 与AI的对话内容展示 -->
|
<!-- 与AI的对话内容展示 -->
|
||||||
<template v-for="(message, index) in currentMessages" :key="index">
|
<template v-for="(message, index) in currentMessages" :key="index">
|
||||||
<view v-if="ChatType === 0 && message.role !== 'tool'" class="chat-message" :id="'msg-' + index"
|
<view v-if="ChatType === 0 && message.role !== 'tool'" class="chat-message" :id="'msg-' + index"
|
||||||
@@ -1317,6 +1321,22 @@ import { openFile as openFileNative } from '@/utils/fileOpener.js'
|
|||||||
// 加载状态和分页相关变量
|
// 加载状态和分页相关变量
|
||||||
const isLoadingMore = ref(false) // 是否正在加载更多
|
const isLoadingMore = ref(false) // 是否正在加载更多
|
||||||
const currentPage = ref(1) // 当前页码(如果后端支持分页)
|
const currentPage = ref(1) // 当前页码(如果后端支持分页)
|
||||||
|
const pageSize = 200;
|
||||||
|
|
||||||
|
// AI 消息分页
|
||||||
|
const isAILoadingMore = ref(false)
|
||||||
|
const aiPageNumber = ref(0) // AI 会话当前服务端页码(0-based)
|
||||||
|
const hasMoreAIMessages = ref(true)
|
||||||
|
|
||||||
|
// 好友消息分页
|
||||||
|
const isFriendLoadingMore = ref(false)
|
||||||
|
const friendPageNumber = ref(1) // 好友消息当前页码(1-based)
|
||||||
|
const hasMoreFriendMessages = ref(true)
|
||||||
|
|
||||||
|
// 群聊消息分页
|
||||||
|
const isGroupLoadingMore = ref(false)
|
||||||
|
const groupPageNumber = ref(1) // 群聊消息当前页码(1-based)
|
||||||
|
const hasMoreGroupMessages = ref(true)
|
||||||
// 计算属性:自动根据 allmessages 和 currentPage 计算显示消息
|
// 计算属性:自动根据 allmessages 和 currentPage 计算显示消息
|
||||||
const currentMessages = computed(() => {
|
const currentMessages = computed(() => {
|
||||||
// return allmessages.value.slice(-pageInfoNumber);
|
// return allmessages.value.slice(-pageInfoNumber);
|
||||||
@@ -1327,9 +1347,11 @@ import { openFile as openFileNative } from '@/utils/fileOpener.js'
|
|||||||
// 获取对话消息
|
// 获取对话消息
|
||||||
const takeConversationMessages = async () => {
|
const takeConversationMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getConversationMessages(userToken.value, currentSessionId.value) || [];
|
aiPageNumber.value = 0
|
||||||
|
hasMoreAIMessages.value = true
|
||||||
|
const rawMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, 0) || [];
|
||||||
|
allmessages.value = rawMessages
|
||||||
// console.log("获取到的所有消息:", JSON.stringify(allmessages.value) );
|
// console.log("获取到的所有消息:", JSON.stringify(allmessages.value) );
|
||||||
// currentMessages.value = allmessages.value.slice(-pageInfoNumber);
|
|
||||||
// 数据获取后执行滚动
|
// 数据获取后执行滚动
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -1341,7 +1363,10 @@ import { openFile as openFileNative } from '@/utils/fileOpener.js'
|
|||||||
}
|
}
|
||||||
const takeFriendMessages = async () => {
|
const takeFriendMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getFriendMessages(currentSessionId.value) || [];
|
friendPageNumber.value = 1
|
||||||
|
hasMoreFriendMessages.value = true
|
||||||
|
const rawMessages = await getFriendMessages(currentSessionId.value, 1) || [];
|
||||||
|
allmessages.value = rawMessages
|
||||||
// console.log("好友消息:", JSON.stringify(allmessages.value));
|
// console.log("好友消息:", JSON.stringify(allmessages.value));
|
||||||
// 数据获取后执行滚动
|
// 数据获取后执行滚动
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
@@ -1354,7 +1379,10 @@ import { openFile as openFileNative } from '@/utils/fileOpener.js'
|
|||||||
}
|
}
|
||||||
const takeGroupMessages = async () => {
|
const takeGroupMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getGroupMessages(currentSessionId.value) || [];
|
groupPageNumber.value = 1
|
||||||
|
hasMoreGroupMessages.value = true
|
||||||
|
const rawMessages = await getGroupMessages(currentSessionId.value, 1) || [];
|
||||||
|
allmessages.value = rawMessages
|
||||||
console.log("群聊消息:", allmessages.value);
|
console.log("群聊消息:", allmessages.value);
|
||||||
// 获取群成员列表并获取头像
|
// 获取群成员列表并获取头像
|
||||||
const memberList = await getGroupMemberList(currentSessionId.value)
|
const memberList = await getGroupMemberList(currentSessionId.value)
|
||||||
@@ -1394,6 +1422,90 @@ import { openFile as openFileNative } from '@/utils/fileOpener.js'
|
|||||||
|
|
||||||
// 监听滚动
|
// 监听滚动
|
||||||
const onScroll = (e) => {}
|
const onScroll = (e) => {}
|
||||||
|
|
||||||
|
// 滚动到顶部时加载更多消息(根据 ChatType 分发)
|
||||||
|
const onScrollToUpper = async () => {
|
||||||
|
if (ChatType.value === 0) {
|
||||||
|
await loadMoreAIMessages()
|
||||||
|
} else if (ChatType.value === 1) {
|
||||||
|
await loadMoreFriendMessages()
|
||||||
|
} else if (ChatType.value === 2) {
|
||||||
|
await loadMoreGroupMessages()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载更多 AI 历史消息(上一页),并定位到原第一条消息
|
||||||
|
const loadMoreAIMessages = async () => {
|
||||||
|
if (isAILoadingMore.value || !hasMoreAIMessages.value || !currentSessionId.value) return
|
||||||
|
isAILoadingMore.value = true
|
||||||
|
try {
|
||||||
|
const nextPage = aiPageNumber.value + 1
|
||||||
|
const olderMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, nextPage)
|
||||||
|
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
aiPageNumber.value = nextPage
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value]
|
||||||
|
await nextTick()
|
||||||
|
scrollToView.value = 'msg-' + olderMessages.length
|
||||||
|
} else {
|
||||||
|
hasMoreAIMessages.value = false
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载更多AI消息失败:', e)
|
||||||
|
uni.showToast({ title: '加载更多失败', icon: 'none' })
|
||||||
|
} finally {
|
||||||
|
isAILoadingMore.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载更多好友历史消息(上一页),并定位到原第一条消息
|
||||||
|
const loadMoreFriendMessages = async () => {
|
||||||
|
if (isFriendLoadingMore.value || !hasMoreFriendMessages.value || !currentSessionId.value) return
|
||||||
|
isFriendLoadingMore.value = true
|
||||||
|
try {
|
||||||
|
const nextPage = friendPageNumber.value + 1
|
||||||
|
const olderMessages = await getFriendMessages(currentSessionId.value, nextPage)
|
||||||
|
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
friendPageNumber.value = nextPage
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value]
|
||||||
|
await nextTick()
|
||||||
|
scrollToView.value = 'msg-' + olderMessages.length
|
||||||
|
} else {
|
||||||
|
hasMoreFriendMessages.value = false
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载更多好友消息失败:', e)
|
||||||
|
uni.showToast({ title: '加载更多失败', icon: 'none' })
|
||||||
|
} finally {
|
||||||
|
isFriendLoadingMore.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载更多群聊历史消息(上一页),并定位到原第一条消息
|
||||||
|
const loadMoreGroupMessages = async () => {
|
||||||
|
if (isGroupLoadingMore.value || !hasMoreGroupMessages.value || !currentSessionId.value) return
|
||||||
|
isGroupLoadingMore.value = true
|
||||||
|
try {
|
||||||
|
const nextPage = groupPageNumber.value + 1
|
||||||
|
const olderMessages = await getGroupMessages(currentSessionId.value, nextPage)
|
||||||
|
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
groupPageNumber.value = nextPage
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value]
|
||||||
|
await nextTick()
|
||||||
|
scrollToView.value = 'msg-' + olderMessages.length
|
||||||
|
} else {
|
||||||
|
hasMoreGroupMessages.value = false
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('加载更多群聊消息失败:', e)
|
||||||
|
uni.showToast({ title: '加载更多失败', icon: 'none' })
|
||||||
|
} finally {
|
||||||
|
isGroupLoadingMore.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 滑动到底部
|
// 滑动到底部
|
||||||
const scrollToBottom = async () => {
|
const scrollToBottom = async () => {
|
||||||
await nextTick();
|
await nextTick();
|
||||||
|
|||||||
292
unpackage/dist/dev/app-plus/app-service.js
vendored
292
unpackage/dist/dev/app-plus/app-service.js
vendored
@@ -5005,7 +5005,7 @@ This will fail in production.`);
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const getFriendMessages = async (sessionId, current = 1) => {
|
const getFriendMessages = async (sessionId, size, current = 1) => {
|
||||||
formatAppLog("log", "at utils/friend-api.js:88", "请求的好友消息id:", sessionId);
|
formatAppLog("log", "at utils/friend-api.js:88", "请求的好友消息id:", sessionId);
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
uni.request({
|
uni.request({
|
||||||
@@ -5013,7 +5013,7 @@ This will fail in production.`);
|
|||||||
method: "POST",
|
method: "POST",
|
||||||
data: {
|
data: {
|
||||||
"sessionId": sessionId,
|
"sessionId": sessionId,
|
||||||
"size": 100,
|
"size": size,
|
||||||
"current": current,
|
"current": current,
|
||||||
"beginTime": "",
|
"beginTime": "",
|
||||||
"endTime": ""
|
"endTime": ""
|
||||||
@@ -5044,7 +5044,7 @@ This will fail in production.`);
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const getGroupMessages = async (groupId, current = 1) => {
|
const getGroupMessages = async (groupId, size, current = 1) => {
|
||||||
formatAppLog("log", "at utils/friend-api.js:134", "请求的群聊消息id:", groupId);
|
formatAppLog("log", "at utils/friend-api.js:134", "请求的群聊消息id:", groupId);
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
uni.request({
|
uni.request({
|
||||||
@@ -5052,7 +5052,7 @@ This will fail in production.`);
|
|||||||
method: "POST",
|
method: "POST",
|
||||||
data: {
|
data: {
|
||||||
"current": current,
|
"current": current,
|
||||||
"size": 100,
|
"size": size,
|
||||||
"groupId": groupId,
|
"groupId": groupId,
|
||||||
"beginTime": "",
|
"beginTime": "",
|
||||||
"endTime": ""
|
"endTime": ""
|
||||||
@@ -5758,7 +5758,8 @@ This will fail in production.`);
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const pageSize = 200;
|
const pageSize$1 = 200;
|
||||||
|
const groupSize = 100;
|
||||||
const _sfc_main$a = {
|
const _sfc_main$a = {
|
||||||
__name: "Chat",
|
__name: "Chat",
|
||||||
setup(__props, { expose: __expose }) {
|
setup(__props, { expose: __expose }) {
|
||||||
@@ -6836,6 +6837,12 @@ This will fail in production.`);
|
|||||||
const aiPageNumber = vue.ref(0);
|
const aiPageNumber = vue.ref(0);
|
||||||
const hasMoreAIMessages = vue.ref(true);
|
const hasMoreAIMessages = vue.ref(true);
|
||||||
const currentPage = vue.ref(1);
|
const currentPage = vue.ref(1);
|
||||||
|
const isFriendLoadingMore = vue.ref(false);
|
||||||
|
const friendPageNumber = vue.ref(1);
|
||||||
|
const hasMoreFriendMessages = vue.ref(true);
|
||||||
|
const isGroupLoadingMore = vue.ref(false);
|
||||||
|
const groupPageNumber = vue.ref(1);
|
||||||
|
const hasMoreGroupMessages = vue.ref(true);
|
||||||
const currentMessages = vue.computed(() => {
|
const currentMessages = vue.computed(() => {
|
||||||
return allmessages.value;
|
return allmessages.value;
|
||||||
});
|
});
|
||||||
@@ -6843,9 +6850,9 @@ This will fail in production.`);
|
|||||||
try {
|
try {
|
||||||
aiPageNumber.value = 0;
|
aiPageNumber.value = 0;
|
||||||
hasMoreAIMessages.value = true;
|
hasMoreAIMessages.value = true;
|
||||||
const rawMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, 0) || [];
|
const rawMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize$1, 0) || [];
|
||||||
allmessages.value = rawMessages;
|
allmessages.value = rawMessages;
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1712", "获取到的所有消息:", JSON.stringify(allmessages.value));
|
formatAppLog("log", "at pages/Chat/Chat.vue:1723", "获取到的所有消息:", JSON.stringify(allmessages.value));
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -6858,7 +6865,10 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const takeFriendMessages = async () => {
|
const takeFriendMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getFriendMessages(currentSessionId.value) || [];
|
friendPageNumber.value = 1;
|
||||||
|
hasMoreFriendMessages.value = true;
|
||||||
|
const rawMessages = await getFriendMessages(currentSessionId.value, pageSize$1, 0) || [];
|
||||||
|
allmessages.value = rawMessages;
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -6871,13 +6881,16 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const takeGroupMessages = async () => {
|
const takeGroupMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getGroupMessages(currentSessionId.value) || [];
|
groupPageNumber.value = 1;
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1744", "群聊消息:", allmessages.value);
|
hasMoreGroupMessages.value = true;
|
||||||
|
const rawMessages = await getGroupMessages(currentSessionId.value, pageSize$1, 0) || [];
|
||||||
|
allmessages.value = rawMessages;
|
||||||
|
formatAppLog("log", "at pages/Chat/Chat.vue:1761", "群聊消息:", allmessages.value);
|
||||||
const memberList = await getGroupMemberList(currentSessionId.value);
|
const memberList = await getGroupMemberList(currentSessionId.value);
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1747", "获取到的群成员列表:", memberList);
|
formatAppLog("log", "at pages/Chat/Chat.vue:1764", "获取到的群成员列表:", memberList);
|
||||||
if (memberList && memberList.length) {
|
if (memberList && memberList.length) {
|
||||||
groupMemberList.value = await takeGroupMemberAvatar(memberList);
|
groupMemberList.value = await takeGroupMemberAvatar(memberList);
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1750", "群成员列表(带头像):", groupMemberList.value);
|
formatAppLog("log", "at pages/Chat/Chat.vue:1767", "群成员列表(带头像):", groupMemberList.value);
|
||||||
} else {
|
} else {
|
||||||
groupMemberList.value = [];
|
groupMemberList.value = [];
|
||||||
}
|
}
|
||||||
@@ -6894,6 +6907,10 @@ This will fail in production.`);
|
|||||||
const onScrollToUpper = async () => {
|
const onScrollToUpper = async () => {
|
||||||
if (ChatType.value === 0) {
|
if (ChatType.value === 0) {
|
||||||
await loadMoreAIMessages();
|
await loadMoreAIMessages();
|
||||||
|
} else if (ChatType.value === 1) {
|
||||||
|
await loadMoreFriendMessages();
|
||||||
|
} else if (ChatType.value === 2) {
|
||||||
|
await loadMoreGroupMessages();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const loadMoreAIMessages = async () => {
|
const loadMoreAIMessages = async () => {
|
||||||
@@ -6902,7 +6919,7 @@ This will fail in production.`);
|
|||||||
isAILoadingMore.value = true;
|
isAILoadingMore.value = true;
|
||||||
try {
|
try {
|
||||||
const nextPage = aiPageNumber.value + 1;
|
const nextPage = aiPageNumber.value + 1;
|
||||||
const olderMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, nextPage);
|
const olderMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize$1, nextPage);
|
||||||
if (olderMessages && olderMessages.length > 0) {
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
aiPageNumber.value = nextPage;
|
aiPageNumber.value = nextPage;
|
||||||
allmessages.value = [...olderMessages, ...allmessages.value];
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
@@ -6912,12 +6929,56 @@ This will fail in production.`);
|
|||||||
hasMoreAIMessages.value = false;
|
hasMoreAIMessages.value = false;
|
||||||
}
|
}
|
||||||
} catch (e2) {
|
} catch (e2) {
|
||||||
formatAppLog("error", "at pages/Chat/Chat.vue:1808", "加载更多消息失败:", e2);
|
formatAppLog("error", "at pages/Chat/Chat.vue:1829", "加载更多消息失败:", e2);
|
||||||
uni.showToast({ title: "加载更多失败", icon: "none" });
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
} finally {
|
} finally {
|
||||||
isAILoadingMore.value = false;
|
isAILoadingMore.value = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const loadMoreFriendMessages = async () => {
|
||||||
|
if (isFriendLoadingMore.value || !hasMoreFriendMessages.value || !currentSessionId.value)
|
||||||
|
return;
|
||||||
|
isFriendLoadingMore.value = true;
|
||||||
|
try {
|
||||||
|
const nextPage = friendPageNumber.value + 1;
|
||||||
|
const olderMessages = await getFriendMessages(currentSessionId.value, pageSize$1, nextPage);
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
friendPageNumber.value = nextPage;
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
|
await vue.nextTick();
|
||||||
|
scrollToView.value = "msg-" + olderMessages.length;
|
||||||
|
} else {
|
||||||
|
hasMoreFriendMessages.value = false;
|
||||||
|
}
|
||||||
|
} catch (e2) {
|
||||||
|
formatAppLog("error", "at pages/Chat/Chat.vue:1854", "加载更多好友消息失败:", e2);
|
||||||
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
|
} finally {
|
||||||
|
isFriendLoadingMore.value = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const loadMoreGroupMessages = async () => {
|
||||||
|
if (isGroupLoadingMore.value || !hasMoreGroupMessages.value || !currentSessionId.value)
|
||||||
|
return;
|
||||||
|
isGroupLoadingMore.value = true;
|
||||||
|
try {
|
||||||
|
const nextPage = groupPageNumber.value + 1;
|
||||||
|
const olderMessages = await getGroupMessages(currentSessionId.value, pageSize$1, nextPage);
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
groupPageNumber.value = nextPage;
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
|
await vue.nextTick();
|
||||||
|
scrollToView.value = "msg-" + olderMessages.length;
|
||||||
|
} else {
|
||||||
|
hasMoreGroupMessages.value = false;
|
||||||
|
}
|
||||||
|
} catch (e2) {
|
||||||
|
formatAppLog("error", "at pages/Chat/Chat.vue:1879", "加载更多群聊消息失败:", e2);
|
||||||
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
|
} finally {
|
||||||
|
isGroupLoadingMore.value = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
const onScroll = (e2) => {
|
const onScroll = (e2) => {
|
||||||
};
|
};
|
||||||
const scrollToBottom = async () => {
|
const scrollToBottom = async () => {
|
||||||
@@ -6928,9 +6989,9 @@ This will fail in production.`);
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
vue.watch(() => friendSocketStore.MessageReceived, (newId) => {
|
vue.watch(() => friendSocketStore.MessageReceived, (newId) => {
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1829", "收到了好友消息");
|
formatAppLog("log", "at pages/Chat/Chat.vue:1900", "收到了好友消息");
|
||||||
if (newId) {
|
if (newId) {
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1831", "ChatType:", ChatType.value);
|
formatAppLog("log", "at pages/Chat/Chat.vue:1902", "ChatType:", ChatType.value);
|
||||||
switch (ChatType.value) {
|
switch (ChatType.value) {
|
||||||
case 0:
|
case 0:
|
||||||
takeConversationMessages();
|
takeConversationMessages();
|
||||||
@@ -6945,7 +7006,7 @@ This will fail in production.`);
|
|||||||
friendSocketStore.MessageReceived = false;
|
friendSocketStore.MessageReceived = false;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
formatAppLog("log", "at pages/Chat/Chat.vue:1847", "default 分支");
|
formatAppLog("log", "at pages/Chat/Chat.vue:1918", "default 分支");
|
||||||
friendSocketStore.MessageReceived = false;
|
friendSocketStore.MessageReceived = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -7028,7 +7089,7 @@ This will fail in production.`);
|
|||||||
return downloadToastTimer;
|
return downloadToastTimer;
|
||||||
}, set downloadToastTimer(v) {
|
}, set downloadToastTimer(v) {
|
||||||
downloadToastTimer = v;
|
downloadToastTimer = v;
|
||||||
}, showDownloadToast, hideDownloadToast, openLink, downloadAndHandle, sendMessage, sendFriendMessage, sendGroupMessage, sendAIMessage, stopConversation, textMessage, UserConversations, currentSessionId, userToken, UserId, UserAvatar, UserData, takeUserInfo, takeUserConversations, FriendInfoList, takeFriendList, takeTalkUserAvatar, takeUserAvatar, GroupList, takeGroupList, groupMemberList, takeGroupMemberAvatar, getGroupMemberAvatarById, allmessages, scrollToView, bottomToggle, isLoadingMore, isAILoadingMore, aiPageNumber, hasMoreAIMessages, currentPage, pageSize, currentMessages, takeConversationMessages, takeFriendMessages, takeGroupMessages, onScrollToUpper, loadMoreAIMessages, onScroll, scrollToBottom, computed: vue.computed, getCurrentInstance: vue.getCurrentInstance, nextTick: vue.nextTick, onMounted: vue.onMounted, ref: vue.ref, watch: vue.watch, get onLoad() {
|
}, showDownloadToast, hideDownloadToast, openLink, downloadAndHandle, sendMessage, sendFriendMessage, sendGroupMessage, sendAIMessage, stopConversation, textMessage, UserConversations, currentSessionId, userToken, UserId, UserAvatar, UserData, takeUserInfo, takeUserConversations, FriendInfoList, takeFriendList, takeTalkUserAvatar, takeUserAvatar, GroupList, takeGroupList, groupMemberList, takeGroupMemberAvatar, getGroupMemberAvatarById, allmessages, scrollToView, bottomToggle, isLoadingMore, isAILoadingMore, aiPageNumber, hasMoreAIMessages, currentPage, pageSize: pageSize$1, isFriendLoadingMore, friendPageNumber, hasMoreFriendMessages, isGroupLoadingMore, groupPageNumber, hasMoreGroupMessages, groupSize, currentMessages, takeConversationMessages, takeFriendMessages, takeGroupMessages, onScrollToUpper, loadMoreAIMessages, loadMoreFriendMessages, loadMoreGroupMessages, onScroll, scrollToBottom, computed: vue.computed, getCurrentInstance: vue.getCurrentInstance, nextTick: vue.nextTick, onMounted: vue.onMounted, ref: vue.ref, watch: vue.watch, get onLoad() {
|
||||||
return onLoad;
|
return onLoad;
|
||||||
}, get onShow() {
|
}, get onShow() {
|
||||||
return onShow;
|
return onShow;
|
||||||
@@ -7360,7 +7421,7 @@ This will fail in production.`);
|
|||||||
onScroll: $setup.onScroll,
|
onScroll: $setup.onScroll,
|
||||||
onScrolltoupper: $setup.onScrollToUpper
|
onScrolltoupper: $setup.onScrollToUpper
|
||||||
}, [
|
}, [
|
||||||
$setup.ChatType === 0 && $setup.isAILoadingMore ? (vue.openBlock(), vue.createElementBlock("view", {
|
$setup.ChatType === 0 && $setup.isAILoadingMore || $setup.ChatType === 1 && $setup.isFriendLoadingMore || $setup.ChatType === 2 && $setup.isGroupLoadingMore ? (vue.openBlock(), vue.createElementBlock("view", {
|
||||||
key: 0,
|
key: 0,
|
||||||
class: "load-more-tip"
|
class: "load-more-tip"
|
||||||
}, [
|
}, [
|
||||||
@@ -13749,6 +13810,7 @@ This will fail in production.`);
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const PagesCloudDbDetailCloudDbDetail = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3], ["__scopeId", "data-v-96fa4671"], ["__file", "D:/Projects/uniapp/app-test/test1/pages/CloudDbDetail/CloudDbDetail.vue"]]);
|
const PagesCloudDbDetailCloudDbDetail = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3], ["__scopeId", "data-v-96fa4671"], ["__file", "D:/Projects/uniapp/app-test/test1/pages/CloudDbDetail/CloudDbDetail.vue"]]);
|
||||||
|
const pageSize = 200;
|
||||||
const _sfc_main$3 = {
|
const _sfc_main$3 = {
|
||||||
__name: "text",
|
__name: "text",
|
||||||
setup(__props, { expose: __expose }) {
|
setup(__props, { expose: __expose }) {
|
||||||
@@ -13758,7 +13820,7 @@ This will fail in production.`);
|
|||||||
if (friendSocketStore.isConnected)
|
if (friendSocketStore.isConnected)
|
||||||
return;
|
return;
|
||||||
if (!userToken.value || !UserId.value) {
|
if (!userToken.value || !UserId.value) {
|
||||||
formatAppLog("warn", "at pages/text/text.vue:335", "Token或UserId未准备好");
|
formatAppLog("warn", "at pages/text/text.vue:339", "Token或UserId未准备好");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
friendSocketStore.connect({
|
friendSocketStore.connect({
|
||||||
@@ -13841,7 +13903,7 @@ This will fail in production.`);
|
|||||||
);
|
);
|
||||||
return html;
|
return html;
|
||||||
} catch (e2) {
|
} catch (e2) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:456", "解析失败", e2);
|
formatAppLog("error", "at pages/text/text.vue:460", "解析失败", e2);
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -13892,7 +13954,7 @@ This will fail in production.`);
|
|||||||
files
|
files
|
||||||
};
|
};
|
||||||
} catch (e2) {
|
} catch (e2) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:525", "解析文件信息失败:", e2);
|
formatAppLog("error", "at pages/text/text.vue:529", "解析文件信息失败:", e2);
|
||||||
return {
|
return {
|
||||||
textContent: content,
|
textContent: content,
|
||||||
files: []
|
files: []
|
||||||
@@ -13929,7 +13991,7 @@ This will fail in production.`);
|
|||||||
}
|
}
|
||||||
takeUserConversations();
|
takeUserConversations();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:570", "新建普通会话失败:", error);
|
formatAppLog("error", "at pages/text/text.vue:574", "新建普通会话失败:", error);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "创建会话失败,请重试",
|
title: "创建会话失败,请重试",
|
||||||
icon: "none"
|
icon: "none"
|
||||||
@@ -13967,7 +14029,7 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const previewFileArray = vue.ref([]);
|
const previewFileArray = vue.ref([]);
|
||||||
const uploadPhoto = () => {
|
const uploadPhoto = () => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:619", "点击了拍照上传");
|
formatAppLog("log", "at pages/text/text.vue:623", "点击了拍照上传");
|
||||||
uni.chooseImage({
|
uni.chooseImage({
|
||||||
count: 1,
|
count: 1,
|
||||||
sourceType: ["camera", "album"],
|
sourceType: ["camera", "album"],
|
||||||
@@ -13990,7 +14052,7 @@ This will fail in production.`);
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
formatAppLog("error", "at pages/text/text.vue:637", "选择图片失败", err);
|
formatAppLog("error", "at pages/text/text.vue:641", "选择图片失败", err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -13999,12 +14061,12 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const fileList = vue.ref([]);
|
const fileList = vue.ref([]);
|
||||||
const uploadFile = () => {
|
const uploadFile = () => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:648", "点击了上传文件");
|
formatAppLog("log", "at pages/text/text.vue:652", "点击了上传文件");
|
||||||
chooseFile({
|
chooseFile({
|
||||||
count: 5,
|
count: 5,
|
||||||
type: "all",
|
type: "all",
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:653", "成功了");
|
formatAppLog("log", "at pages/text/text.vue:657", "成功了");
|
||||||
fileList.value = res.tempFiles;
|
fileList.value = res.tempFiles;
|
||||||
previewFileArray.value.push(...res.tempFiles);
|
previewFileArray.value.push(...res.tempFiles);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -14013,7 +14075,7 @@ This will fail in production.`);
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
formatAppLog("error", "at pages/text/text.vue:664", "选择失败:", err);
|
formatAppLog("error", "at pages/text/text.vue:668", "选择失败:", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "选择失败",
|
title: "选择失败",
|
||||||
icon: "error"
|
icon: "error"
|
||||||
@@ -14213,7 +14275,7 @@ This will fail in production.`);
|
|||||||
previewFileArray.value = [];
|
previewFileArray.value = [];
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
formatAppLog("error", "at pages/text/text.vue:888", "文件上传失败:", err);
|
formatAppLog("error", "at pages/text/text.vue:892", "文件上传失败:", err);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "文件上传失败,请重试",
|
title: "文件上传失败,请重试",
|
||||||
icon: "error"
|
icon: "error"
|
||||||
@@ -14347,15 +14409,15 @@ This will fail in production.`);
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const stopConversation = async () => {
|
const stopConversation = async () => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1057", "中断对话 - 当前会话ID:", currentSessionId.value);
|
formatAppLog("log", "at pages/text/text.vue:1061", "中断对话 - 当前会话ID:", currentSessionId.value);
|
||||||
try {
|
try {
|
||||||
await socketStore.send({
|
await socketStore.send({
|
||||||
type: "stop",
|
type: "stop",
|
||||||
conversation_id: currentSessionId.value
|
conversation_id: currentSessionId.value
|
||||||
});
|
});
|
||||||
formatAppLog("log", "at pages/text/text.vue:1063", "中断指令已发送成功");
|
formatAppLog("log", "at pages/text/text.vue:1067", "中断指令已发送成功");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1065", "中断指令发送失败:", err);
|
formatAppLog("error", "at pages/text/text.vue:1069", "中断指令发送失败:", err);
|
||||||
}
|
}
|
||||||
if (streamingMessageId.value) {
|
if (streamingMessageId.value) {
|
||||||
allmessages.value = allmessages.value.filter((m) => m._id !== streamingMessageId.value);
|
allmessages.value = allmessages.value.filter((m) => m._id !== streamingMessageId.value);
|
||||||
@@ -14373,9 +14435,9 @@ This will fail in production.`);
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
vue.watch(() => socketStore.isThinking, (newVal, oldVal) => {
|
vue.watch(() => socketStore.isThinking, (newVal, oldVal) => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1089", "isThinking 变化:", oldVal, "→", newVal, "messageString:", socketStore.messageString);
|
formatAppLog("log", "at pages/text/text.vue:1093", "isThinking 变化:", oldVal, "→", newVal, "messageString:", socketStore.messageString);
|
||||||
if (!oldVal && newVal) {
|
if (!oldVal && newVal) {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1092", "AI开始回复(跨设备同步),锁定输入框");
|
formatAppLog("log", "at pages/text/text.vue:1096", "AI开始回复(跨设备同步),锁定输入框");
|
||||||
isThinking.value = true;
|
isThinking.value = true;
|
||||||
if (!streamingMessageId.value) {
|
if (!streamingMessageId.value) {
|
||||||
streamingMessageId.value = "streaming-" + Date.now();
|
streamingMessageId.value = "streaming-" + Date.now();
|
||||||
@@ -14389,7 +14451,7 @@ This will fail in production.`);
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (oldVal && !newVal) {
|
if (oldVal && !newVal) {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1108", "AI回复结束(正常/中断),解锁并刷新消息列表");
|
formatAppLog("log", "at pages/text/text.vue:1112", "AI回复结束(正常/中断),解锁并刷新消息列表");
|
||||||
if (streamingMessageId.value) {
|
if (streamingMessageId.value) {
|
||||||
allmessages.value = allmessages.value.filter((m) => m._id !== streamingMessageId.value);
|
allmessages.value = allmessages.value.filter((m) => m._id !== streamingMessageId.value);
|
||||||
streamingMessageId.value = null;
|
streamingMessageId.value = null;
|
||||||
@@ -14443,15 +14505,15 @@ This will fail in production.`);
|
|||||||
UserData.value = await getUserInfo(userToken.value);
|
UserData.value = await getUserInfo(userToken.value);
|
||||||
UserId.value = UserData.value._id;
|
UserId.value = UserData.value._id;
|
||||||
UserAvatar.value = UserData.value.avatar || "";
|
UserAvatar.value = UserData.value.avatar || "";
|
||||||
formatAppLog("log", "at pages/text/text.vue:1174", "用户信息已加载:", UserId.value, UserAvatar.value);
|
formatAppLog("log", "at pages/text/text.vue:1178", "用户信息已加载:", UserId.value, UserAvatar.value);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1176", "获取用户信息失败:", error);
|
formatAppLog("error", "at pages/text/text.vue:1180", "获取用户信息失败:", error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const takeUserConversations = async () => {
|
const takeUserConversations = async () => {
|
||||||
try {
|
try {
|
||||||
userToken.value = getToken();
|
userToken.value = getToken();
|
||||||
formatAppLog("log", "at pages/text/text.vue:1184", "token:", userToken.value);
|
formatAppLog("log", "at pages/text/text.vue:1188", "token:", userToken.value);
|
||||||
UserConversations.value = await getUserConversations(userToken.value) || [];
|
UserConversations.value = await getUserConversations(userToken.value) || [];
|
||||||
const savedSessionId = getCurrentSessionId();
|
const savedSessionId = getCurrentSessionId();
|
||||||
if (savedSessionId && UserConversations.value.some((c) => c._id === savedSessionId)) {
|
if (savedSessionId && UserConversations.value.some((c) => c._id === savedSessionId)) {
|
||||||
@@ -14461,7 +14523,7 @@ This will fail in production.`);
|
|||||||
} else {
|
} else {
|
||||||
currentSessionId.value = "";
|
currentSessionId.value = "";
|
||||||
}
|
}
|
||||||
formatAppLog("log", "at pages/text/text.vue:1196", "保存会话id:", currentSessionId.value);
|
formatAppLog("log", "at pages/text/text.vue:1200", "保存会话id:", currentSessionId.value);
|
||||||
uni.setStorageSync("currentSessionId", currentSessionId.value);
|
uni.setStorageSync("currentSessionId", currentSessionId.value);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -14473,17 +14535,17 @@ This will fail in production.`);
|
|||||||
const FriendInfoList = vue.ref([]);
|
const FriendInfoList = vue.ref([]);
|
||||||
const takeFriendList = async () => {
|
const takeFriendList = async () => {
|
||||||
try {
|
try {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1211", "开始获取好友列表");
|
formatAppLog("log", "at pages/text/text.vue:1215", "开始获取好友列表");
|
||||||
const friendList = await getChatFriend(UserId.value);
|
const friendList = await getChatFriend(UserId.value);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1214", "friendList:", friendList);
|
formatAppLog("log", "at pages/text/text.vue:1218", "friendList:", friendList);
|
||||||
if (friendList && friendList.length) {
|
if (friendList && friendList.length) {
|
||||||
FriendInfoList.value = await takeUserAvatar(friendList);
|
FriendInfoList.value = await takeUserAvatar(friendList);
|
||||||
} else {
|
} else {
|
||||||
FriendInfoList.value = [];
|
FriendInfoList.value = [];
|
||||||
formatAppLog("log", "at pages/text/text.vue:1219", "好友列表为空");
|
formatAppLog("log", "at pages/text/text.vue:1223", "好友列表为空");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1222", "获取好友列表失败:", error);
|
formatAppLog("error", "at pages/text/text.vue:1226", "获取好友列表失败:", error);
|
||||||
FriendInfoList.value = [];
|
FriendInfoList.value = [];
|
||||||
} finally {
|
} finally {
|
||||||
UserConversations.value = FriendInfoList.value;
|
UserConversations.value = FriendInfoList.value;
|
||||||
@@ -14510,17 +14572,17 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1252", "获取好友头像失败", err);
|
formatAppLog("error", "at pages/text/text.vue:1256", "获取好友头像失败", err);
|
||||||
return friendList;
|
return friendList;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const GroupList = vue.ref([]);
|
const GroupList = vue.ref([]);
|
||||||
const takeGroupList = async () => {
|
const takeGroupList = async () => {
|
||||||
try {
|
try {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1262", "开始获取群聊列表");
|
formatAppLog("log", "at pages/text/text.vue:1266", "开始获取群聊列表");
|
||||||
GroupList.value = await getGroup(UserId.value);
|
GroupList.value = await getGroup(UserId.value);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1267", "获取群聊列表失败:", error);
|
formatAppLog("error", "at pages/text/text.vue:1271", "获取群聊列表失败:", error);
|
||||||
GroupList.value = [];
|
GroupList.value = [];
|
||||||
} finally {
|
} finally {
|
||||||
UserConversations.value = GroupList.value;
|
UserConversations.value = GroupList.value;
|
||||||
@@ -14532,22 +14594,22 @@ This will fail in production.`);
|
|||||||
return [];
|
return [];
|
||||||
try {
|
try {
|
||||||
const memberIds = memberList.map((item) => item.groupContactId);
|
const memberIds = memberList.map((item) => item.groupContactId);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1281", "请求头像的ID列表:", memberIds);
|
formatAppLog("log", "at pages/text/text.vue:1285", "请求头像的ID列表:", memberIds);
|
||||||
const memberAvatarList = await getUserAvatar(userToken.value, memberIds);
|
const memberAvatarList = await getUserAvatar(userToken.value, memberIds);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1283", "头像接口返回数据:", memberAvatarList);
|
formatAppLog("log", "at pages/text/text.vue:1287", "头像接口返回数据:", memberAvatarList);
|
||||||
const userMap = new Map(memberAvatarList.map((user) => [user.user_id, user]) || []);
|
const userMap = new Map(memberAvatarList.map((user) => [user.user_id, user]) || []);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1286", "userMap的keys:", Array.from(userMap.keys()));
|
formatAppLog("log", "at pages/text/text.vue:1290", "userMap的keys:", Array.from(userMap.keys()));
|
||||||
return memberList.map((member) => {
|
return memberList.map((member) => {
|
||||||
const memberId = member.groupContactId;
|
const memberId = member.groupContactId;
|
||||||
const userInfo = userMap.get(memberId);
|
const userInfo = userMap.get(memberId);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1291", `查找 ${memberId} 的头像:`, userInfo);
|
formatAppLog("log", "at pages/text/text.vue:1295", `查找 ${memberId} 的头像:`, userInfo);
|
||||||
return {
|
return {
|
||||||
...member,
|
...member,
|
||||||
avatar: (userInfo == null ? void 0 : userInfo.avatar) || null
|
avatar: (userInfo == null ? void 0 : userInfo.avatar) || null
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
formatAppLog("error", "at pages/text/text.vue:1298", "获取群成员头像失败", err);
|
formatAppLog("error", "at pages/text/text.vue:1302", "获取群成员头像失败", err);
|
||||||
return memberList;
|
return memberList;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -14562,12 +14624,24 @@ This will fail in production.`);
|
|||||||
const bottomToggle = vue.ref(false);
|
const bottomToggle = vue.ref(false);
|
||||||
const isLoadingMore = vue.ref(false);
|
const isLoadingMore = vue.ref(false);
|
||||||
const currentPage = vue.ref(1);
|
const currentPage = vue.ref(1);
|
||||||
|
const isAILoadingMore = vue.ref(false);
|
||||||
|
const aiPageNumber = vue.ref(0);
|
||||||
|
const hasMoreAIMessages = vue.ref(true);
|
||||||
|
const isFriendLoadingMore = vue.ref(false);
|
||||||
|
const friendPageNumber = vue.ref(1);
|
||||||
|
const hasMoreFriendMessages = vue.ref(true);
|
||||||
|
const isGroupLoadingMore = vue.ref(false);
|
||||||
|
const groupPageNumber = vue.ref(1);
|
||||||
|
const hasMoreGroupMessages = vue.ref(true);
|
||||||
const currentMessages = vue.computed(() => {
|
const currentMessages = vue.computed(() => {
|
||||||
return allmessages.value;
|
return allmessages.value;
|
||||||
});
|
});
|
||||||
const takeConversationMessages = async () => {
|
const takeConversationMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getConversationMessages(userToken.value, currentSessionId.value) || [];
|
aiPageNumber.value = 0;
|
||||||
|
hasMoreAIMessages.value = true;
|
||||||
|
const rawMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, 0) || [];
|
||||||
|
allmessages.value = rawMessages;
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -14578,7 +14652,10 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const takeFriendMessages = async () => {
|
const takeFriendMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getFriendMessages(currentSessionId.value) || [];
|
friendPageNumber.value = 1;
|
||||||
|
hasMoreFriendMessages.value = true;
|
||||||
|
const rawMessages = await getFriendMessages(currentSessionId.value, 1) || [];
|
||||||
|
allmessages.value = rawMessages;
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -14589,13 +14666,16 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const takeGroupMessages = async () => {
|
const takeGroupMessages = async () => {
|
||||||
try {
|
try {
|
||||||
allmessages.value = await getGroupMessages(currentSessionId.value) || [];
|
groupPageNumber.value = 1;
|
||||||
formatAppLog("log", "at pages/text/text.vue:1358", "群聊消息:", allmessages.value);
|
hasMoreGroupMessages.value = true;
|
||||||
|
const rawMessages = await getGroupMessages(currentSessionId.value, 1) || [];
|
||||||
|
allmessages.value = rawMessages;
|
||||||
|
formatAppLog("log", "at pages/text/text.vue:1386", "群聊消息:", allmessages.value);
|
||||||
const memberList = await getGroupMemberList(currentSessionId.value);
|
const memberList = await getGroupMemberList(currentSessionId.value);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1361", "获取到的群成员列表:", memberList);
|
formatAppLog("log", "at pages/text/text.vue:1389", "获取到的群成员列表:", memberList);
|
||||||
if (memberList && memberList.length) {
|
if (memberList && memberList.length) {
|
||||||
groupMemberList.value = await takeGroupMemberAvatar(memberList);
|
groupMemberList.value = await takeGroupMemberAvatar(memberList);
|
||||||
formatAppLog("log", "at pages/text/text.vue:1364", "群成员列表(带头像):", groupMemberList.value);
|
formatAppLog("log", "at pages/text/text.vue:1392", "群成员列表(带头像):", groupMemberList.value);
|
||||||
} else {
|
} else {
|
||||||
groupMemberList.value = [];
|
groupMemberList.value = [];
|
||||||
}
|
}
|
||||||
@@ -14609,6 +14689,81 @@ This will fail in production.`);
|
|||||||
};
|
};
|
||||||
const onScroll = (e2) => {
|
const onScroll = (e2) => {
|
||||||
};
|
};
|
||||||
|
const onScrollToUpper = async () => {
|
||||||
|
if (ChatType.value === 0) {
|
||||||
|
await loadMoreAIMessages();
|
||||||
|
} else if (ChatType.value === 1) {
|
||||||
|
await loadMoreFriendMessages();
|
||||||
|
} else if (ChatType.value === 2) {
|
||||||
|
await loadMoreGroupMessages();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const loadMoreAIMessages = async () => {
|
||||||
|
if (isAILoadingMore.value || !hasMoreAIMessages.value || !currentSessionId.value)
|
||||||
|
return;
|
||||||
|
isAILoadingMore.value = true;
|
||||||
|
try {
|
||||||
|
const nextPage = aiPageNumber.value + 1;
|
||||||
|
const olderMessages = await getConversationMessages(userToken.value, currentSessionId.value, pageSize, nextPage);
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
aiPageNumber.value = nextPage;
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
|
await vue.nextTick();
|
||||||
|
scrollToView.value = "msg-" + olderMessages.length;
|
||||||
|
} else {
|
||||||
|
hasMoreAIMessages.value = false;
|
||||||
|
}
|
||||||
|
} catch (e2) {
|
||||||
|
formatAppLog("error", "at pages/text/text.vue:1454", "加载更多AI消息失败:", e2);
|
||||||
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
|
} finally {
|
||||||
|
isAILoadingMore.value = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const loadMoreFriendMessages = async () => {
|
||||||
|
if (isFriendLoadingMore.value || !hasMoreFriendMessages.value || !currentSessionId.value)
|
||||||
|
return;
|
||||||
|
isFriendLoadingMore.value = true;
|
||||||
|
try {
|
||||||
|
const nextPage = friendPageNumber.value + 1;
|
||||||
|
const olderMessages = await getFriendMessages(currentSessionId.value, nextPage);
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
friendPageNumber.value = nextPage;
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
|
await vue.nextTick();
|
||||||
|
scrollToView.value = "msg-" + olderMessages.length;
|
||||||
|
} else {
|
||||||
|
hasMoreFriendMessages.value = false;
|
||||||
|
}
|
||||||
|
} catch (e2) {
|
||||||
|
formatAppLog("error", "at pages/text/text.vue:1478", "加载更多好友消息失败:", e2);
|
||||||
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
|
} finally {
|
||||||
|
isFriendLoadingMore.value = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const loadMoreGroupMessages = async () => {
|
||||||
|
if (isGroupLoadingMore.value || !hasMoreGroupMessages.value || !currentSessionId.value)
|
||||||
|
return;
|
||||||
|
isGroupLoadingMore.value = true;
|
||||||
|
try {
|
||||||
|
const nextPage = groupPageNumber.value + 1;
|
||||||
|
const olderMessages = await getGroupMessages(currentSessionId.value, nextPage);
|
||||||
|
if (olderMessages && olderMessages.length > 0) {
|
||||||
|
groupPageNumber.value = nextPage;
|
||||||
|
allmessages.value = [...olderMessages, ...allmessages.value];
|
||||||
|
await vue.nextTick();
|
||||||
|
scrollToView.value = "msg-" + olderMessages.length;
|
||||||
|
} else {
|
||||||
|
hasMoreGroupMessages.value = false;
|
||||||
|
}
|
||||||
|
} catch (e2) {
|
||||||
|
formatAppLog("error", "at pages/text/text.vue:1502", "加载更多群聊消息失败:", e2);
|
||||||
|
uni.showToast({ title: "加载更多失败", icon: "none" });
|
||||||
|
} finally {
|
||||||
|
isGroupLoadingMore.value = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
const scrollToBottom = async () => {
|
const scrollToBottom = async () => {
|
||||||
await vue.nextTick();
|
await vue.nextTick();
|
||||||
if (currentMessages.value.length > 0) {
|
if (currentMessages.value.length > 0) {
|
||||||
@@ -14617,9 +14772,9 @@ This will fail in production.`);
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
vue.watch(() => friendSocketStore.MessageReceived, (newId) => {
|
vue.watch(() => friendSocketStore.MessageReceived, (newId) => {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1409", "收到了好友消息");
|
formatAppLog("log", "at pages/text/text.vue:1521", "收到了好友消息");
|
||||||
if (newId) {
|
if (newId) {
|
||||||
formatAppLog("log", "at pages/text/text.vue:1411", "ChatType:", ChatType.value);
|
formatAppLog("log", "at pages/text/text.vue:1523", "ChatType:", ChatType.value);
|
||||||
switch (ChatType.value) {
|
switch (ChatType.value) {
|
||||||
case 0:
|
case 0:
|
||||||
takeConversationMessages();
|
takeConversationMessages();
|
||||||
@@ -14634,7 +14789,7 @@ This will fail in production.`);
|
|||||||
friendSocketStore.MessageReceived = false;
|
friendSocketStore.MessageReceived = false;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
formatAppLog("log", "at pages/text/text.vue:1427", "default 分支");
|
formatAppLog("log", "at pages/text/text.vue:1539", "default 分支");
|
||||||
friendSocketStore.MessageReceived = false;
|
friendSocketStore.MessageReceived = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -14700,7 +14855,7 @@ This will fail in production.`);
|
|||||||
return downloadToastTimer;
|
return downloadToastTimer;
|
||||||
}, set downloadToastTimer(v) {
|
}, set downloadToastTimer(v) {
|
||||||
downloadToastTimer = v;
|
downloadToastTimer = v;
|
||||||
}, showDownloadToast, hideDownloadToast, openLink, downloadAndHandle, sendMessage, sendFriendMessage, sendGroupMessage, sendAIMessage, stopConversation, textMessage, UserConversations, currentSessionId, userToken, UserId, UserAvatar, UserData, takeUserInfo, takeUserConversations, FriendInfoList, takeFriendList, takeTalkUserAvatar, takeUserAvatar, GroupList, takeGroupList, groupMemberList, takeGroupMemberAvatar, getGroupMemberAvatarById, allmessages, scrollToView, bottomToggle, isLoadingMore, currentPage, currentMessages, takeConversationMessages, takeFriendMessages, takeGroupMessages, onScroll, scrollToBottom, computed: vue.computed, getCurrentInstance: vue.getCurrentInstance, nextTick: vue.nextTick, onMounted: vue.onMounted, ref: vue.ref, watch: vue.watch, get onShow() {
|
}, showDownloadToast, hideDownloadToast, openLink, downloadAndHandle, sendMessage, sendFriendMessage, sendGroupMessage, sendAIMessage, stopConversation, textMessage, UserConversations, currentSessionId, userToken, UserId, UserAvatar, UserData, takeUserInfo, takeUserConversations, FriendInfoList, takeFriendList, takeTalkUserAvatar, takeUserAvatar, GroupList, takeGroupList, groupMemberList, takeGroupMemberAvatar, getGroupMemberAvatarById, allmessages, scrollToView, bottomToggle, isLoadingMore, currentPage, pageSize, isAILoadingMore, aiPageNumber, hasMoreAIMessages, isFriendLoadingMore, friendPageNumber, hasMoreFriendMessages, isGroupLoadingMore, groupPageNumber, hasMoreGroupMessages, currentMessages, takeConversationMessages, takeFriendMessages, takeGroupMessages, onScroll, onScrollToUpper, loadMoreAIMessages, loadMoreFriendMessages, loadMoreGroupMessages, scrollToBottom, computed: vue.computed, getCurrentInstance: vue.getCurrentInstance, nextTick: vue.nextTick, onMounted: vue.onMounted, ref: vue.ref, watch: vue.watch, get onShow() {
|
||||||
return onShow;
|
return onShow;
|
||||||
}, get onUnload() {
|
}, get onUnload() {
|
||||||
return onUnload;
|
return onUnload;
|
||||||
@@ -14891,10 +15046,17 @@ This will fail in production.`);
|
|||||||
direction: "vertical",
|
direction: "vertical",
|
||||||
"scroll-y": "",
|
"scroll-y": "",
|
||||||
"scroll-into-view": $setup.scrollToView,
|
"scroll-into-view": $setup.scrollToView,
|
||||||
"upper-threshold": 0,
|
"upper-threshold": 50,
|
||||||
"scroll-with-animation": true,
|
"scroll-with-animation": true,
|
||||||
onScroll: $setup.onScroll
|
onScroll: $setup.onScroll,
|
||||||
|
onScrolltoupper: $setup.onScrollToUpper
|
||||||
}, [
|
}, [
|
||||||
|
$setup.ChatType === 0 && $setup.isAILoadingMore || $setup.ChatType === 1 && $setup.isFriendLoadingMore || $setup.ChatType === 2 && $setup.isGroupLoadingMore ? (vue.openBlock(), vue.createElementBlock("view", {
|
||||||
|
key: 0,
|
||||||
|
class: "load-more-tip"
|
||||||
|
}, [
|
||||||
|
vue.createElementVNode("text", null, "加载更多消息...")
|
||||||
|
])) : vue.createCommentVNode("v-if", true),
|
||||||
(vue.openBlock(true), vue.createElementBlock(
|
(vue.openBlock(true), vue.createElementBlock(
|
||||||
vue.Fragment,
|
vue.Fragment,
|
||||||
null,
|
null,
|
||||||
@@ -15003,7 +15165,7 @@ This will fail in production.`);
|
|||||||
)),
|
)),
|
||||||
$setup.ChatType === 1 ? (vue.openBlock(true), vue.createElementBlock(
|
$setup.ChatType === 1 ? (vue.openBlock(true), vue.createElementBlock(
|
||||||
vue.Fragment,
|
vue.Fragment,
|
||||||
{ key: 0 },
|
{ key: 1 },
|
||||||
vue.renderList($setup.currentMessages, (message, index) => {
|
vue.renderList($setup.currentMessages, (message, index) => {
|
||||||
var _a;
|
var _a;
|
||||||
return vue.openBlock(), vue.createElementBlock("view", {
|
return vue.openBlock(), vue.createElementBlock("view", {
|
||||||
@@ -15096,7 +15258,7 @@ This will fail in production.`);
|
|||||||
)) : vue.createCommentVNode("v-if", true),
|
)) : vue.createCommentVNode("v-if", true),
|
||||||
$setup.ChatType === 2 ? (vue.openBlock(true), vue.createElementBlock(
|
$setup.ChatType === 2 ? (vue.openBlock(true), vue.createElementBlock(
|
||||||
vue.Fragment,
|
vue.Fragment,
|
||||||
{ key: 1 },
|
{ key: 2 },
|
||||||
vue.renderList($setup.currentMessages, (message, index) => {
|
vue.renderList($setup.currentMessages, (message, index) => {
|
||||||
var _a;
|
var _a;
|
||||||
return vue.openBlock(), vue.createElementBlock("view", {
|
return vue.openBlock(), vue.createElementBlock("view", {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ export const getGroup = async (sendId) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取与好友的对话内容
|
// 获取与好友的对话内容
|
||||||
export const getFriendMessages = async (sessionId, current = 1) => {
|
export const getFriendMessages = async (sessionId, size, current = 1) => {
|
||||||
console.log('请求的好友消息id:', sessionId);
|
console.log('请求的好友消息id:', sessionId);
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
uni.request({
|
uni.request({
|
||||||
@@ -92,7 +92,7 @@ export const getFriendMessages = async (sessionId, current = 1) => {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: {
|
data: {
|
||||||
"sessionId": sessionId,
|
"sessionId": sessionId,
|
||||||
"size": 100,
|
"size": size,
|
||||||
"current": current,
|
"current": current,
|
||||||
"beginTime": "",
|
"beginTime": "",
|
||||||
"endTime": ""
|
"endTime": ""
|
||||||
@@ -130,7 +130,7 @@ export const getFriendMessages = async (sessionId, current = 1) => {
|
|||||||
|
|
||||||
|
|
||||||
// 获取群聊的对话内容
|
// 获取群聊的对话内容
|
||||||
export const getGroupMessages = async (groupId, current = 1) => {
|
export const getGroupMessages = async (groupId, size, current = 1) => {
|
||||||
console.log('请求的群聊消息id:', groupId);
|
console.log('请求的群聊消息id:', groupId);
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
uni.request({
|
uni.request({
|
||||||
@@ -138,7 +138,7 @@ export const getGroupMessages = async (groupId, current = 1) => {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: {
|
data: {
|
||||||
"current": current,
|
"current": current,
|
||||||
"size": 100,
|
"size": size,
|
||||||
"groupId": groupId,
|
"groupId": groupId,
|
||||||
"beginTime": "",
|
"beginTime": "",
|
||||||
"endTime": ""
|
"endTime": ""
|
||||||
|
|||||||
Reference in New Issue
Block a user