From 70fef8df7e67d4d6736c2570b528e07944ce1bcf Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Sun, 18 May 2025 16:18:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E7=9A=84=E6=97=B6=E5=80=99=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=E9=AA=8C=E8=AF=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/apis/auth_api.js | 29 +++++++++++++++++++++++++++++ web/src/views/SettingView.vue | 18 +++--------------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/web/src/apis/auth_api.js b/web/src/apis/auth_api.js index 2026a287..6231c6a9 100644 --- a/web/src/apis/auth_api.js +++ b/web/src/apis/auth_api.js @@ -100,6 +100,35 @@ export const chatApi = { */ getTools: () => apiGet('/api/chat/tools', {}, true), + /** + * 获取模型提供商的模型列表 + * @param {string} provider - 模型提供商 + * @returns {Promise} - 模型列表 + */ + getProviderModels: (provider) => { + return fetch(`/api/chat/models?model_provider=${provider}`, { + headers: { + ...useUserStore().getAuthHeaders() + } + }).then(response => response.json()) + }, + + /** + * 更新模型提供商的模型列表 + * @param {string} provider - 模型提供商 + * @param {Array} models - 选中的模型列表 + * @returns {Promise} - 更新结果 + */ + updateProviderModels: (provider, models) => { + return fetch(`/api/chat/models/update?model_provider=${provider}`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + ...useUserStore().getAuthHeaders() + }, + body: JSON.stringify(models) + }).then(response => response.json()) + } } // 用户设置API diff --git a/web/src/views/SettingView.vue b/web/src/views/SettingView.vue index dcb88a1f..3a7069f4 100644 --- a/web/src/views/SettingView.vue +++ b/web/src/views/SettingView.vue @@ -380,6 +380,7 @@ import TableConfigComponent from '@/components/TableConfigComponent.vue'; import { notification, Button } from 'ant-design-vue'; import { modelIcons } from '@/utils/modelIcon' import { systemConfigApi } from '@/apis/admin_api' +import { chatApi } from '@/apis/auth_api' const configStore = useConfigStore() @@ -623,8 +624,7 @@ const sendRestart = () => { // 获取模型提供商的模型列表 const fetchProviderModels = (provider) => { providerConfig.loading = true; - fetch(`/api/chat/models?model_provider=${provider}`) - .then(response => response.json()) + chatApi.getProviderModels(provider) .then(data => { console.log(`${provider} 模型列表:`, data); @@ -680,19 +680,7 @@ const saveProviderConfig = async () => { try { // 发送选择的模型列表到后端 - const response = await fetch(`/api/chat/models/update?model_provider=${providerConfig.provider}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(providerConfig.selectedModels), - }); - - if (!response.ok) { - throw new Error('保存模型配置失败'); - } - - const data = await response.json(); + const data = await chatApi.updateProviderModels(providerConfig.provider, providerConfig.selectedModels); console.log('更新后的模型列表:', data.models); message.success({ content: '模型配置已保存!', key: 'save-config', duration: 2 });