diff --git a/src/assets/img/system.png b/src/assets/img/system.png new file mode 100644 index 0000000..1bfc4cc Binary files /dev/null and b/src/assets/img/system.png differ diff --git a/src/assets/img/user.png b/src/assets/img/user.png new file mode 100644 index 0000000..8906cea Binary files /dev/null and b/src/assets/img/user.png differ diff --git a/src/router/modules/demo.ts b/src/router/modules/demo.ts index 40cdff1..89ee2be 100644 --- a/src/router/modules/demo.ts +++ b/src/router/modules/demo.ts @@ -118,6 +118,10 @@ const titleArr = [ key: 'scssLiveTranslate', title: 'SCSS → CSS 实时翻译器', }, + { + key: 'chat', + title: '聊天(智能客服)(移动端查看)', + }, ]; // @/views/demo/**/*.vue diff --git a/src/store/modules/chat.ts b/src/store/modules/chat.ts new file mode 100644 index 0000000..5281758 --- /dev/null +++ b/src/store/modules/chat.ts @@ -0,0 +1,22 @@ +import { defineStore } from 'pinia'; + +export default defineStore('chat', { + state: () => ({ + 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 @@ + + + + +