From cda01c12203f63a5c18d2996baac89673dcf1104 Mon Sep 17 00:00:00 2001 From: lipenghui <mrkezhi@163.com> Date: Mon, 5 Feb 2024 11:55:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:1.=20=E6=96=B0=E5=BB=BA=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=88=97=E8=A1=A8=E9=80=89=E4=B8=AD=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8id=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=EF=BC=9B2.=20=E4=BC=9A=E8=AF=9D=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=89=AF=E6=A0=87=E9=A2=98=EF=BC=9B3.=20?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E4=B8=8E=E5=BA=94=E7=94=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=98=AF=E5=A2=9E=E5=8A=A0contextCount=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/message.ts | 1 + src/components/AppRoleDefault/index.d.ts | 2 ++ src/components/AppRoleDefault/index.vue | 3 +++ src/components/AppSubMenuList/index.vue | 2 +- src/store/moules/messageStore/index.d.ts | 3 ++- src/views/conversation/index.vue | 4 ++-- src/views/conversationNet/index.vue | 4 ++-- src/views/repository/index.vue | 4 ++-- src/views/role/index.vue | 21 +++++++++++++++++---- src/views/textToImage/index.vue | 4 ++-- src/views/visualAnalysis/index.vue | 4 ++-- 11 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/api/base/message.ts b/src/api/base/message.ts index 8910284..0e5559f 100644 --- a/src/api/base/message.ts +++ b/src/api/base/message.ts @@ -11,6 +11,7 @@ export async function addMessage(data: { sort: number roleId?: string modelType: ModelTypeEnum + contextCount?: number | null // 携带上下文数量 }) { return defHttp.post({ url: `/open-chat/chat/conversation/save`, diff --git a/src/components/AppRoleDefault/index.d.ts b/src/components/AppRoleDefault/index.d.ts index 781a89a..4606952 100644 --- a/src/components/AppRoleDefault/index.d.ts +++ b/src/components/AppRoleDefault/index.d.ts @@ -6,6 +6,7 @@ export interface RoleData { remark: string type: number modelType: number + contextCount: number | null } interface RoleInfoAppModel { @@ -16,6 +17,7 @@ interface RoleInfoAppModel { roleImg: string type: number modelType: number + contextCount: number | null } export interface AppGroup { diff --git a/src/components/AppRoleDefault/index.vue b/src/components/AppRoleDefault/index.vue index 07ca7d1..beb005b 100644 --- a/src/components/AppRoleDefault/index.vue +++ b/src/components/AppRoleDefault/index.vue @@ -13,6 +13,8 @@ const typeIndex = ref(0) // 角色 function getRoleData() { getRole(1).then((res) => { + console.log('角色', res) + roleList.value = res }) } @@ -20,6 +22,7 @@ getRoleData() // 应用 function getAppData() { getAppList().then((res) => { + console.log('应用', res) application.value = res }) } diff --git a/src/components/AppSubMenuList/index.vue b/src/components/AppSubMenuList/index.vue index e6f1e0f..73f17aa 100644 --- a/src/components/AppSubMenuList/index.vue +++ b/src/components/AppSubMenuList/index.vue @@ -79,7 +79,7 @@ function handleBlur(index: number, item: SubMenuItem, inputValue?: string) { {{ item.title }} </p> <p class="content truncate"> - {{ item.content }} + {{ item.firstMsg }} </p> <div class="actions absolute"> <SvgIcon diff --git a/src/store/moules/messageStore/index.d.ts b/src/store/moules/messageStore/index.d.ts index d2681ba..ad4a815 100644 --- a/src/store/moules/messageStore/index.d.ts +++ b/src/store/moules/messageStore/index.d.ts @@ -17,9 +17,10 @@ export interface ConversationData { updateTime: string updateUser: string userId: string - content: string actionType: SubMenuActionEnum modelType: string + contextCount: number | null // 上下文数量 + firstMsg: string } export interface MessageStoreType { diff --git a/src/views/conversation/index.vue b/src/views/conversation/index.vue index 99ed242..ff58663 100644 --- a/src/views/conversation/index.vue +++ b/src/views/conversation/index.vue @@ -156,10 +156,10 @@ async function handleSend(value: string) { try { spinning.value = true messageStore.setMessageClear() - await addMessage({ type: MenuTypeEnum.TEXT_TO_TEXT, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) + const conversationId = await addMessage({ type: MenuTypeEnum.TEXT_TO_TEXT, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) await getConversationList() await nextTick() - subMenuActiveIndex.value = subMenuList.value.length - 1 + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) await handleSubMenuChange(subMenuActiveIndex.value) if (!conversationData.value) { message.error('对话发送,请稍后重试!') diff --git a/src/views/conversationNet/index.vue b/src/views/conversationNet/index.vue index 3031c76..6d756dc 100644 --- a/src/views/conversationNet/index.vue +++ b/src/views/conversationNet/index.vue @@ -156,10 +156,10 @@ async function handleSend(value: string) { try { spinning.value = true messageStore.setMessageClear() - await addMessage({ type: MenuTypeEnum.CONVERSATION_NET, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) + const conversationId = await addMessage({ type: MenuTypeEnum.CONVERSATION_NET, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) await getConversationList() await nextTick() - subMenuActiveIndex.value = subMenuList.value.length - 1 + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) await handleSubMenuChange(subMenuActiveIndex.value) if (!conversationData.value) { message.error('对话发送,请稍后重试!') diff --git a/src/views/repository/index.vue b/src/views/repository/index.vue index 46d39d7..04c868c 100644 --- a/src/views/repository/index.vue +++ b/src/views/repository/index.vue @@ -175,10 +175,10 @@ async function handleSend(value: string) { try { spinning.value = true messageStore.setMessageClear() - await addMessage({ type: MenuTypeEnum.REPOSITORY, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) + const conversationId = await addMessage({ type: MenuTypeEnum.REPOSITORY, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) await getConversationList() await nextTick() - subMenuActiveIndex.value = subMenuList.value.length - 1 + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) await handleSubMenuChange(subMenuActiveIndex.value) if (!conversationData.value) { message.error('对话发送,请稍后重试!') diff --git a/src/views/role/index.vue b/src/views/role/index.vue index e23fb06..8b234ba 100644 --- a/src/views/role/index.vue +++ b/src/views/role/index.vue @@ -308,17 +308,24 @@ async function handleRole(item: RoleData) { getHistoryMessage() } else { - await addMessage({ + const conversationId = await addMessage({ type: MenuTypeEnum.ROLE, title: item.roleName, roleId: item.id, sort: subMenuList.value.length + 1, modelType: item.modelType ? item.modelType : ModelTypeEnum.GPT3, + contextCount: item.contextCount, }) await getConversationList() await nextTick() const index = subMenuList.value.findIndex(v => String(v.roleId) === item.id) - subMenuActiveIndex.value = index + if (index === -1) { + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) + } + else { + subMenuActiveIndex.value = index + } + await handleSubMenuChange(index) getHistoryMessage() } @@ -335,17 +342,23 @@ async function handleApply(item: RoleInfoAppModel) { getHistoryMessage() } else { - await addMessage({ + const conversationId = await addMessage({ type: MenuTypeEnum.ROLE, title: item.roleName, roleId: item.id, sort: subMenuList.value.length + 1, modelType: item.modelType ? item.modelType : ModelTypeEnum.GPT3, + contextCount: item.contextCount, }) await getConversationList() await nextTick() const index = subMenuList.value.findIndex(v => String(v.roleId) === item.id) - subMenuActiveIndex.value = index + if (index === -1) { + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) + } + else { + subMenuActiveIndex.value = index + } await handleSubMenuChange(index) getHistoryMessage() } diff --git a/src/views/textToImage/index.vue b/src/views/textToImage/index.vue index f7d1f0f..338cf3e 100644 --- a/src/views/textToImage/index.vue +++ b/src/views/textToImage/index.vue @@ -160,10 +160,10 @@ async function handleSend(value: string) { try { spinning.value = true messageStore.setMessageClear() - await addMessage({ type: MenuTypeEnum.TEXT_TO_IMAGE, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) + const conversationId = await addMessage({ type: MenuTypeEnum.TEXT_TO_IMAGE, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) await nextTick() await getConversationList() - subMenuActiveIndex.value = subMenuList.value.length - 1 + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) await handleSubMenuChange(subMenuActiveIndex.value) if (!conversationData.value) { return diff --git a/src/views/visualAnalysis/index.vue b/src/views/visualAnalysis/index.vue index 12d63f9..7a57a5a 100644 --- a/src/views/visualAnalysis/index.vue +++ b/src/views/visualAnalysis/index.vue @@ -160,10 +160,10 @@ async function handleSend(value: string, fileUrl: string) { try { spinning.value = true messageStore.setMessageClear() - await addMessage({ type: MenuTypeEnum.VISUAL_ANALYSIS, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) + const conversationId = await addMessage({ type: MenuTypeEnum.VISUAL_ANALYSIS, title: '新的对话', sort: subMenuList.value.length + 1, modelType: modelOptions[modelIndex.value].value }) await getConversationList() await nextTick() - subMenuActiveIndex.value = subMenuList.value.length - 1 + subMenuActiveIndex.value = subMenuList.value.findIndex(v => v.id === conversationId) await handleSubMenuChange(subMenuActiveIndex.value) if (!conversationData.value) { message.error('对话发送,请稍后重试!')