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 @@