diff --git a/main/manager-web/src/apis/api.js b/main/manager-web/src/apis/api.js index c1468791..2b5372dd 100755 --- a/main/manager-web/src/apis/api.js +++ b/main/manager-web/src/apis/api.js @@ -4,13 +4,15 @@ import agent from './module/agent.js' import device from './module/device.js' import model from './module/model.js' import user from './module/user.js' +import timbre from "./module/timbre.js"; /** * 接口地址 * 开发时自动读取使用.env.development文件 * 编译时自动读取使用.env.production文件 */ -const DEV_API_SERVICE = process.env.VUE_APP_API_BASE_URL +// const DEV_API_SERVICE = process.env.VUE_APP_API_BASE_URL +const DEV_API_SERVICE = 'https://2662r3426b.vicp.fun/xiaozhi' /** * 根据开发环境返回接口url @@ -29,4 +31,5 @@ export default { agent, device, model, + timbre, } diff --git a/main/manager-web/src/apis/module/timbre.js b/main/manager-web/src/apis/module/timbre.js new file mode 100644 index 00000000..9b48e5c3 --- /dev/null +++ b/main/manager-web/src/apis/module/timbre.js @@ -0,0 +1,102 @@ +// timbre.js +import {getServiceUrl} from '../api'; +import RequestService from '../httpRequest'; + +export default { + /** + * 获取音色数据 + */ + getVoiceList(params, callback) { + const queryParams = new URLSearchParams({ + ttsModelId: params.ttsModelId, + page: params.page || 1, + limit: params.limit || 10, + name: params.name || '' + }).toString(); + + RequestService.sendRequest() + .url(`${getServiceUrl()}/ttsVoice?${queryParams}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime(); + callback(res.data || []); + }) + .fail((err) => { + console.error('获取音色列表失败:', err); + RequestService.reAjaxFun(() => { + this.getVoiceList(params, callback); + }); + }).send(); + }, + /** + * 音色保存 + */ + saveVoice(params, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/ttsVoice`) + .method('POST') + .data(JSON.stringify({ + languages: params.languageType, + name: params.voiceName, + remark: params.remark, + sort: params.sort, + ttsModelId: params.ttsModelId, + ttsVoice: params.voiceCode, + voiceDemo: params.voiceDemo || '' + })) + .success((res) => { + callback(res.data); + }) + .fail((err) => { + console.error('保存音色失败:', err); + RequestService.reAjaxFun(() => { + this.saveVoice(params, callback); + }); + }).send(); + }, + /** + * 音色删除 + */ + deleteVoice(id, callback) { + console.log('尝试删除音色,ID:', id); + RequestService.sendRequest() + .url(`${getServiceUrl()}/ttsVoice`) + .method('DELETE') + .data({ ids: [id] }) + .success((res) => { + RequestService.clearRequestTime() + callback(res); + }) + .fail((err) => { + console.error('删除音色失败:', err); + RequestService.reAjaxFun(() => { + this.deleteVoice(id, callback); + }); + }).send(); + }, + /** + * 音色修改 + */ + updateVoice(params, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/ttsVoice/${params.id}`) + .method('PUT') + .data(JSON.stringify({ + languages: params.languageType, + name: params.voiceName, + remark: params.remark, + ttsModelId: params.ttsModelId, + ttsVoice: params.voiceCode, + voiceDemo: params.voiceDemo || '' + })) + .success((res) => { + callback(res.data); + }) + .fail((err) => { + console.error('修改音色失败:', err); + RequestService.reAjaxFun(() => { + this.updateVoice(params, callback); + }); + }).send(); + } +} \ No newline at end of file diff --git a/main/manager-web/src/components/AudioPlayer.vue b/main/manager-web/src/components/AudioPlayer.vue index 1af0df87..2e066614 100644 --- a/main/manager-web/src/components/AudioPlayer.vue +++ b/main/manager-web/src/components/AudioPlayer.vue @@ -360,8 +360,8 @@ onUnmounted(() => { left: -14px; width: 30px; height: 60px; - -webkit-appearance: slider-vertical; - writing-mode: bt-lr; + writing-mode: vertical-lr; + direction: rtl; opacity: 0; cursor: pointer; z-index: 2; diff --git a/main/manager-web/src/components/TtsModel.vue b/main/manager-web/src/components/TtsModel.vue index fe31f087..e60bfbb0 100644 --- a/main/manager-web/src/components/TtsModel.vue +++ b/main/manager-web/src/components/TtsModel.vue @@ -4,7 +4,8 @@ width="75%" @close="handleClose" :show-close="false" - :append-to-body="true"> + :append-to-body="true" + :close-on-click-modal="true"> @@ -15,6 +16,7 @@ @scroll="handleScroll" > @@ -96,7 +105,9 @@ {{ selectAll ? '取消全选' : '全选' }} - 新增 + + 新增 + 删除 @@ -104,6 +115,7 @@