Skip to content

Commit 44f322b

Browse files
committed
【代码优化】AI:聊天对话 index.vue 代码梳理 30%
1 parent 1064bbe commit 44f322b

File tree

10 files changed

+200
-241
lines changed

10 files changed

+200
-241
lines changed

src/api/ai/chat/message/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export const ChatMessageApi = {
3030

3131
// 发送 Stream 消息
3232
// 为什么不用 axios 呢?因为它不支持 SSE 调用
33-
sendStream: async (
33+
sendChatMessageStream: async (
3434
conversationId: number,
3535
content: string,
3636
ctrl,
@@ -60,11 +60,11 @@ export const ChatMessageApi = {
6060
},
6161

6262
// 删除消息
63-
delete: async (id: string) => {
63+
deleteChatMessage: async (id: string) => {
6464
return await request.delete({ url: `/ai/chat/message/delete?id=${id}` })
6565
},
6666

67-
// 删除消息 - 对话所有消息
67+
// 删除指定对话的消息
6868
deleteByConversationId: async (conversationId: number) => {
6969
return await request.delete({
7070
url: `/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`

src/views/ai/chat/index/components/conversation/ConversationList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
<script setup lang="ts">
9999
import { ChatConversationApi, ChatConversationVO } from '@/api/ai/chat/conversation'
100100
import { ref } from 'vue'
101-
import Role from '../../role/index.vue'
101+
import Role from '../role/index.vue'
102102
import { Bottom, Top } from '@element-plus/icons-vue'
103103
import roleAvatarDefaultImg from '@/assets/ai/gpt.svg'
104104

src/views/ai/chat/index/Message.vue renamed to src/views/ai/chat/index/components/message/MessageList.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<el-button class="btn-cus" link @click="noCopy(item.content)">
1818
<img class="btn-image" src="@/assets/ai/copy.svg" />
1919
</el-button>
20-
<el-button class="btn-cus" link @click="onDelete(item.id)">
20+
<el-button v-if="item.id > 0" class="btn-cus" link @click="onDelete(item.id)">
2121
<img class="btn-image" src="@/assets/ai/delete.svg" style="height: 17px" />
2222
</el-button>
2323
</div>
@@ -70,7 +70,7 @@ import { useClipboard } from '@vueuse/core'
7070
import { PropType } from 'vue'
7171
import { ArrowDownBold, Edit, RefreshRight } from '@element-plus/icons-vue'
7272
import { ChatConversationVO } from '@/api/ai/chat/conversation'
73-
import {useUserStore} from '@/store/modules/user';
73+
import { useUserStore } from '@/store/modules/user'
7474
import userAvatarDefaultImg from '@/assets/imgs/avatar.gif'
7575
import roleAvatarDefaultImg from '@/assets/ai/gpt.svg'
7676
@@ -138,7 +138,7 @@ const noCopy = async (content) => {
138138
*/
139139
const onDelete = async (id) => {
140140
// 删除 message
141-
await ChatMessageApi.delete(id)
141+
await ChatMessageApi.deleteChatMessage(id)
142142
ElMessage({
143143
message: '删除成功!',
144144
type: 'success'

src/views/ai/chat/index/MessageNewChat.vue renamed to src/views/ai/chat/index/components/message/MessageNewConversation.vue

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- message 新增对话 -->
1+
<!-- 无聊天对话时,在 message 区域,可以新增对话 -->
22
<template>
33
<div class="new-chat">
44
<div class="box-center">
@@ -11,14 +11,13 @@
1111
</template>
1212

1313
<script setup lang="ts">
14-
// 定义钩子
15-
const emits = defineEmits(['onNewChat'])
14+
const emits = defineEmits(['onNewConversation'])
1615
1716
/**
18-
* 新建 chat
17+
* 新建 conversation 聊天对话
1918
*/
20-
const handlerNewChat = async () => {
21-
await emits('onNewChat')
19+
const handlerNewChat = () => {
20+
emits('onNewConversation')
2221
}
2322
</script>
2423
<style scoped lang="scss">

src/views/ai/chat/index/role/index.vue renamed to src/views/ai/chat/index/components/role/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
<script setup lang="ts">
7070
import { ref } from 'vue'
71-
import Header from './../components/Header.vue'
71+
import Header from '../Header.vue'
7272
import RoleList from './RoleList.vue'
7373
import ChatRoleForm from '@/views/ai/model/chatRole/ChatRoleForm.vue'
7474
import RoleCategoryList from './RoleCategoryList.vue'

0 commit comments

Comments
 (0)