feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
import { ENVIRONMENTS } from '../constants';
|
||||
|
||||
export interface TestEnvironment {
|
||||
name: string;
|
||||
baseURL: string;
|
||||
mockEnabled: boolean;
|
||||
mockMode: 'full' | 'partial' | 'none';
|
||||
timeout: {
|
||||
default: number;
|
||||
navigation: number;
|
||||
element: number;
|
||||
network: number;
|
||||
};
|
||||
}
|
||||
|
||||
class TestConfig {
|
||||
private static instance: TestConfig;
|
||||
private currentEnvironment: string;
|
||||
private environments: Record<string, TestEnvironment>;
|
||||
|
||||
private constructor() {
|
||||
this.currentEnvironment = process.env.E2E_ENV || 'local';
|
||||
|
||||
this.environments = {
|
||||
local: {
|
||||
...ENVIRONMENTS.LOCAL,
|
||||
timeout: {
|
||||
default: 30000,
|
||||
navigation: 30000,
|
||||
element: 10000,
|
||||
network: 30000
|
||||
}
|
||||
},
|
||||
dev: {
|
||||
...ENVIRONMENTS.DEV,
|
||||
timeout: {
|
||||
default: 30000,
|
||||
navigation: 30000,
|
||||
element: 10000,
|
||||
network: 30000
|
||||
}
|
||||
},
|
||||
test: {
|
||||
...ENVIRONMENTS.TEST,
|
||||
timeout: {
|
||||
default: 30000,
|
||||
navigation: 30000,
|
||||
element: 10000,
|
||||
network: 30000
|
||||
}
|
||||
},
|
||||
prod: {
|
||||
...ENVIRONMENTS.PROD,
|
||||
timeout: {
|
||||
default: 30000,
|
||||
navigation: 30000,
|
||||
element: 10000,
|
||||
network: 30000
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
static getInstance(): TestConfig {
|
||||
if (!TestConfig.instance) {
|
||||
TestConfig.instance = new TestConfig();
|
||||
}
|
||||
return TestConfig.instance;
|
||||
}
|
||||
|
||||
getEnvironment(): TestEnvironment {
|
||||
return this.environments[this.currentEnvironment];
|
||||
}
|
||||
|
||||
getBaseURL(): string {
|
||||
return this.environments[this.currentEnvironment].baseURL;
|
||||
}
|
||||
|
||||
isMockEnabled(): boolean {
|
||||
return this.environments[this.currentEnvironment].mockEnabled;
|
||||
}
|
||||
|
||||
getMockMode(): string {
|
||||
return this.environments[this.currentEnvironment].mockMode;
|
||||
}
|
||||
|
||||
getCurrentEnvironmentName(): string {
|
||||
return this.currentEnvironment;
|
||||
}
|
||||
|
||||
setEnvironment(envName: string): void {
|
||||
if (this.environments[envName]) {
|
||||
this.currentEnvironment = envName;
|
||||
} else {
|
||||
throw new Error(`Unknown environment: ${envName}`);
|
||||
}
|
||||
}
|
||||
|
||||
getTimeout(): TestEnvironment['timeout'] {
|
||||
return this.environments[this.currentEnvironment].timeout;
|
||||
}
|
||||
}
|
||||
|
||||
export const testConfig = TestConfig.getInstance();
|
||||
Reference in New Issue
Block a user