UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

51 lines (50 loc) 1.84 kB
import App from "../app"; import { LoadLibraryByUrlParams } from "../locales/type"; import { MenuItem } from "../menuManager/index"; export type ApplicationInterface = { page_type: "low_code" | "code"; page_id: number | string; page_code: string; page_version?: string; page_name: string; router: string; category: "page" | "component" | "function"; Component?: any; children?: any; layout?: string; originalUrl?: string; }; export type ApplicationData = { app_id: number; app_name: string; app_type: "system" | "custom"; interfaces: ApplicationInterface[]; functions?: any[]; menu?: { [key: string]: MenuItem[]; }; locales?: LoadLibraryByUrlParams; [key: string]: any; }; export declare class Application { options: ApplicationData; name: ApplicationData["app_name"]; interfaces: Map<ApplicationInterface["page_name"], ApplicationInterface>; components: Map<string, any>; functions: Map<string, any>; app: App; constructor(options: ApplicationData, app: App); afterAdd(application: Application): Promise<void>; beforeLoad(): Promise<void>; load(): Promise<void>; initInterfaces(interfaces: ApplicationData["interfaces"]): void; initFunctions(functions: ApplicationData["functions"]): void; loadInterface(interfaceItem: ApplicationInterface): Promise<ApplicationInterface>; setInterface(code: string, interfaceItem: ApplicationInterface): void; setComponent(code: string, component: ApplicationInterface): void; setFunction(code: string, functionItem: ApplicationInterface): void; getInterface(code: string): ApplicationInterface | undefined; getComponent(code: string): any; getFunction(code: string): any; runFunction(code: string, params?: any, ...args: any): any; }