MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / fetchUpstreamModelList

Function fetchUpstreamModelList

web/src/pages/Channel/EditChannel.js:258–311  ·  view source on GitHub ↗
(name)

Source from the content-addressed store, hash-verified

256 };
257
258 const fetchUpstreamModelList = async (name) => {
259 // if (inputs['type'] !== 1) {
260 // showError(t('仅支持 OpenAI 接口格式'));
261 // return;
262 // }
263 setLoading(true);
264 const models = inputs['models'] || [];
265 let err = false;
266
267 if (isEdit) {
268 // 如果是编辑模式,使用已有的 channelId 获取模型列表
269 const res = await API.get('/api/channel/fetch_models/' + channelId, { skipErrorHandler: true });
270 if (res && res.data && res.data.success) {
271 models.push(...res.data.data);
272 } else {
273 err = true;
274 }
275 } else {
276 // 如果是新建模式,通过后端代理获取模型列表
277 if (!inputs?.['key']) {
278 showError(t('请填写密钥'));
279 err = true;
280 } else {
281 try {
282 const res = await API.post(
283 '/api/channel/fetch_models',
284 {
285 base_url: inputs['base_url'],
286 type: inputs['type'],
287 key: inputs['key'],
288 },
289 { skipErrorHandler: true },
290 );
291
292 if (res && res.data && res.data.success) {
293 models.push(...res.data.data);
294 } else {
295 err = true;
296 }
297 } catch (error) {
298 console.error('Error fetching models:', error);
299 err = true;
300 }
301 }
302 }
303
304 if (!err) {
305 handleInputChange(name, Array.from(new Set(models)));
306 showSuccess(t('获取模型列表成功'));
307 } else {
308 showError(t('获取模型列表失败'));
309 }
310 setLoading(false);
311 };
312
313 const fetchModels = async () => {
314 try {

Callers 1

EditChannel.jsFile · 0.85

Calls 4

showErrorFunction · 0.90
showSuccessFunction · 0.90
handleInputChangeFunction · 0.70
tFunction · 0.50

Tested by

no test coverage detected