UNPKG

@pisell/pisellos

Version:

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

85 lines (84 loc) 3.49 kB
import { RouterManager } from '../routes'; import { ApplicationManager } from '../applicationManager'; import { History, HistoryOptions } from '../history'; import { Data } from '../data'; import { Locales, LocalesOptions } from '../locales'; import { Storage, StorageOptions } from '../storage'; import { MenuManager } from '../menuManager'; import LoggerManager, { LoggerOptions } from '../logger'; import { TasksManager } from '../tasks'; import IndexDBManager, { DBOptions } from '../indexDB'; declare global { interface Window { app: App; } } export interface AppOptions { logger?: LoggerOptions; db?: DBOptions; constants?: any; history?: HistoryOptions; storage?: StorageOptions; locales?: LocalesOptions; } declare class App { private static instance; private plugins; globalData: any; router: RouterManager; applicationManager: ApplicationManager; history: History; data: Data; hooks: import("../hooks").HooksExport; locales: Locales; models: { getStore: () => import("../models").Store; StoreProvider: typeof import("react-redux").Provider; setConfig: (models: any[]) => void; }; request: { get: (url: import("../request").RequestWrapperProps["url"], data: import("../request").RequestWrapperProps["data"], config: import("../request").RequestWrapperProps["config"]) => Promise<any>; post: (url: import("../request").RequestWrapperProps["url"], data: import("../request").RequestWrapperProps["data"], config: import("../request").RequestWrapperProps["config"]) => Promise<any>; put: (url: import("../request").RequestWrapperProps["url"], data: import("../request").RequestWrapperProps["data"], config: import("../request").RequestWrapperProps["config"]) => Promise<any>; remove: (url: import("../request").RequestWrapperProps["url"], data: import("../request").RequestWrapperProps["data"], config: import("../request").RequestWrapperProps["config"]) => Promise<any>; custom: (url: import("../request").RequestWrapperProps["url"], config: import("../request").RequestWrapperProps["config"]) => Promise<any>; setConfig: (newConfig: Partial<import("../request").RequestConfig>) => void; getConfig: () => import("../request").RequestConfig; }; storage: Storage; menuManager: MenuManager; cookie: { setCookie: (name: string, value: string, domain?: string) => void; getCookie: (name: string) => string | null; deleteCookie: (name: string, domain?: string) => void; checkCookie: (name: string) => boolean; updateCookie: (name: string, value: string, domain?: string) => void; }; website: { setTitle: (title: string) => void; setIcon: (paramsIcon: string) => void; setAppleWebAppTitle: (title: string) => void; }; logger: LoggerManager; pubsub: import("../pubsub").PubSub; tasksManager: TasksManager; dbManager: IndexDBManager | null; sqlite: any; constants: { channel: string; [key: string]: string; }; private constructor(); static getInstance(options?: AppOptions): App; setGlobalData(globalData: any): void; usePlugin(name: string, plugin: any): void; usePlugins(plugins: { name: string; plugin: any; }[]): void; getPlugin(name: string): any; getGlobalData(): any; install(): void; unInstall(): void; } export default App;