From f341837e07f4a8fe2f806b95979d9e77655b62d6 Mon Sep 17 00:00:00 2001 From: Gavan <994259213@qq.com> Date: Mon, 28 Jul 2025 14:09:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20model=20=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/context/index.tsx | 2 ++ ui/src/main.tsx | 8 +++++++- ui/src/pages/model/index.tsx | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ui/src/context/index.tsx b/ui/src/context/index.tsx index 32dfed2..ba49d62 100644 --- a/ui/src/context/index.tsx +++ b/ui/src/context/index.tsx @@ -23,10 +23,12 @@ export const CommonContext = createContext<{ coderModel: DomainModel[]; llmModel: DomainModel[]; isConfigModel: boolean; + modelLoading: boolean; refreshModel: () => void; }>({ coderModel: [], llmModel: [], isConfigModel: false, + modelLoading: false, refreshModel: () => {}, }); diff --git a/ui/src/main.tsx b/ui/src/main.tsx index 78fed73..1c6fb27 100644 --- a/ui/src/main.tsx +++ b/ui/src/main.tsx @@ -55,6 +55,7 @@ dayjs.extend(relativeTime); const App = () => { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); + const [modelLoading, setModelLoading] = useState(true); const [coderModel, setCoderModel] = useState([]); const [llmModel, setLlmModel] = useState([]); const [isConfigModel, setIsConfigModel] = useState(false); @@ -65,6 +66,7 @@ const App = () => { }; const getModelList = () => { + setModelLoading(true); return Promise.all([ getMyModelList({ model_type: 'coder', @@ -78,7 +80,10 @@ const App = () => { setLlmModel(res[1] || []); return res; }) - .then(handleModelConfig); + .then(handleModelConfig) + .finally(() => { + setModelLoading(false); + }); }; const handleModelConfig = (res: [DomainModel[], DomainModel[]]) => { @@ -160,6 +165,7 @@ const App = () => { value={{ coderModel, llmModel, + modelLoading, isConfigModel, refreshModel: getModelList, }} diff --git a/ui/src/pages/model/index.tsx b/ui/src/pages/model/index.tsx index 7b612b1..a8a771f 100644 --- a/ui/src/pages/model/index.tsx +++ b/ui/src/pages/model/index.tsx @@ -7,11 +7,11 @@ import { useCommonContext } from '@/hooks/context'; import { Modal } from '@c-x/ui'; const Model = () => { - const { coderModel, llmModel, refreshModel, isConfigModel } = + const { coderModel, llmModel, refreshModel, isConfigModel, modelLoading } = useCommonContext(); const isFirst = useRef(true); useEffect(() => { - if (isFirst.current && !isConfigModel) { + if (isFirst.current && !isConfigModel && !modelLoading) { isFirst.current = false; let text = ''; if ( @@ -34,7 +34,7 @@ const Model = () => { okText: '去配置', }); } - }, [isConfigModel, coderModel, llmModel]); + }, [isConfigModel, coderModel, llmModel, modelLoading]); return (