///
import Vue, { VueConstructor } from 'vue';
declare type LOADING_STATUS = 'init' | 'loading' | 'wait' | 'successed';
export interface IModule {
_devUrl?: string;
_loadStatus: LOADING_STATUS;
_loadPromise?: Promise;
name: string;
icon: string;
version: string;
devUrl: string;
moduleType: 'html' | 'service' | 'jslib';
serviceHost?: string;
distFiles: Array;
debugFiles: Array;
description?: string;
dependencies?: {
[k: string]: string;
} | string[];
globalVar?: string;
exports?: any;
components?: {
[name: string]: VueConstructor;
};
packages: any;
}
export interface IApiExportBase {
pkg: any;
api: any;
db: any;
session: {
[k: string]: {
client: any;
server: any;
};
};
}
export declare type API_EXPORT_REMAP_SESSION_T = Omit & {
session: {
[k in keyof T['session']]: T['session'][k]['client'];
};
};
export interface IProject {
name: string;
version: string;
description: string;
homepage: {
[k: string]: string;
};
jslib: string;
packages: {
html: {
[k: string]: IModule;
};
service: {
[k: string]: IModule;
};
};
fixedProtocol?: boolean;
protocol?: string;
isApp?: boolean;
publish: {
oss: null | string;
servers: {
[k: string]: {
localIp?: string;
port: number;
modules: {
[k: string]: {
instances: number;
ping?: number;
};
};
};
};
};
}
export interface IServiceRouter {
[k: string]: {
host?: string;
origin?: string;
url?: string;
validServers: {
name: string;
payload: number;
port: number;
}[];
};
}
declare const _default: import("./GlobalData").DeepReadonlyObject;
_fetchPayload(serverName: string, serverStatus: any): Promise;
_loadServerPayloads(): Promise;
/**
* 检测服务器,根据服务组件状况,自动 ping 各个服务器
* 在每次启动,第一次发送消息前等待检测结果
*/
detectServer(): Promise;
updateRouteInfo(pkgName: string, componentName: string): void;
_parseSessionString(sessName: string, sessStr: string): void;
/**
* 解析URL Sessions
*/
_parseUrlSessions(): void;
_parseLocalStorageSession(): void;
loadSessions(): void;
/**
* 获取服务的 url 地址
* @param pkgName
*/
serviceUrl(pkgName: string): string | undefined;
/**
* 清除session
* @param session sessionName
*/
clearSession(session: string): void;
/**
*
* @param api API 定义对象
*/
loadApi(api: T): API_EXPORT_REMAP_SESSION_T;
_checkLoadDevModule(moduleName: string): Promise;
/**
* 获取 module 信息
* @param moduleName
*/
getModule(moduleName: string): IModule;
/**
* 获取模块全局 global 对象
* @param moduleName
*/
getModuleGlobalVar(moduleName: string): any;
getModuleDependencies(moduleName: string): string[] | undefined;
getModuleFiles(moduleName: string): string[];
/**
* 动态加载模块返回全局变量
* @param moduleName 字符串或者数组,模块名
*/
loadExternalModule(moduleName: string | string[]): Promise;
vueComponent(pkgName: string, componentName: string): Promise>;
vueComponents(pkgName: string, componentNames: string[]): Promise[]>;
checkPremissions(pkgName: string, CmptName: string): true;
/**
* 加载一个目录下的全部*.vue 或者 *.ts 文件
* 使用方式: loadVueDir(pkgName, require.context('./pages', true, /.*\.vue$/));
* @param packageJson
* @param reqContext
*/
loadVueDir(pkgName: any, reqContext: __WebpackModuleApi.RequireContext): any;
_loadProject(): void;
_loadDeveloperConfig(): Promise;
_wait(cbFun: Function): void;
_waitVmminit(): Promise;
/**
* 供app使用,修改host
* @param _host 域名+ip eg: www.mshow3.com:80
*/
_setHost(_serviceName: string, _host: string): void;
/**
* 获取服务器 协议+域名
* 打包app时使用,将本地file:协议转到http服务协议
*/
getServiceUrl(): string;
}, {
homepagePackage: string;
}, Record>, "homepagePackage" | "$watch" | "$on" | "$emit" | "_initStatus" | "routeInfo" | "projectData" | "sessions" | "api" | "services" | "serverStatus" | "serviceRouter" | "_userPm" | "protocol" | "_fromUrl" | "customizedHost" | "setFromUrl" | "getFromUrl" | "setUserPm" | "checkUserPm" | "_timeoutFetch" | "_fetchPayload" | "_loadServerPayloads" | "detectServer" | "updateRouteInfo" | "_parseSessionString" | "_parseUrlSessions" | "_parseLocalStorageSession" | "loadSessions" | "serviceUrl" | "clearSession" | "loadApi" | "_checkLoadDevModule" | "getModule" | "getModuleGlobalVar" | "getModuleDependencies" | "getModuleFiles" | "loadExternalModule" | "vueComponent" | "vueComponents" | "checkPremissions" | "loadVueDir" | "_loadProject" | "_loadDeveloperConfig" | "_wait" | "_waitVmminit" | "_setHost" | "getServiceUrl">>;
export default _default;