feat: 功能优化

This commit is contained in:
2026-02-01 21:11:29 +08:00
parent 808774c333
commit ca82e41674
8 changed files with 33 additions and 41 deletions

View File

@@ -50,7 +50,7 @@ const {
setSpeechRate,
resetPreviewState
} = useTTS({
provider: TTS_PROVIDERS.QWEN
provider: TTS_PROVIDERS.SILICONFLOW
})
// 当前选中的音色ID

View File

@@ -10,28 +10,15 @@ import { normalizeProviderType, VOICE_PROVIDER_TYPES } from '@/config/voiceConfi
// 兼容旧代码的导出
const TTS_PROVIDERS = VOICE_PROVIDER_TYPES
// 供应商默认配置(使用标准化后的键名)
const DEFAULT_CONFIG = {
cosyvoice: {
const DEFAULT_CONFIG = {
apiEndpoint: '/api/tik/voice/tts',
audioFormat: 'mp3',
supportedFormats: ['mp3', 'wav']
},
azure: {
apiEndpoint: '/api/tik/voice/azure/tts',
audioFormat: 'mp3',
supportedFormats: ['mp3', 'wav', 'ogg']
},
aws: {
apiEndpoint: '/api/tik/voice/aws/tts',
audioFormat: 'mp3',
supportedFormats: ['mp3', 'wav', 'ogg']
}
}
export function useTTS(options = {}) {
const {
provider = VOICE_PROVIDER_TYPES.COSYVOICE,
provider = VOICE_PROVIDER_TYPES.SILICONFLOW,
customConfig = {}
} = options
@@ -49,9 +36,7 @@ export function useTTS(options = {}) {
// 获取当前供应商配置
const getProviderConfig = () => {
const normalizedProvider = normalizeProviderType(provider)
const config = DEFAULT_CONFIG[normalizedProvider] || DEFAULT_CONFIG.cosyvoice
return { ...config, ...customConfig }
return DEFAULT_CONFIG
}
/**

View File

@@ -20,17 +20,14 @@ export const VOICE_PROVIDER_OPTIONS = [
{ label: '硅基流动 SiliconFlow', value: VOICE_PROVIDER_TYPES.SILICONFLOW }
]
// 供应商别名映射(兼容旧名称)
export const PROVIDER_ALIAS_MAP = {
[VOICE_PROVIDER_TYPES.QWEN]: VOICE_PROVIDER_TYPES.COSYVOICE
}
/**
* 标准化供应商类型(处理别名映射)
* 标准化供应商类型
*/
export function normalizeProviderType(providerType) {
if (!providerType) return DEFAULT_VOICE_PROVIDER
return PROVIDER_ALIAS_MAP[providerType] || providerType
return VOICE_PROVIDER_TYPES[providerType] || providerType
}
/**
@@ -41,21 +38,13 @@ export function getProviderLabel(providerType) {
return option?.label || providerType
}
/**
* 检查供应商是否支持
*/
export function isProviderSupported(providerType) {
const normalized = normalizeProviderType(providerType)
return Object.values(VOICE_PROVIDER_TYPES).includes(normalized)
}
// 默认导出配置对象
export default {
VOICE_PROVIDER_TYPES,
DEFAULT_VOICE_PROVIDER,
VOICE_PROVIDER_OPTIONS,
PROVIDER_ALIAS_MAP,
normalizeProviderType,
getProviderLabel,
isProviderSupported
}