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

147 lines
4.3 KiB
JavaScript
Raw Normal View History

2025-04-05 20:19:28 +08:00
import { getServiceUrl } from '../api';
import RequestService from '../httpRequest';
2025-04-02 17:54:25 +08:00
export default {
2025-04-05 20:19:28 +08:00
// 获取模型配置列表
getModelList(params, callback) {
const queryParams = new URLSearchParams({
modelType: params.modelType,
modelName: params.modelName || '',
page: params.page || 0,
limit: params.limit || 10
}).toString();
2025-04-02 17:54:25 +08:00
2025-04-05 20:19:28 +08:00
RequestService.sendRequest()
2025-04-06 15:45:18 +08:00
.url(`${getServiceUrl()}/models/list?${queryParams}`)
2025-04-05 20:19:28 +08:00
.method('GET')
.success((res) => {
RequestService.clearRequestTime()
callback(res)
})
.fail((err) => {
console.error('获取模型列表失败:', err)
RequestService.reAjaxFun(() => {
this.getModelList(params, callback)
2025-04-02 17:54:25 +08:00
})
2025-04-05 20:19:28 +08:00
}).send()
},
// 获取模型供应器列表
getModelProviders(modelType, callback) {
RequestService.sendRequest()
2025-04-06 02:09:49 +08:00
.url(`${getServiceUrl()}/models/${modelType}/provideTypes`)
2025-04-05 20:19:28 +08:00
.method('GET')
.success((res) => {
RequestService.clearRequestTime()
callback(res.data?.data || [])
})
.fail((err) => {
console.error('获取供应器列表失败:', err)
this.$message.error('获取供应器列表失败')
RequestService.reAjaxFun(() => {
this.getModelProviders(modelType, callback)
})
2025-04-05 20:19:28 +08:00
}).send()
},
2025-04-03 16:23:15 +08:00
2025-04-05 20:19:28 +08:00
// 新增模型配置
addModel(params, callback) {
const { modelType, provideCode, formData } = params;
const postData = {
modelCode: formData.modelCode,
modelName: formData.modelName,
isDefault: formData.isDefault ? 1 : 0,
isEnabled: formData.isEnabled ? 1 : 0,
2025-04-07 09:44:48 +08:00
configJson: formData.configJson,
2025-04-05 20:19:28 +08:00
docLink: formData.docLink,
remark: formData.remark,
sort: formData.sort || 0
};
2025-04-03 16:23:15 +08:00
2025-04-05 20:19:28 +08:00
RequestService.sendRequest()
2025-04-06 15:45:18 +08:00
.url(`${getServiceUrl()}/models/${modelType}/${provideCode}`)
2025-04-05 20:19:28 +08:00
.method('POST')
.data(postData)
.success((res) => {
RequestService.clearRequestTime()
callback(res)
})
.fail((err) => {
console.error('新增模型失败:', err)
this.$message.error(err.msg || '新增模型失败')
RequestService.reAjaxFun(() => {
this.addModel(params, callback)
2025-04-03 16:23:15 +08:00
})
2025-04-05 20:19:28 +08:00
}).send()
},
2025-04-07 14:50:20 +08:00
// 删除模型配置
deleteModel(id, callback) {
RequestService.sendRequest()
.url(`${getServiceUrl()}/models/${id}`)
.method('DELETE')
.success((res) => {
RequestService.clearRequestTime()
callback(res)
2025-04-05 20:19:28 +08:00
})
2025-04-07 14:50:20 +08:00
.fail((err) => {
console.error('删除模型失败:', err)
this.$message.error(err.msg || '删除模型失败')
RequestService.reAjaxFun(() => {
this.deleteModel(id, callback)
})
}).send()
},
2025-04-06 15:45:18 +08:00
// 获取模型名称列表
getModelNames(modelType, modelName, callback) {
RequestService.sendRequest()
.url(`${getServiceUrl()}/models/names`)
.method('GET')
.data({ modelType, modelName })
.success((res) => {
RequestService.clearRequestTime();
callback(res);
})
.fail(() => {
RequestService.reAjaxFun(() => {
this.getModelNames(modelType, modelName, callback);
});
}).send();
},
// 获取模型音色列表
getModelVoices(modelId, voiceName, callback) {
const queryParams = new URLSearchParams({
voiceName: voiceName || ''
}).toString();
RequestService.sendRequest()
.url(`${getServiceUrl()}/models/${modelId}/voices?${queryParams}`)
.method('GET')
.success((res) => {
RequestService.clearRequestTime();
callback(res);
})
.fail(() => {
RequestService.reAjaxFun(() => {
this.getModelVoices(modelId, voiceName, callback);
});
}).send();
},
2025-04-07 14:50:20 +08:00
// 获取单个模型配置
getModelConfig(id, callback) {
RequestService.sendRequest()
.url(`${getServiceUrl()}/models/${id}`)
.method('GET')
.success((res) => {
RequestService.clearRequestTime()
callback(res)
})
.fail((err) => {
console.error('获取模型配置失败:', err)
this.$message.error(err.msg || '获取模型配置失败')
RequestService.reAjaxFun(() => {
this.getModelConfig(id, callback)
})
}).send()
},
2025-04-02 17:54:25 +08:00
}