style: providers selection, remove fallback form

This commit is contained in:
jialin
2026-02-03 18:21:08 +08:00
parent 5fcdf4ea00
commit 15cd9795d5
18 changed files with 200 additions and 124 deletions
+4 -39
View File
@@ -1,47 +1,12 @@
import icons from '@/components/icon-font/icons';
import { StatusMaps } from '@/config';
import { StatusType } from '@/config/types';
import { ProviderEnum } from './providers';
export { maasProviderLabelMap, maasProviderOptions } from './providers';
export type maasProviderType =
| 'doubao'
| 'qwen'
| 'openai'
| 'deepseek'
| 'anthropic';
export type maasProviderType = ProviderEnum[keyof ProviderEnum];
export const maasProviderValueMap = {
Doubao: 'doubao',
Qwen: 'qwen',
OpenAI: 'openai',
Deepseek: 'deepseek',
Anthropic: 'anthropic'
};
export const maasProviderLabelMap = {
[maasProviderValueMap.Doubao]: 'Doubao',
[maasProviderValueMap.Qwen]: 'Qwen',
[maasProviderValueMap.OpenAI]: 'OpenAI',
[maasProviderValueMap.Deepseek]: 'DeepSeek',
[maasProviderValueMap.Anthropic]: 'Anthropic'
};
export const providerIconsMap = {
[maasProviderValueMap.Doubao]: 'icon-doubao',
[maasProviderValueMap.Qwen]: 'icon-qwen',
[maasProviderValueMap.OpenAI]: 'icon-openai',
[maasProviderValueMap.Deepseek]: 'icon-deepseek',
[maasProviderValueMap.Anthropic]: 'icon-anthropic'
};
export const maasProviderOptions = Object.entries(maasProviderValueMap).map(
([key, value]) => ({
label: maasProviderLabelMap[value],
value: value,
key: value,
locale: false,
icon: providerIconsMap[value]
})
);
export const maasProviderValueMap = ProviderEnum;
export const ProviderStatusValueMap: Record<string, string> = {
Ready: 'ready',
+9 -5
View File
@@ -9,7 +9,8 @@ export const mockDataList: MaasProviderItem[] = [
models: 5,
state_message: '',
provider: 'doubao',
proxy_config: {},
api_tokens: ['token1', 'token2'],
proxy_url: 'http://proxy.example.com',
builtIn: false
},
{
@@ -19,7 +20,8 @@ export const mockDataList: MaasProviderItem[] = [
state: 'inactive',
state_message: 'Provider is inactive',
provider: 'qwen',
proxy_config: false,
proxy_url: 'http://proxy2.example.com',
builtIn: true
},
{
@@ -28,7 +30,8 @@ export const mockDataList: MaasProviderItem[] = [
name: 'OpenAI',
state: 'ready',
state_message: '',
proxy_config: null,
proxy_url: null,
api_tokens: ['tokenA'],
provider: 'openai',
builtIn: false
},
@@ -39,7 +42,8 @@ export const mockDataList: MaasProviderItem[] = [
state: 'ready',
state_message: '',
provider: 'deepseek',
proxy_config: null,
proxy_url: null,
api_tokens: ['tokenX', 'tokenY'],
builtIn: false
},
{
@@ -49,7 +53,7 @@ export const mockDataList: MaasProviderItem[] = [
state: 'inactive',
state_message: 'Provider is inactive',
provider: 'anthropic',
proxy_config: {},
proxy_url: {},
builtIn: true
}
];
@@ -0,0 +1,56 @@
export enum ProviderEnum {
AI360 = 'ai360',
AZURE = 'azure',
BAICHUAN = 'baichuan',
BAIDU = 'baidu',
BEDROCK = 'bedrock',
CLAUDE = 'claude',
CLOUDFLARE = 'cloudflare',
COHERE = 'cohere',
COZE = 'coze',
DEEPL = 'deepl',
DEEPSEEK = 'deepseek',
DIFY = 'dify',
DOUBAO = 'doubao',
FIREWORKS = 'fireworks',
GEMINI = 'gemini',
GITHUB = 'github',
GROK = 'grok',
GROQ = 'groq',
HUNYUAN = 'hunyuan',
LONGCAT = 'longcat',
MINIMAX = 'minimax',
MISTRAL = 'mistral',
MOONSHOT = 'moonshot',
OLLAMA = 'ollama',
OPENAI = 'openai',
OPENROUTER = 'openrouter',
QWEN = 'qwen',
SPARK = 'spark',
STEPFUN = 'stepfun',
TOGETHERAI = 'together-ai',
TRITON = 'triton',
YI = 'yi',
ZHIPUAI = 'zhipuai'
}
// generate provider list: {label: string;value:string}[]
export const maasProviderOptions = Object.entries(ProviderEnum).map(
([key, value]) => ({
locale: false,
label: key,
value: value,
key: value
})
);
// generate provider value to label map
export const maasProviderLabelMap: Record<string, string> = Object.entries(
ProviderEnum
).reduce(
(acc, [key, value]) => {
acc[value] = key;
return acc;
},
{} as Record<string, string>
);
+22 -6
View File
@@ -2,15 +2,31 @@ import { maasProviderType } from '.';
export interface MaasProviderItem {
id: number;
created_at: string;
updated_at: string;
deleted_at: string;
name: string;
models?: number;
state: string;
state_message: string;
provider: maasProviderType;
proxy_config?: any;
builtIn: boolean;
description: string;
api_tokens: string[];
timeout: number;
config: {
type: maasProviderType;
[key: string]: any;
};
support_models: unknown[];
proxy_url: string;
proxy_timeout: number;
builtin: boolean;
provider_model_count: number;
api_token_count: number;
}
export interface FormData {
name: string;
description: string;
api_tokens: string[];
config: {
type: maasProviderType;
[key: string]: any;
};
}