diff --git a/common/http.api.js b/common/http.api.js index 1fefe68..f54f97d 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -236,9 +236,12 @@ const install = (Vue, vm) => { // 获取消息接收方用户信息 let GetReceiverUserInfoApi = (params = {}) => vm.$u.get("api/Dialogue/GetReceiverUserInfo", params); - // 置顶一个会话 - let OverheadOneDialogueApi = (params = {}) => - vm.$u.post("api/Dialogue/OverheadOneDialogue", params); + // 置顶一个会话 + let OverheadOneDialogueApi = (params = {}) => + vm.$u.post("api/Dialogue/OverheadOneDialogue", params); + // 将会话消息标记为已读 + let ReadMessageApi = (params = {}) => + vm.$u.post("api/Dialogue/ReadMessage", params); // 删除会话 let DeleteDialogueApi = (params = {}) => vm.$u.post("api/Dialogue/DeleteDialogue", params); @@ -303,12 +306,13 @@ const install = (Vue, vm) => { UpdateUserApi, GetTeacherListApi, GetDialogueListApi, - GetDialogueList_UserApi, - AddDialogueApi, - SendMessage_PrivateApi, + GetDialogueList_UserApi, + AddDialogueApi, + SendMessage_PrivateApi, GetChatHistoryDataApi, GetReceiverUserInfoApi, OverheadOneDialogueApi, + ReadMessageApi, DeleteDialogueApi, }; }; diff --git a/pages/consultation/index.vue b/pages/consultation/index.vue index 3e64fe3..7acf212 100644 --- a/pages/consultation/index.vue +++ b/pages/consultation/index.vue @@ -100,18 +100,24 @@ export default { console.log("切换到标签页:", path, index); }, - // 打开聊天页面 - openChat(item) { - console.log('打开聊天:', item); - // uni.navigateTo({ - // url: `/pages/chat/chat-detail?userId=${item.userId}&name=${item.name}` - // }); - // const id = item.id - // const receiverId = item.receiverId - this.$store.dispatch("selectTeacherChatItem", { - id: item.id, - receiverId: item.userId, - }); + // 打开聊天页面前标记已读 + async openChat(item) { + console.log("打开聊天:", item); + + if (item?.id) { + try { + await this.$u.api.ReadMessageApi({ + dialogueManagementId: item.id, + }); + } catch (err) { + console.error("[在线咨询] 标记已读失败", err); + } + } + + this.$store.dispatch("selectTeacherChatItem", { + id: item.id, + receiverId: item.userId, + }); }, // 加载聊天列表 @@ -163,7 +169,7 @@ export default { item?.avatar || item?.friendAvatar ), - lastMessage: item?.title || item?.lastMessage || item?.content || "暂无消息", + lastMessage: item?.lastMessage || "暂无消息", lastMessageTime: this.formatTime( item?.lastMessageTime || item?.lastSendTime || item?.startTime ),