chore: src/modules/plugin/event/init.ts
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { CoolEvent, Event } from '@cool-midway/core';
|
||||
import { Inject } from '@midwayjs/core';
|
||||
import { PluginCenterService } from '../service/center';
|
||||
|
||||
// 插件初始化全局事件
|
||||
export const GLOBAL_EVENT_PLUGIN_INIT = 'globalPluginInit';
|
||||
// 插件移除全局事件
|
||||
export const GLOBAL_EVENT_PLUGIN_REMOVE = 'globalPluginRemove';
|
||||
|
||||
/**
|
||||
* 接收事件
|
||||
*/
|
||||
@CoolEvent()
|
||||
export class PluginInitEvent {
|
||||
@Inject()
|
||||
pluginCenterService: PluginCenterService;
|
||||
|
||||
/**
|
||||
* 插件初始化事件,某个插件重新初始化
|
||||
* @param key
|
||||
*/
|
||||
@Event(GLOBAL_EVENT_PLUGIN_INIT)
|
||||
async globalPluginInit(key: string) {
|
||||
await this.pluginCenterService.initOne(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件移除或者关闭事件
|
||||
* @param key
|
||||
* @param isHook
|
||||
*/
|
||||
@Event(GLOBAL_EVENT_PLUGIN_REMOVE)
|
||||
async globalPluginRemove(key: string, isHook: boolean) {
|
||||
await this.pluginCenterService.remove(key, isHook);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user