JPress二次开发的消息机制详解

JPress之家发布 开发教程 2016-09-20 741

后台菜单的定义

JPress在初始化后台菜单的时候,会发送一个初始化菜单的消息,所以我们在操作(添加、修改、删除)后台菜单的时候,只需要编写一个监听器,监听后台菜单的初始化,并对其操作即可。

如下代码:

@Listener(action = MenuManager.ACTION_INIT_MENU, async = false, weight = Listener.DEFAULT_WEIGHT + 1)
public class MenuInitListener implements MessageListener {

    @Override
    public void onMessage(Message message) {

        MenuManager manager = message.getData();

        manager.removeMenuGroupById("wechat"); //移除后台微信菜单
        manager.removeMenuGroupById("tools"); //移除后台的工具菜单
        manager.removeMenuGroupById("addon"); //移除后台的插件菜单

        MenuGroup templateMenu = manager.getMenuGroupById("template"); //获得后台的模板菜单
        templateMenu.removeMenuItemById("list"); //移除后台的 模板列表菜单
        templateMenu.removeMenuItemById("install"); //移除后台的 安装模板菜单
        
        //添加模板的首页设置菜单
        templateMenu.addMenuItem(0,new MenuItem("index", "/admin/index/setting", "首页设置")); 

    }

}

系统启动初始化

通过消息机制,JPress在启动的时候,会发送启动的消息,若在二次开发的过程中,需要在系统启动的时候做些自己业务逻辑相关的初始化工作,只需要如下代码即可:

@Listener(action = Actions.JPRESS_STARTED)
public class StartedListener implements MessageListener {

    @Override
    public void onMessage(Message message) {

        System.out.println(">>>>>>>>>>>>系统启动了");
        
        //添加自己的自定义标签
        Jpress.addTag("slider", new SliderTag());
        
    }
}