Files
cc-switch/src/renderer/utils/providerConfigUtils.ts
farion1231 100b3f6e21 重大功能改进:添加禁止 Claude Code 签名功能并重构代码
新增功能:
- 在添加供应商和编辑供应商窗口都增加"禁止 Claude Code 签名"选择框
- 自动同步 JSON 配置中的 includeCoAuthoredBy 字段
- 支持双向同步:手动编辑 JSON 时选择框状态自动更新

代码优化:
- 提取通用函数到 providerConfigUtils.ts 工具文件
- 重构代码避免重复,提高可维护性
- 保持原有自动提取官网地址功能

UI改进:
- 优化选择框与标签的对齐样式
- 统一两个窗口的交互体验
2025-08-07 23:05:11 +08:00

47 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 供应商配置处理工具函数
// 处理includeCoAuthoredBy字段的添加/删除
export const updateCoAuthoredSetting = (jsonString: string, disable: boolean): string => {
try {
const config = JSON.parse(jsonString)
if (disable) {
// 添加或更新includeCoAuthoredBy字段
config.includeCoAuthoredBy = false
} else {
// 删除includeCoAuthoredBy字段
delete config.includeCoAuthoredBy
}
return JSON.stringify(config, null, 2)
} catch (err) {
// 如果JSON解析失败返回原始字符串
return jsonString
}
}
// 从JSON配置中检查是否包含includeCoAuthoredBy设置
export const checkCoAuthoredSetting = (jsonString: string): boolean => {
try {
const config = JSON.parse(jsonString)
return config.includeCoAuthoredBy === false
} catch (err) {
return false
}
}
// 从JSON配置中提取并处理官网地址
export 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 ''
}