mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-23 23:53:55 +08:00
202 lines
6.1 KiB
JavaScript
202 lines
6.1 KiB
JavaScript
import { getServiceUrl } from '../api';
|
|
import RequestService from '../httpRequest';
|
|
|
|
export default {
|
|
// 获取模型配置列表
|
|
getModelList(params, callback) {
|
|
const queryParams = new URLSearchParams({
|
|
modelType: params.modelType,
|
|
modelName: params.modelName || '',
|
|
page: params.page || 0,
|
|
limit: params.limit || 10
|
|
}).toString();
|
|
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/list?${queryParams}`)
|
|
.method('GET')
|
|
.success((res) => {
|
|
RequestService.clearRequestTime()
|
|
callback(res)
|
|
})
|
|
.fail((err) => {
|
|
console.error('获取模型列表失败:', err)
|
|
RequestService.reAjaxFun(() => {
|
|
this.getModelList(params, callback)
|
|
})
|
|
}).send()
|
|
},
|
|
// 获取模型供应器列表
|
|
getModelProviders(modelType, callback) {
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/${modelType}/provideTypes`)
|
|
.method('GET')
|
|
.success((res) => {
|
|
RequestService.clearRequestTime()
|
|
callback(res.data?.data || [])
|
|
})
|
|
.fail((err) => {
|
|
console.error('获取供应器列表失败:', err)
|
|
this.$message.error('获取供应器列表失败')
|
|
RequestService.reAjaxFun(() => {
|
|
this.getModelProviders(modelType, callback)
|
|
})
|
|
}).send()
|
|
},
|
|
|
|
// 新增模型配置
|
|
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,
|
|
configJson: formData.configJson,
|
|
docLink: formData.docLink,
|
|
remark: formData.remark,
|
|
sort: formData.sort || 0
|
|
};
|
|
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/${modelType}/${provideCode}`)
|
|
.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)
|
|
})
|
|
}).send()
|
|
},
|
|
// 删除模型配置
|
|
deleteModel(id, callback) {
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/${id}`)
|
|
.method('DELETE')
|
|
.success((res) => {
|
|
RequestService.clearRequestTime()
|
|
callback(res)
|
|
})
|
|
.fail((err) => {
|
|
console.error('删除模型失败:', err)
|
|
this.$message.error(err.msg || '删除模型失败')
|
|
RequestService.reAjaxFun(() => {
|
|
this.deleteModel(id, callback)
|
|
})
|
|
}).send()
|
|
},
|
|
// 获取模型名称列表
|
|
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();
|
|
},
|
|
// 获取单个模型配置
|
|
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()
|
|
},
|
|
// 启用/禁用模型状态
|
|
updateModelStatus(id, status, callback) {
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/enable/${id}/${status}`)
|
|
.method('PUT')
|
|
.success((res) => {
|
|
RequestService.clearRequestTime()
|
|
callback(res)
|
|
})
|
|
.fail((err) => {
|
|
console.error('更新模型状态失败:', err)
|
|
this.$message.error(err.msg || '更新模型状态失败')
|
|
RequestService.reAjaxFun(() => {
|
|
this.updateModelStatus(id, status, callback)
|
|
})
|
|
}).send()
|
|
},
|
|
// 更新模型配置
|
|
updateModel(params, callback) {
|
|
const { modelType, provideCode, id, formData } = params;
|
|
const payload = {
|
|
...formData,
|
|
configJson: formData.configJson
|
|
};
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/${modelType}/${provideCode}/${id}`)
|
|
.method('PUT')
|
|
.data(payload)
|
|
.success((res) => {
|
|
RequestService.clearRequestTime();
|
|
callback(res);
|
|
})
|
|
.fail((err) => {
|
|
console.error('更新模型失败:', err);
|
|
this.$message.error(err.msg || '更新模型失败');
|
|
RequestService.reAjaxFun(() => {
|
|
this.updateModel(params, callback);
|
|
});
|
|
}).send();
|
|
},
|
|
// 设置默认模型
|
|
setDefaultModel(id, callback) {
|
|
RequestService.sendRequest()
|
|
.url(`${getServiceUrl()}/models/default/${id}`)
|
|
.method('PUT')
|
|
.success((res) => {
|
|
RequestService.clearRequestTime()
|
|
callback(res)
|
|
})
|
|
.fail((err) => {
|
|
console.error('设置默认模型失败:', err)
|
|
this.$message.error(err.msg || '设置默认模型失败')
|
|
RequestService.reAjaxFun(() => {
|
|
this.setDefaultModel(id, callback)
|
|
})
|
|
}).send()
|
|
}
|
|
}
|