From b6997d4158d6f07a2c5a95cef2a4fb915b724494 Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Fri, 5 Sep 2025 16:00:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E7=BA=BF=E5=AE=A2=E6=9C=8D?= =?UTF-8?q?=EF=BC=88=E7=A7=BB=E5=8A=A8=E7=AB=AF=EF=BC=89=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E9=9D=99=E6=80=81=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/img/system.png | Bin 0 -> 9940 bytes src/assets/img/user.png | Bin 0 -> 10781 bytes src/router/modules/demo.ts | 4 + src/store/modules/chat.ts | 22 + src/views/demo/chat/components/ChatInput.vue | 133 +++++ .../demo/chat/components/ChatMessages.vue | 467 ++++++++++++++++++ src/views/demo/chat/index.vue | 25 + 7 files changed, 651 insertions(+) create mode 100644 src/assets/img/system.png create mode 100644 src/assets/img/user.png create mode 100644 src/store/modules/chat.ts create mode 100644 src/views/demo/chat/components/ChatInput.vue create mode 100644 src/views/demo/chat/components/ChatMessages.vue create mode 100644 src/views/demo/chat/index.vue diff --git a/src/assets/img/system.png b/src/assets/img/system.png new file mode 100644 index 0000000000000000000000000000000000000000..1bfc4cceb66995d27185ed3543cc44f68a09aa1b GIT binary patch literal 9940 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 ({ + messages: [ + { + role: 'system', + content: '查询中,请稍后!', + cmd: 'common', + timestamp: new Date().getTime(), + }, + ], + }), + actions: { + addMessage(message: Array<[]>) { + this.messages.push({ + ...message, + timestamp: new Date().getTime(), + }); + }, + }, +}); diff --git a/src/views/demo/chat/components/ChatInput.vue b/src/views/demo/chat/components/ChatInput.vue new file mode 100644 index 0000000..3b3b334 --- /dev/null +++ b/src/views/demo/chat/components/ChatInput.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/src/views/demo/chat/components/ChatMessages.vue b/src/views/demo/chat/components/ChatMessages.vue new file mode 100644 index 0000000..df9a59a --- /dev/null +++ b/src/views/demo/chat/components/ChatMessages.vue @@ -0,0 +1,467 @@ + + + + + diff --git a/src/views/demo/chat/index.vue b/src/views/demo/chat/index.vue new file mode 100644 index 0000000..bb9ea6c --- /dev/null +++ b/src/views/demo/chat/index.vue @@ -0,0 +1,25 @@ + + + + +