Files
cc-switch/src/shared/types.ts
farion1231 482298411a 代码重构:移除 any 类型并抽取共享表单组件
- 移除所有 any 类型声明,提升类型安全性
- 简化 ClaudeCodeSettings 接口为通用的 Record<string, any>,支持任意供应商配置
- 创建 ProviderForm 共享组件,减少重复代码约 300 行
- 优化 Store 类型定义,使用泛型约束确保类型安全

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 15:03:38 +08:00

29 lines
969 B
TypeScript

export interface Provider {
id: string
name: string
settingsConfig: Record<string, any> // 完整的Claude Code settings.json配置
websiteUrl?: string
}
export interface AppConfig {
providers: Record<string, Provider>
current: string
}
declare global {
interface Window {
electronAPI: {
getProviders: () => Promise<Record<string, Provider>>
getCurrentProvider: () => Promise<string>
addProvider: (provider: Provider) => Promise<boolean>
deleteProvider: (id: string) => Promise<boolean>
updateProvider: (provider: Provider) => Promise<boolean>
switchProvider: (providerId: string) => Promise<boolean>
importCurrentConfigAsDefault: () => Promise<{ success: boolean; providerId?: string }>
getClaudeCodeConfigPath: () => Promise<string>
selectConfigFile: () => Promise<string | null>
openConfigFolder: () => Promise<boolean>
openExternal: (url: string) => Promise<boolean>
}
}
}