From b0d4537398958529f196a180cf206d3e6cebbf1a Mon Sep 17 00:00:00 2001 From: farion1231 Date: Thu, 7 Aug 2025 22:20:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E6=B7=BB=E5=8A=A0=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E7=95=8C=E9=9D=A2=EF=BC=9A=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8F=90=E5=8F=96=E5=AE=98=E7=BD=91=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 extractWebsiteUrl 函数,从 JSON 配置中自动解析 ANTHROPIC_BASE_URL - 智能处理 URL 前缀,自动去掉 "api." 前缀生成官网地址 - 优化用户体验:仅在官网地址为空时自动填入,不覆盖用户手动输入 - 支持实时解析,用户输入 JSON 配置时立即更新官网地址字段 --- src/renderer/components/AddProviderModal.tsx | 37 +++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/AddProviderModal.tsx b/src/renderer/components/AddProviderModal.tsx index b45ff0b..08a86bd 100644 --- a/src/renderer/components/AddProviderModal.tsx +++ b/src/renderer/components/AddProviderModal.tsx @@ -82,14 +82,43 @@ const AddProviderModal: React.FC = ({ }); }; + // 从JSON配置中提取并处理官网地址 + const extractWebsiteUrl = (jsonString: string): string => { + try { + const config = JSON.parse(jsonString); + const baseUrl = config?.env?.ANTHROPIC_BASE_URL; + + if (baseUrl && typeof baseUrl === 'string') { + // 去掉 "api." 前缀 + return baseUrl.replace(/^https?:\/\/api\./, 'https://'); + } + } catch (err) { + // 忽略JSON解析错误 + } + return ''; + }; + const handleChange = ( e: React.ChangeEvent ) => { const { name, value } = e.target; - setFormData({ - ...formData, - [name]: value, - }); + + if (name === 'settingsConfig') { + // 当用户修改配置时,尝试自动提取官网地址 + const extractedWebsiteUrl = extractWebsiteUrl(value); + + setFormData({ + ...formData, + [name]: value, + // 只有在官网地址为空时才自动填入 + websiteUrl: formData.websiteUrl || extractedWebsiteUrl, + }); + } else { + setFormData({ + ...formData, + [name]: value, + }); + } }; const applyPreset = (preset: typeof presets[0]) => {