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) }) .networkFail((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 || []) }) .networkFail((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) }) .networkFail((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) }) .networkFail((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); }) .networkFail(() => { 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); }) .networkFail(() => { 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) }) .networkFail((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) }) .networkFail((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); }) .networkFail((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) }) .networkFail((err) => { console.error('设置默认模型失败:', err) this.$message.error(err.msg || '设置默认模型失败') RequestService.reAjaxFun(() => { this.setDefaultModel(id, callback) }) }).send() }, /** * 获取模型配置列表(支持查询参数) * @param {Object} params - 查询参数对象,例如 { name: 'test', modelType: 1 } * @param {Function} callback - 回调函数 */ getModelProvidersPage(params, callback) { // 构建查询参数 const queryParams = new URLSearchParams(); if (params.name) queryParams.append('name', params.name); if (params.modelType !== undefined) queryParams.append('modelType', params.modelType); if (params.page !== undefined) queryParams.append('page', params.page); if (params.limit !== undefined) queryParams.append('limit', params.limit); RequestService.sendRequest() .url(`${getServiceUrl()}/models/provider?${queryParams.toString()}`) .method('GET') .success((res) => { RequestService.clearRequestTime(); callback(res); }) .networkFail((err) => { this.$message.error(err.msg || '获取供应器列表失败'); RequestService.reAjaxFun(() => { this.getModelProviders(params, callback); }); }).send(); }, /** * 新增模型供应器配置 * @param {Object} params - 请求参数对象,例如 { modelType: '1', providerCode: '1', name: '1', fields: '1', sort: 1 } * @param {Function} callback - 成功回调函数 */ addModelProvider(params, callback) { const postData = { modelType: params.modelType || '', providerCode: params.providerCode || '', name: params.name || '', fields: JSON.stringify(params.fields || []), sort: params.sort || 0 }; RequestService.sendRequest() .url(`${getServiceUrl()}/models/provider`) .method('POST') .data(postData) .success((res) => { RequestService.clearRequestTime(); callback(res); }) .networkFail((err) => { console.error('新增模型供应器失败:', err) this.$message.error(err.msg || '新增模型供应器失败') RequestService.reAjaxFun(() => { this.addModelProvider(params, callback); }); }).send(); }, /** * 更新模型供应器配置 * @param {Object} params - 请求参数对象,例如 { id: '111', modelType: '1', providerCode: '1', name: '1', fields: '1', sort: 1 } * @param {Function} callback - 成功回调函数 */ updateModelProvider(params, callback) { const putData = { id: params.id || '', modelType: params.modelType || '', providerCode: params.providerCode || '', name: params.name || '', fields: JSON.stringify(params.fields || []), sort: params.sort || 0 }; RequestService.sendRequest() .url(`${getServiceUrl()}/models/provider`) .method('PUT') .data(putData) .success((res) => { RequestService.clearRequestTime(); callback(res); }) .networkFail((err) => { this.$message.error(err.msg || '更新模型供应器失败') RequestService.reAjaxFun(() => { this.updateModelProvider(params, callback); }); }).send(); }, // 删除 deleteModelProviderByIds(ids, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/models/provider/delete`) .method('POST') .data(ids) .success((res) => { RequestService.clearRequestTime() callback(res); }) .networkFail((err) => { this.$message.error(err.msg || '删除模型供应器失败') RequestService.reAjaxFun(() => { this.deleteModelProviderByIds(ids, callback) }) }).send() }, }