改进添加供应商界面:实现自动提取官网地址功能
- 新增 extractWebsiteUrl 函数,从 JSON 配置中自动解析 ANTHROPIC_BASE_URL - 智能处理 URL 前缀,自动去掉 "api." 前缀生成官网地址 - 优化用户体验:仅在官网地址为空时自动填入,不覆盖用户手动输入 - 支持实时解析,用户输入 JSON 配置时立即更新官网地址字段
This commit is contained in:
@@ -82,14 +82,43 @@ const AddProviderModal: React.FC<AddProviderModalProps> = ({
|
||||
});
|
||||
};
|
||||
|
||||
// 从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<HTMLInputElement | HTMLTextAreaElement>
|
||||
) => {
|
||||
const { name, value } = e.target;
|
||||
|
||||
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]) => {
|
||||
|
||||
Reference in New Issue
Block a user