diff --git a/src/components/AddProviderModal.css b/src/components/AddProviderModal.css index 173769c..60da719 100644 --- a/src/components/AddProviderModal.css +++ b/src/components/AddProviderModal.css @@ -133,6 +133,18 @@ color: white; } +/* 官方按钮橙色主题(Anthropic 风格) */ +.preset-btn.official { + border: 1px solid #d97706; + color: #d97706; +} + +.preset-btn.official:hover, +.preset-btn.official.selected { + background: #d97706; + color: white; +} + .form-group { margin-bottom: 1.25rem; } diff --git a/src/components/ProviderForm.tsx b/src/components/ProviderForm.tsx index 48d4687..709f9dc 100644 --- a/src/components/ProviderForm.tsx +++ b/src/components/ProviderForm.tsx @@ -170,6 +170,10 @@ const ProviderForm: React.FC = ({ const showApiKey = selectedPreset !== null || hasApiKeyField(formData.settingsConfig); + // 判断当前选中的预设是否是官方 + const isOfficialPreset = selectedPreset !== null && + providerPresets[selectedPreset]?.isOfficial === true; + // 初始时从配置中同步 API Key(编辑模式) useEffect(() => { if (initialData) { @@ -225,18 +229,20 @@ const ProviderForm: React.FC = ({
- {providerPresets.map((preset, index) => ( - - ))} + {providerPresets.map((preset, index) => { + return ( + + ); + })}
)} @@ -264,8 +270,17 @@ const ProviderForm: React.FC = ({ id="apiKey" value={apiKey} onChange={(e) => handleApiKeyChange(e.target.value)} - placeholder="只需要填这里,下方配置会自动填充" + placeholder={isOfficialPreset + ? "官方登录无需填写 API Key,直接保存即可" + : "只需要填这里,下方配置会自动填充" + } + disabled={isOfficialPreset} autoComplete="off" + style={isOfficialPreset ? { + backgroundColor: '#f5f5f5', + cursor: 'not-allowed', + color: '#999' + } : {}} /> diff --git a/src/config/providerPresets.ts b/src/config/providerPresets.ts index 9976968..f0baa6f 100644 --- a/src/config/providerPresets.ts +++ b/src/config/providerPresets.ts @@ -5,9 +5,19 @@ export interface ProviderPreset { name: string; websiteUrl: string; settingsConfig: object; + isOfficial?: boolean; // 标识是否为官方预设 } export const providerPresets: ProviderPreset[] = [ + { + name: "Claude官方登录", + websiteUrl: "https://www.anthropic.com/claude-code", + settingsConfig: { + env: { + }, + }, + isOfficial: true, // 明确标识为官方预设 + }, { name: "DeepSeek v3.1", websiteUrl: "https://platform.deepseek.com",