| | |
| | | <template> |
| | | <div class="flex flex-col w-full gap-2"> |
| | | <div class="relative sync-msg-tip" v-show="showSyncMsg"> |
| | | <div class="relative sync-msg-tip" v-show="showSyncMsg" @click="closeSyncMsg"> |
| | | <div class="absolute flex-center w-full text-black opacity-75 bottom-0.5"> |
| | | <div class="w-fit bg-gray-300 p-2 rounded-md shadow-lg"> |
| | | <div class="font-bold mb-2">{{ syncMsgContent.title }}</div> |
| | |
| | | syncMsgContent.value.title = ''; |
| | | syncMsgContent.value.content = ''; |
| | | }; |
| | | const closeSyncMsg = () => { |
| | | showSyncMsg.value = false; |
| | | nextTick(() => { |
| | | resetSyncMsg(); |
| | | }); |
| | | }; |
| | | const showSyncTip = (data) => { |
| | | showSyncMsg.value = true; |
| | | syncMsgContent.value.title = `来自:${data?.from || '未知端'}消息`; |
| | | const question = data?.question ? `“${data?.question}”` : '新的'; |
| | | syncMsgContent.value.content = `正在处理${question}提问,请求等待!`; |
| | | setTimeout(() => { |
| | | showSyncMsg.value = false; |
| | | nextTick(() => { |
| | | resetSyncMsg(); |
| | | }); |
| | | closeSyncMsg(); |
| | | }, syncMsgDuration); |
| | | }; |
| | | defineExpose({ addPhrase, showSyncTip }); |