import { CoolPlugin, ICoolPlugin, PLUGINSTATUS } from '@cool-midway/core'; import { RedisCacheHandler } from '@cool-midway/redis'; import { ServiceBroker } from 'moleculer'; import { ILogger } from '@midwayjs/logger'; import { IMidwayApplication } from '@midwayjs/core'; /** * 微服务 */ export declare class Moleculer implements ICoolPlugin { redisCacheHandler: RedisCacheHandler; broker: ServiceBroker; coolPlugin: CoolPlugin; coreLogger: ILogger; private redisConfig; moleculerConfig: any; app: IMidwayApplication; cruds: any; /** * 初始化 */ init(): Promise; /** * 获得事件 * @returns */ getEvents(): Promise<{}>; /** * 获得内网IP */ getIpAddr(): string; /** * 获得Model * @param curdOption */ getModel(curdOption: any): any; /** * 初始化service,设置entity */ initService(): Promise; /** * 创建服务 */ createService(): Promise; /** * 调用服务 * @param name 服务名称 * @param controller 接口服务 * @param method 方法 * @param params 参数 * @returns */ call(name: string, service: string, method: string, params?: {}): Promise; /** * 发送事件 * @param name 事件名称 * @param params 事件参数 * @param node 节点名称 */ event(name: string, params: any, node?: string | string[]): Promise; /** * 发送广播事件 * @param name * @param params * @param node 节点名称 */ broadcastEvent(name: string, params: any, node?: string | string[]): Promise; /** * 发送本地广播事件 * @param name * @param params * @param node 节点名称 */ broadcastLocalEvent(name: string, params: any, node?: string | string[]): Promise; /** * 获得原始的broker对象 * @returns */ getBroker(): ServiceBroker; /** * 停止 */ stop(): void; /** * 检查状态 * @returns */ checkStatus(): Promise; }