/** * 配音 API 服务 * 对应后端 tik 模块的配音管理接口 */ import http from './http' import { API_BASE } from '@gold/config/api' // 统一使用 /api/tik 前缀 const BASE_URL = `${API_BASE.APP}/api/tik/voice` /** * 配音 API 服务 */ export const VoiceService = { /** * 创建配音 * @param {Object} data - 请求数据 * @param {string} data.name - 配音名称(必填) * @param {number} data.fileId - 音频文件编号(必填) * @param {boolean} data.autoTranscribe - 是否自动识别(可选) * @param {string} data.language - 语言(可选) * @param {string} data.gender - 音色类型(可选) * @param {string} data.note - 备注(可选) * @returns {Promise} */ create(data) { return http.post(`${BASE_URL}/create`, data) }, /** * 更新配音 * @param {Object} data - 请求数据 * @param {number} data.id - 配音编号(必填) * @param {string} data.name - 配音名称(可选) * @param {string} data.language - 语言(可选) * @param {string} data.gender - 音色类型(可选) * @param {string} data.note - 备注(可选) * @returns {Promise} */ update(data) { return http.put(`${BASE_URL}/update`, data) }, /** * 删除配音 * @param {number} id - 配音编号 * @returns {Promise} */ delete(id) { return http.delete(`${BASE_URL}/delete`, { params: { id } }) }, /** * 分页查询配音列表 * @param {Object} params - 查询参数 * @param {number} params.pageNo - 页码 * @param {number} params.pageSize - 每页数量 * @param {string} params.name - 配音名称(模糊查询) * @returns {Promise} */ getPage(params) { return http.get(`${BASE_URL}/page`, { params }) }, /** * 获取单个配音 * @param {number} id - 配音编号 * @returns {Promise} */ get(id) { return http.get(`${BASE_URL}/get`, { params: { id } }) }, /** * 手动触发语音识别 * @param {number} id - 配音编号 * @returns {Promise} */ transcribe(id) { return http.post(`${BASE_URL}/transcribe`, null, { params: { id } }) }, /** * 文本转语音(CosyVoice) * @param {Object} data * @returns {Promise} */ synthesize(data) { return http.post(`${BASE_URL}/tts`, data) }, /** * 我的音色试听 * @param {Object} data * @returns {Promise} */ preview(data) { return http.post(`${BASE_URL}/preview`, data) } } export default VoiceService