diff --git a/src/api/ai/chat/conversation/index.ts b/src/api/ai/chat/conversation/index.ts index 8469f072..f0921e83 100644 --- a/src/api/ai/chat/conversation/index.ts +++ b/src/api/ai/chat/conversation/index.ts @@ -18,25 +18,15 @@ export interface ChatConversationVO { modelMaxContexts?: string // 模型的上下文的最大 Message 数量 } -export interface ChatConversationUpdateVO { - id: string // 会话编号 - title: string // 会话标题 - pinned: string // 是否置顶 - modelId: number // 模型编号 - temperature: string // 温度参数 - maxTokens: string // 单条回复的最大 Token 数量 - maxContexts: string // 上下文的最大 Message 数量 -} - // AI 聊天会话 API export const ChatConversationApi = { // 获取 Conversation get: async (id: string) => { - return await request.get({ url: `/ai/chat/conversation/get?id=${id}`}) + return await request.get({ url: `/ai/chat/conversation/get?id=${id}` }) }, // 更新 Conversation - update: async (data: ChatConversationUpdateVO) => { - return await request.put({ url: `/ai/chat/conversation/update`, data}) + updateConversationMy: async (data: ChatConversationVO) => { + return await request.put({ url: `/ai/chat/conversation/update-my`, data }) }, // 新增【我的】聊天会话 diff --git a/src/views/ai/chat/index.vue b/src/views/ai/chat/index.vue index 8046e108..306b031a 100644 --- a/src/views/ai/chat/index.vue +++ b/src/views/ai/chat/index.vue @@ -203,6 +203,9 @@ import { marked } from 'marked' import 'highlight.js/styles/vs2015.min.css' import hljs from 'highlight.js' +const { t } = useI18n() // 国际化 +const message = useMessage() // 消息弹窗 + // 自定义渲染器 const renderer = { code(code, language, c) { @@ -256,9 +259,22 @@ const changeConversation = (id: number) => { // TODO 芋艿:待实现 } -const updateConversationTitle = (conversation) => { - console.log(conversation) - // TODO 芋艿:待实现 +/** 更新聊天会话的标题 */ +const updateConversationTitle = async (conversation: ChatConversationVO) => { + // 二次确认 + const { value } = await ElMessageBox.prompt('修改标题', { + inputPattern: /^[\s\S]*.*\S[\s\S]*$/, // 判断非空,且非空格 + inputErrorMessage: '标题不能为空', + inputValue: conversation.title + }) + // 发起修改 + await ChatConversationApi.updateConversationMy({ + id: conversation.id, + title: value + } as ChatConversationVO) + message.success('修改标题成功') + // 刷新列表 + await getChatConversationList() } const deleteConversationTitle = (conversation) => { @@ -445,7 +461,7 @@ const modalClick = async (command) => { // 切换 modal useModal.value = command // 更新 - await ChatConversationApi.update(update) + await ChatConversationApi.updateConversationMy(update) } const getModalList = async () => {