From 80d0b537596d096ba846cbe2fc532c136c72b15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=98=89=E4=BC=9F?= <8473136@qq.com> Date: Sun, 11 Aug 2024 17:06:24 +0800 Subject: [PATCH] =?UTF-8?q?:lipstick:=20=E5=AF=BC=E5=85=A5=E9=93=BE?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/config/index.vue | 46 +++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/views/config/index.vue b/src/views/config/index.vue index 1b2399b..ba0b9a6 100644 --- a/src/views/config/index.vue +++ b/src/views/config/index.vue @@ -133,6 +133,7 @@ const copyServerConfigBase64 = ref(); const pasteServerConfigBase64 = ref(); const formRef = ref(); +const protocol = ref("frp://"); const visibles = reactive({ copyServerConfig: false, @@ -235,7 +236,7 @@ const handleCopyServerConfig2Base64 = useDebounceFn(() => { const base64str = Base64.encode( JSON.stringify(shareConfig) ) - copyServerConfigBase64.value = base64str; + copyServerConfigBase64.value = protocol.value + base64str; visibles.copyServerConfig = true; }, 300); @@ -248,32 +249,34 @@ const handlePasteServerConfig4Base64 = useDebounceFn(() => { }, 300); const handlePasteServerConfigBase64 = useDebounceFn(() => { - const plain = Base64.decode(pasteServerConfigBase64.value) - console.log('plain', plain) - let serverConfig: ShareLinkConfig = null; - try { - serverConfig = JSON.parse(plain) - } catch { + const tips = () => { ElMessage({ type: "warning", message: "链接不正确 请输入正确的链接" }); - return; + } + if (!pasteServerConfigBase64.value.startsWith(protocol.value)) { + tips() + return + } + const ciphertext = pasteServerConfigBase64.value.replace("frp://", "") + const plaintext = Base64.decode(ciphertext) + console.log('plain', plaintext) + let serverConfig: ShareLinkConfig = null; + try { + serverConfig = JSON.parse(plaintext) + } catch { + tips() + return } if (!serverConfig && !serverConfig.serverAddr) { - ElMessage({ - type: "warning", - message: "链接不正确 请输入正确的链接" - }); - return; + tips() + return } if (!serverConfig && !serverConfig.serverPort) { - ElMessage({ - type: "warning", - message: "链接不正确 请输入正确的链接" - }); - return; + tips() + return } formData.value.serverAddr = serverConfig.serverAddr formData.value.serverPort = serverConfig.serverPort @@ -285,6 +288,7 @@ const handlePasteServerConfigBase64 = useDebounceFn(() => { formData.value.metaToken = serverConfig.metaToken handleSubmit(); + pasteServerConfigBase64.value = ""; visibles.pasteServerConfig = false; }, 300) @@ -810,16 +814,16 @@ onUnmounted(() => { - + - +