添加侧边会话及会话查询

This commit is contained in:
junleea 2025-03-26 21:43:44 +08:00
parent 44e29ee6f3
commit aa68813b0a
1 changed files with 9 additions and 4 deletions

View File

@ -2,6 +2,9 @@
<div class="chat-app"> <div class="chat-app">
<!-- 历史会话侧边栏 --> <!-- 历史会话侧边栏 -->
<div class="history-sessions" v-if="sessionIsShow"> <div class="history-sessions" v-if="sessionIsShow">
<div>
<el-button type="primary" @click="clearCurrent">新会话</el-button>
</div>
<el-card class="session-card"> <el-card class="session-card">
<template #header> <template #header>
<h3>当前会话</h3> <h3>当前会话</h3>
@ -39,9 +42,6 @@
<Fold /> <Fold />
</el-icon> </el-icon>
</div> </div>
<div>
<el-button type="primary" @click="clearCurrent">新会话</el-button>
</div>
</div> </div>
<!-- 消息列表 --> <!-- 消息列表 -->
<el-card class="chat-messages" shadow="never" ref="messagesContainer"> <el-card class="chat-messages" shadow="never" ref="messagesContainer">
@ -72,9 +72,10 @@
placeholder="输入消息..." placeholder="输入消息..."
@keyup.enter="sendMessage" @keyup.enter="sendMessage"
/> />
<el-text v-model="inputMessage" aria-placeholder="输入信息...."></el-text>
</el-col> </el-col>
<el-col :span="4" style="text-align: center"> <el-col :span="4" style="text-align: center">
<el-button type="primary" @click="sendMessage">发送</el-button> <el-button @click="sendMessage" type="success" :icon="Check" round :disabled="loading">发送</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-card> </el-card>
@ -88,6 +89,7 @@ import { ElCard, ElInput, ElButton } from "element-plus";
import { WSMessage, AIQMessage, OllamaMessage } from "@/types/im"; import { WSMessage, AIQMessage, OllamaMessage } from "@/types/im";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { GetMessageService } from "@/api/im"; import { GetMessageService } from "@/api/im";
import {Check, Loading} from '@element-plus/icons-vue'
import MarkdownIt from "markdown-it"; import MarkdownIt from "markdown-it";
import markdownItMermaid from "markdown-it-mermaid"; import markdownItMermaid from "markdown-it-mermaid";
import hljs from "highlight.js"; import hljs from "highlight.js";
@ -208,6 +210,8 @@ onMounted(() => {
socket.value.onclose = () => { socket.value.onclose = () => {
console.log("WebSocket 连接已关闭"); console.log("WebSocket 连接已关闭");
ElMessage.error("连接已关闭"); ElMessage.error("连接已关闭");
//
socket.value = new WebSocket(url);
}; };
socket.value.onerror = (error) => { socket.value.onerror = (error) => {
@ -353,6 +357,7 @@ const getMessage = async (session_id: number) => {
overflow-y: auto; /* 允许垂直滚动 */ overflow-y: auto; /* 允许垂直滚动 */
padding: 10px; padding: 10px;
margin-bottom: 20px; margin-bottom: 20px;
scrollbar-width: 20px;
position: relative; position: relative;
display: flex; display: flex;
flex-direction: column; flex-direction: column;