From 995c19a9978161f5ae24d21a00ae6d0ee2d99440 Mon Sep 17 00:00:00 2001 From: "Apple\\Apple" Date: Wed, 16 Apr 2025 17:11:59 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9Bfix:=20Fix=20the=20issue=20where=20?= =?UTF-8?q?new=20whitelist=20email=20domain=20names=20cannot=20be=20added?= =?UTF-8?q?=20in=20the=20system=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/SystemSetting.js | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/web/src/components/SystemSetting.js b/web/src/components/SystemSetting.js index 5dc83be1..a07f1fbb 100644 --- a/web/src/components/SystemSetting.js +++ b/web/src/components/SystemSetting.js @@ -81,6 +81,7 @@ const SystemSetting = () => { const [showPasswordLoginConfirmModal, setShowPasswordLoginConfirmModal] = useState(false); const [linuxDOOAuthEnabled, setLinuxDOOAuthEnabled] = useState(false); + const [emailToAdd, setEmailToAdd] = useState(''); const getOptions = async () => { setLoading(true); @@ -292,6 +293,29 @@ const SystemSetting = () => { } }; + const handleAddEmail = () => { + if (emailToAdd && emailToAdd.trim() !== '') { + const domain = emailToAdd.trim(); + + // 验证域名格式 + const domainRegex = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/; + if (!domainRegex.test(domain)) { + showError('邮箱域名格式不正确,请输入有效的域名,如 gmail.com'); + return; + } + + // 检查是否已存在 + if (emailDomainWhitelist.includes(domain)) { + showError('该域名已存在于白名单中'); + return; + } + + setEmailDomainWhitelist([...emailDomainWhitelist, domain]); + setEmailToAdd(''); + showSuccess('已添加到白名单'); + } + }; + const submitWeChat = async () => { const options = []; @@ -765,6 +789,16 @@ const SystemSetting = () => { placeholder='输入域名后回车' style={{ width: '100%', marginTop: 16 }} /> + setEmailToAdd(value)} + style={{ marginTop: 16 }} + suffix={ + + } + onEnterPress={handleAddEmail} + />