Files
xiaozhi-esp32-server/main/manager-web/src/apis/module/timbre.js
T

92 lines
3.1 KiB
JavaScript

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 || []);
})
.networkFail((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);
})
.networkFail((err) => {
console.error('保存音色失败:', err);
RequestService.reAjaxFun(() => {
this.saveVoice(params, callback);
});
}).send();
},
// 音色删除
deleteVoice(ids, callback) {
RequestService.sendRequest()
.url(`${getServiceUrl()}/ttsVoice/delete`)
.method('POST')
.data(ids)
.success((res) => {
RequestService.clearRequestTime()
callback(res);
})
.networkFail((err) => {
console.error('删除音色失败:', err);
RequestService.reAjaxFun(() => {
this.deleteVoice(ids, 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);
})
.networkFail((err) => {
console.error('修改音色失败:', err);
RequestService.reAjaxFun(() => {
this.updateVoice(params, callback);
});
}).send();
}
}