feat: 房间号的文案改

This commit is contained in:
2026-04-05 11:43:43 +08:00
parent d2fc0973dd
commit e565e967fc
2 changed files with 30 additions and 10 deletions

View File

@@ -10,7 +10,7 @@
:scroll-with-animation="true" @scroll="handleScroll" @scrolltolower="handleScrollToLower">
<!-- welcome栏 -->
<ChatTopWelcome ref="welcomeRef" :mainPageDataModel="mainPageDataModel" />
<NoticeMessage></NoticeMessage>
<NoticeMessage v-if="notitceConent"></NoticeMessage>
<view class="area-msg-list-content" v-for="item in chatMsgList" :key="item.msgId" :id="item.msgId">
<template v-if="item.msgType === MessageRole.AI">
@@ -32,7 +32,7 @@
item.toolCall && item.toolCall.componentName === CompName.mapCard
" />
<GeneratorPhotoComponent v-else-if="
item.toolCall && item.toolCall.componentName === CompName.generateMessageId
item.toolCall && item.toolCall.componentName === CompName.aigcPhotoGeneratorCard
" />
<Feedback v-else-if="
item.toolCall && item.toolCall.componentName === CompName.feedbackCard
@@ -95,7 +95,7 @@ import {
NOTICE_EVENT_LOGOUT,
NOTICE_EVENT_LOGIN_SUCCESS,
} from "@/constant/constant";
import { MessageRole, CompName } from "@/model/ChatModel";
import { MessageRole, MessageType, CompName, Command } from "@/model/ChatModel";
import ChatTopWelcome from "../ChatTopWelcome/index.vue";
import NoticeMessage from "../NoticeMessage/index.vue";
import ChatTopNavBar from "../ChatTopNavBar/index.vue";
@@ -135,6 +135,7 @@ const statusBarHeight = ref(20);
const inputAreaRef = ref(null);
const topNavBarRef = ref();
const welcomeRef = ref();
const notitceConent = ref("");
const holdKeyboardTimer = ref(null);
/// focus时点击页面的时候不收起键盘
@@ -419,6 +420,16 @@ const initWebSocket = async () => {
console.log("WebSocket连接成功");
// 重置会话状态
isSessionActive.value = false; // 连接成功时重置会话状态,避免影响新消息发送
// 连接成功后发送 welcome 消息 (messageType=4)
try {
// fire-and-forget, sendWebSocketMessage 会处理重连与队列
sendWebSocketMessage(MessageType.notice, Command.welcome, { tryReconnect: true, messageId:IdUtils.generateMessageId() }).catch((e) => {
console.warn('发送 Command.welcome 消息失败:', e);
});
} catch (e) {
console.warn('发送 Command.welcome 消息时异常:', e);
}
},
// 连接断开回调
@@ -475,6 +486,15 @@ const handleWebSocketMessage = (data) => {
return;
}
// Welcome 消息 (messageType=4):用于更新顶部欢迎栏内容
if (data.messageType && data.messageType === 'broadcast') {
console.log("收到 welcome 类型消息:", data);
if (data.content) {
notitceConent.value = data.content;
}
return;
}
let aiMsgIndex = -1;
// Prefer matching by replyMessageId if provided
if (data.replyMessageId) {
@@ -732,7 +752,7 @@ const sendWebSocketMessage = async (messageType, messageContent, options = {}) =
const args = {
conversationId: conversationId.value,
agentId: agentId.value,
messageType: String(messageType), // 消息类型 0-对话 1-指令 2-中断停止 3-心跳检测
messageType: String(messageType), // 消息类型 0-对话 1-指令 2-中断停止 3-心跳检测 4-消息
messageContent: messageContent,
messageId: options.messageId || currentSessionMessageId,
};
@@ -839,7 +859,7 @@ const sendChat = async (message, isInstruct = false) => {
return;
}
const messageType = isInstruct ? 1 : 0;
const messageType = isInstruct ? MessageType.command : MessageType.dialog;
const messageContent = isInstruct ? messageCommonType : message;
// 生成 messageId 并保存到当前会话变量stopRequest 可能使用)
currentSessionMessageId = IdUtils.generateMessageId();
@@ -902,7 +922,7 @@ const stopRequest = async () => {
// 发送中断消息给服务器 (messageType=2),带上当前 messageId
try {
await sendWebSocketMessage(2, "stop_request", { messageId: currentSessionMessageId, silent: true });
await sendWebSocketMessage(MessageType.stop, "stop_request", { messageId: currentSessionMessageId, silent: true });
} catch (e) {
console.warn("stopRequest send failed:", e);
}