@lcap/nasl
Version:
NetEase Application Specific Language
463 lines • 12.8 kB
TypeScript
import type { AxiosInstance } from 'axios';
import type { App } from '../../concepts';
export interface LoadMaterialContext {
axios: AxiosInstance;
app: App;
appInfo: AppInfo;
}
export interface UIDeclaration {
allNodesAPI: Record<string, any>;
componentList: any[];
tsCode?: string;
}
export interface CustomUIDeclaration extends UIDeclaration {
officialCustomMap: Record<string, any>;
}
export interface UILibraryDeclaration {
allNodesAPI: Record<string, any>;
needTSComponents: Record<string, any>;
standardUIComponents: Record<string, any>;
basicUITsCode: string;
withTypeLibraryTsCode: string;
}
export interface HttpData<D = any> {
code: number;
msg: string;
result: D;
success: boolean;
}
export interface AppInfo {
STATIC_URL: string;
/**
* 租户编号
*
* @description 实际上是`CodeWaveEnvData['officialTenantId‘]`属性
*/
tenantID: string;
}
export interface UIPackageInfo {
name: string;
version: string;
scope: FrameworkScope;
frameworkKind: FrameworkKind;
manifest?: MaterialManifest;
treeShaking?: boolean;
}
/** 环境数据 */
export interface CodeWaveEnvData {
nuimsDomain: string;
kubeInsightAppCluster: string;
officialTenantId: string;
enableOpenAiCompletionForLogic: boolean;
pwdSecurity: {
pwdCategory: string;
};
tenantAndAppMaxLength: number;
platformCreateDatabaseOpen: boolean;
documentCenter: {
isLocalDeployment: boolean;
deliveryMode: string;
url: string;
};
lcpRedirectSwitch: boolean;
kubeInsightAddress: string;
gatewayType: string;
STATIC_URL: string;
traceSwitch: boolean;
resourceAssignStrategy: string;
creatorIsManager: boolean;
websqlSwitch: string;
enableCodeWaveMarket: boolean;
platformEnv: string;
IDE_STATIC_URL: string;
isPrivatized: string;
clientToken: string;
biConfig: boolean;
platformExtraAbilityDetail: {
configFrontSupport: {
open: boolean;
expiringDays: number;
smsNotificationOpen: boolean;
popupNotificationOpen: boolean;
};
exportSourceSupport: {
open: boolean;
expiringDays: number;
smsNotificationOpen: boolean;
popupNotificationOpen: boolean;
};
appPublishOnlineSupport: {
open: boolean;
expiringDays: number;
smsNotificationOpen: boolean;
popupNotificationOpen: boolean;
};
};
USER_STATIC_URL: string;
kubeInsightServiceName: string;
consoleDomain: string;
enableOpenAiForLogic: boolean;
lowcodeDomain: string;
name: string;
tenantIntegrationSwitch: boolean;
envNuimsDomain: {
dev: string;
online: string;
};
envLcpDomain: {
dev: {
lcpDomain: string;
};
online: {
lcpDomain: string;
};
};
kubeClientApplicationKey: string;
}
/** 租户信息 */
export interface CodeWaveTenantData {
companyIdentifier: string;
lastCompletelyRecycleTime: string;
companyName: any;
trialStatus: number;
status: any;
trialTime: number;
multiEnvEnable: boolean;
tenantType: number;
tenantLevel: number;
tenantLevelDetail: {
onlineReplicasLimit: string;
aiJavaLogicCompletionDisplay: string;
releaseDevAppCountLimit: string;
customPackageSupport: string;
aiNl2sqlSupport: string;
aiNextComponentSupport: string;
productAppSpecification: string;
configDatabaseSupport: string;
aiJavaLogicDisplay: string;
appPublishOnlineSupport: string;
rdsMode: string;
assetsLibraryExportSupport: string;
assignDeveloperSupport: string;
cpuLimit: string;
mavenConfigEditSupport: string;
aiCodeAnalyzeSupport: string;
aiNl2LogicSupport: string;
onboardingSupport: string;
storageLimit: string;
releaseAppCountLimit: string;
configFrontSupport: string;
configFileStorageSupport: string;
aiNl2sqlDisplay: string;
teamDeveloperSupport: string;
accountLimit: string;
aiD2CSupport: string;
exportSourceSupport: string;
customDomainSupport: string;
reportFormsEditSupport: string;
aiNl2LogicDisplay: string;
memoryLimit: string;
aiJavaLogicCompletionSupport: string;
assetsArchetypeSupport: string;
appCreateLimit: string;
configImageRepoSupport: string;
configSourceSupport: string;
aiJavaLogicSupport: string;
assetsTemplateExportSupport: string;
};
tenantExtraAbilityDetail: {
aiNextComponentSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiNl2sqlDisplay: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiD2CSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiJavaLogicCompletionDisplay: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiJavaLogicDisplay: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiCodeAnalyzeSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiNl2LogicDisplay: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiNl2LogicSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiJavaLogicCompletionSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
appPublishOnlineSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiNl2sqlSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
aiJavaLogicSupport: {
id: number;
name: string;
tenantName: string;
startTime: number;
expireTime: number;
smsSendTime: any;
createdTime: any;
updatedTime: any;
};
};
expireTime: number;
expireTimeStr: string;
isOfficial: boolean;
configs: {
htmlTitle: string;
favicon: string;
icon: string;
onDutyAccount: string;
tel: string;
platformName: string;
onDutyEmail: string;
navigationBackgroundColour: string;
onDutyPhone: string;
fontColour: string;
};
}
/** 版本详情 */
export interface IdeVersionDetail {
id: number;
platformVersionId: any;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
updateMode: string;
changeDate: number;
defaultVersion: boolean;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: string;
dependencies: {
BackendGenerator: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
FrontendComponentLibraryPC: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
FrontendArchH5: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
FrontendArchPC: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
IdeBundle: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
FrontendComponentLibraryH5: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
FrontendGenerator: {
id: number;
version: string;
mainVersion: number;
miniVersion: number;
subVersion: number;
type: string;
changeDate: number;
createdBy: string;
createdTime: string;
updatedBy: string;
updatedTime: string;
changeLog: any;
};
};
assetDependencies: Array<{
id: number;
symbol: string;
name: string;
version: string;
category: string;
}>;
}
export interface FrameworkVersionData {
name: string;
version: string;
frameworkKind: FrameworkKind;
}
export interface UiLibraryVersionData extends FrameworkVersionData {
frameworkVersion: string;
}
export interface MaterialData {
framework: {
version: string;
core: string;
pc: FrameworkVersionData[];
h5: FrameworkVersionData[];
};
ui: {
pc: UiLibraryVersionData[];
h5: UiLibraryVersionData[];
};
}
export type FrameworkScope = 'h5' | 'pc';
export type FrameworkKind = 'vue2' | 'react' | 'vue3';
export interface MaterialManifest {
nasl: string[];
runtime: string[];
theme: string[];
package: string[];
i18n: string[];
ide: string[];
style?: string[];
modules?: string[];
hashMap?: Record<string, string>;
}
//# sourceMappingURL=types.d.ts.map