feat: 语音

This commit is contained in:
2026-02-01 18:35:03 +08:00
parent 646a72de64
commit 003e55dccf
8 changed files with 45 additions and 67 deletions

View File

@@ -68,18 +68,6 @@
<a-input v-model:value="formData.name" placeholder="请输入配音名称" />
</a-form-item>
<a-form-item
v-if="isCreateMode"
label="语音供应商"
name="providerType"
>
<a-select
v-model:value="formData.providerType"
:options="PROVIDER_OPTIONS"
placeholder="请选择语音供应商"
/>
</a-form-item>
<a-form-item
v-if="isCreateMode"
label="音频文件"
@@ -125,10 +113,8 @@ import { MaterialService } from '@/api/material'
import { useUpload } from '@/composables/useUpload'
import dayjs from 'dayjs'
import BasicLayout from '@/layouts/components/BasicLayout.vue'
import { VOICE_PROVIDER_OPTIONS, DEFAULT_VOICE_PROVIDER } from '@/config/voiceConfig'
// ========== 常量 ==========
const PROVIDER_OPTIONS = VOICE_PROVIDER_OPTIONS
const DEFAULT_FORM_DATA = {
id: null,
@@ -137,8 +123,7 @@ const DEFAULT_FORM_DATA = {
autoTranscribe: true,
language: 'zh-CN',
gender: 'female',
note: '',
providerType: DEFAULT_VOICE_PROVIDER
note: ''
}
// ========== 响应式数据 ==========
@@ -199,8 +184,7 @@ const fillFormData = (data) => {
fileId: data.fileId || null,
language: data.language || 'zh-CN',
gender: data.gender || 'female',
note: data.note || '',
providerType: data.providerType || DEFAULT_VOICE_PROVIDER
note: data.note || ''
})
}
@@ -269,6 +253,8 @@ const handleDelete = (record) => {
okText: '删除',
okButtonProps: { danger: true },
cancelText: '取消',
centered: true,
width: 420,
onOk: async () => {
try {
const res = await VoiceService.delete(record.id)
@@ -380,8 +366,7 @@ const handleSubmit = async () => {
autoTranscribe: formData.autoTranscribe,
language: formData.language,
gender: formData.gender,
note: formData.note,
providerType: formData.providerType
note: formData.note
}
: {
id: formData.id,