From b7ad7644cca9a4f21be54bcec9742dcb5fb80dc5 Mon Sep 17 00:00:00 2001 From: zxc <1171051090@qq.com> Date: Sun, 18 Aug 2024 10:00:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=99=90=E5=88=B6=E7=B2=98=E8=B4=B4?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=9C=B0=E5=9D=80=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/usePasteTextClipboardData.ts | 12 +++++++++++- src/utils/common.ts | 7 ------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/hooks/usePasteTextClipboardData.ts b/src/hooks/usePasteTextClipboardData.ts index 43011a85..093fd9a5 100644 --- a/src/hooks/usePasteTextClipboardData.ts +++ b/src/hooks/usePasteTextClipboardData.ts @@ -3,7 +3,7 @@ import { useKeyboardStore } from '@/store' import { pasteCustomClipboardString } from '@/utils/clipboard' import { parseText2Paragraphs } from '@/utils/textParser' import { getImageDataURL, isSVGString, svg2File } from '@/utils/image' -import { isValidImgURL, isValidURL } from '@/utils/common' +import { isValidURL } from '@/utils/common' import useCreateElement from '@/hooks/useCreateElement' import useAddSlidesOrElements from '@/hooks/useAddSlidesOrElements' @@ -12,6 +12,16 @@ interface PasteTextClipboardDataOptions { onlyElements?: boolean } +/** + * 判断图片URL字符串 + * + * !!!注意,你需要判断允许哪些来源的图片地址被匹配,然后自行编写正则表达式 + * !!!必须确保图片来源都是合法、可靠、可控、无访问限制的 + */ +const isValidImgURL = (url: string) => { + return /^https:\/\/pptist.cn(\/[\w-./?%&=]*)?\.(jpg|jpeg|png|svg|webp)(\?.*)?$/i.test(url) +} + export default () => { const { shiftKeyState } = storeToRefs(useKeyboardStore()) diff --git a/src/utils/common.ts b/src/utils/common.ts index ff6ac440..0e26f6bb 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -21,11 +21,4 @@ export const isPC = () => { */ export const isValidURL = (url: string) => { return /^(https?:\/\/)([\w-]+\.)+[\w-]{2,}(\/[\w-./?%&=]*)?$/i.test(url) -} - -/** - * 判断图片URL字符串 - */ -export const isValidImgURL = (url: string) => { - return /^(https?:\/\/)([\w-]+\.)+[\w-]{2,}(\/[\w-./?%&=]*)?\.(jpg|jpeg|png|svg|webp)(\?.*)?$/i.test(url) } \ No newline at end of file