@lcap/nasl
Version:
NetEase Application Specific Language
462 lines • 14.6 kB
TypeScript
import type { App, Role, View, ViewElement, Frontend, FrontendType } from '../../concepts';
import { AxiosInstance } from 'axios';
import { ReleaseData, BundleFileGeneratorConfig } from './types';
import { EnvData, Asset, InternalReleaseData } from './internal';
/**
* 权限上报数据
*/
export declare function getAuthReport(app: App, frontends: Array<Frontend>): {
roleList: Role[];
resourceList: string[];
resourceDataList: {
value: string;
description: string;
type: 'page' | 'component' | 'logic';
clientType?: string;
}[];
roleResourceMappingList: {
roleName: string;
resourcePath: string;
}[];
};
/**
* 获取页面中所有 分析报告组件 的reportId
*/
export declare function findAllReportIdList(app: App, frontends: Array<Frontend>): string[];
export declare function replaceAssetUrl(files: Array<{
name: string;
content: string;
}>, oldUrlWithoutProtocol: string, newUrlWithProtocol: string): {
name: string;
content: string;
}[];
export declare function getFrontendByTypes(frontendTypes?: FrontendType[]): Frontend[];
/**
* 当前应用使用到的资源
* @param axios
* @param id
* @returns
*/
export declare function loadFiles(axios: AxiosInstance, id: string): Promise<any>;
export declare function getUsedAssets(axios: AxiosInstance, id: string, frontends: Frontend[]): Promise<string[]>;
export declare function staticResourceSync(axios: AxiosInstance, assets: Array<Asset>, id: string, env: string, frontends: Frontend[]): Promise<any>;
export declare function getPackageInfos(axios: AxiosInstance, app: App, staticUrl: string, fullVersion: string): Promise<{
template: {
name: string;
version: string;
frameworkKind: string;
}[];
ui: {
name: string;
version: string;
frameworkKind: string;
libName: string;
}[];
scope: string;
}[]>;
export declare function getEnvConfig(axios: AxiosInstance, id: string): Promise<EnvData>;
export declare function getAppInfo(axios: AxiosInstance, releaseData: ReleaseData): Promise<{
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; /**
* 将前端类型转换为JSON格式
*/
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;
};
tenant: string;
env: string;
tenantID: string;
isExport: boolean;
isPreviewFe: boolean;
realRelease: boolean;
debug: boolean;
STATIC_URL: string;
extendedConfig: any;
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;
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 declare function getVersionDetail(axios: AxiosInstance, app: any): Promise<{
version: string;
fullVersion: 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;
};
};
}>;
/**
* 共享的前端JSON转换函数,用于处理u-download组件和类型注解
*/
export declare function createGenHashTransformer(): (source: any, node: any) => any;
/**
* 将前端类型转换为JSON格式
*/
export declare function transformFrontendsToJson(frontends: FrontendType[]): any[];
export declare function getValidationRules(axios: AxiosInstance, ideVersion: string, frontends: FrontendType[]): Promise<any>;
export declare function getContentType(fileName: string): "text/html" | "text/plain" | "application/json" | "application/javascript" | "text/css" | "image/png" | "image/jpeg" | "image/gif" | "image/svg+xml" | "font/woff" | "font/woff2" | "font/ttf" | "application/vnd.ms-fontobject";
export declare const getPropertyRecord: (form: ViewElement) => {};
export declare const setPropertyRecord: (originForm: ViewElement, currentFormTemplate: string) => string;
/**
* 生成流程表单
* @param entity
* @param view
* @returns
* @description 生成流程表单代码,逻辑比较定制化,由于封闭形态下表单修改不容易同步更新审批页流程表单,所以流程页表单在预览生成时补充生成
*/
export declare function genProcessFormCode(view: View): string;
/**
* 权限上报表单定义数据,关联了不同页面的页面的任务节点需要上传不同的表单定义
*/
export declare function getProcessFormDefinitions(app: App, opt: InternalReleaseData): {
keys: string[];
content: string;
}[];
/** 序列化页面生成器配置 */
export declare function encodeBundleFileGeneratorConfig(config: BundleFileGeneratorConfig): string;
/** 反序列化页面生成器配置 */
export declare function decodeBundleFileGeneratorConfig(input: string): BundleFileGeneratorConfig;
/** 是否需要启动前端分析 */
export declare function needFrontendBatch(app: App): boolean;
export declare function getGzipData(data: any): string;
//# sourceMappingURL=utils.d.ts.map