UNPKG

@lcap/nasl

Version:

NetEase Application Specific Language

462 lines 14.6 kB
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