From d57114551ea182bc09339673ddc7e24ce9dde252 Mon Sep 17 00:00:00 2001 From: ivamp Date: Fri, 27 Sep 2024 22:55:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E9=A2=84=E5=88=B6?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components.d.ts | 1 + src/components/Mask.vue | 26 + src/components/chat/Chat.vue | 61 ++- src/pages/mask/index.vue | 4 +- .../prompts/awesome-chatgpt-prompts-zh.json | 498 ++++++++++++++++++ 5 files changed, 575 insertions(+), 15 deletions(-) create mode 100644 src/components/Mask.vue create mode 100644 src/plugins/prompts/awesome-chatgpt-prompts-zh.json diff --git a/src/components.d.ts b/src/components.d.ts index 0128aab..3239a24 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -17,6 +17,7 @@ declare module 'vue' { LeftSettings: typeof import('./components/settings/LeftSettings.vue')['default'] LibrarySettings: typeof import('./components/settings/LibrarySettings.vue')['default'] Lottie: typeof import('./components/Lottie.vue')['default'] + Mask: typeof import('./components/Mask.vue')['default'] MemorySettings: typeof import('./components/settings/MemorySettings.vue')['default'] Menu: typeof import('./components/Menu.vue')['default'] MessageList: typeof import('./components/chat/MessageList.vue')['default'] diff --git a/src/components/Mask.vue b/src/components/Mask.vue new file mode 100644 index 0000000..46dcefe --- /dev/null +++ b/src/components/Mask.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/components/chat/Chat.vue b/src/components/chat/Chat.vue index daf938f..bf26bc9 100644 --- a/src/components/chat/Chat.vue +++ b/src/components/chat/Chat.vue @@ -6,16 +6,37 @@ class="md:pl-20 md:pr-20" >
- - 你好,{{ userStore.user.name }} - -
-
- 有什么我可以帮您的吗? +
+ + 你好,{{ userStore.user.name }} + +
+
+ 有什么我可以帮您的吗? +
+
+
+ 我们有一些预设提示词,您可以点击来一键输入。 + + + + + + {{ p.prompt }} + + + + +
@@ -29,7 +50,7 @@
-
+
= ref(null); @@ -219,6 +241,11 @@ const props = defineProps({ }, }); +type Prompt = { + act: string; + prompt: string; +}; + const isMobile = useIsMobile(); const userStore = useUserStore(); const chatStore = useChatStore(); @@ -240,6 +267,11 @@ const dialog = useDialog(); const assistantStore = useAssistantStore(); const message = useMessage(); const showUploadModal = ref(false); + +const prompts: Ref = ref([]); + +prompts.value = awesomeChatGPTPrompts; + const pasteUpload = (event: ClipboardEvent) => { // const items = event.clipboardData && event.clipboardData.items; // if (items && items.length) { @@ -252,6 +284,14 @@ const pasteUpload = (event: ClipboardEvent) => { // } }; +const updateInputContent = (content: string) => { + // inputText.innerText = content; + // const input = inputText.value; + // console.log(inputText.value.innerText); + inputText.value.innerText = content + updateInputHeight() +}; + function onKeydown(e: KeyboardEvent) { // 如果是 Esc if (e.code === "Escape") { @@ -368,16 +408,13 @@ function sendText() { return; } - let mdContent = html2markdown(textContent) + let mdContent = html2markdown(textContent); // 清除所有的 html 标签,只保留纯文本 mdContent = mdContent.replace(/<[^>]*>/g, ""); - // 发送文本到服务器 sendMessage("user", mdContent); - - // 清空输入框 input.innerText = ""; diff --git a/src/pages/mask/index.vue b/src/pages/mask/index.vue index 00b1b7b..0022588 100644 --- a/src/pages/mask/index.vue +++ b/src/pages/mask/index.vue @@ -1,7 +1,5 @@