门户主题事件注册

发布于 2026-07-09

<span style="color:red">如果需要本功能,则e-cology9.0的补丁包至少需要升级到KB9.00.1904.07。</span>

事件是通过window.eventRegister.registerList('eventName', {fn: function() {}})来注册的。eventName为事件类型名,同一类型名可以注册多个事件;function为该事件函数,即需要执行的逻辑。

事件注册代码需要写在:<span style="color:red">\cloudstore\config\devStatic\devModuleCustom.js</span>文件中。

门户主题事件注册包含以下位置场景:

一、登录页加载前(beforLoginRender)

如果需要在登录页加载前执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('beforLoginRender', {
  fn: function(){
    // TODO 需要执行的js
  }
});

1、beforLoginRender为登录页加载前的事件名。

2、如果执行的逻辑是阻塞的,即校验通过后才能继续执行,则function需要返回个Promise类型。例如:

window.eventRegister.registerList('beforLoginRender', {
  fn: function(){
    // TODO 需要执行的js
    return new Promise(function(resolve, reject){
      setTimeout(function(){
        console.log('OK!');
        resolve();
      }, 2000);
    });
  }
});

3、如果事件执行完不需要继续执行标准逻辑,则在Promise中不需要调用resolve。例如:

window.eventRegister.registerList('beforLoginRender', {
  fn: function(){
    // TODO 需要执行的js
    return new Promise(function(resolve, reject){
      window.location.href='https://www.baidu.com';
    });
  }
});

二、登录页加载后(afterLoginRender)

如果需要在登录页加载后执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('afterLoginRender', {
  fn: function(){
    // TODO 需要执行的js
  }
});

三、登录前(beforLogin)

如果需要在登录前执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('beforLogin', {
  fn: function(){
    // TODO 需要执行的js
  }
});

四、登录成功后(afterLogin)

如果需要在登录成功后执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('afterLogin', {
  fn: function(){
    // TODO 需要执行的js
  }
});

五、主题加载前(beforThemeRender)

如果需要在主题加载前执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('beforThemeRender', {
  fn: function(){
    // TODO 需要执行的js
  }
});

六、主题加载后(afterThemeRender)

如果需要在主题加载后执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('afterThemeRender', {
  fn: function(){
    // TODO 需要执行的js
  }
});

七、退出前(beforLogout)

如果需要在退出前执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('beforLogout', {
  fn: function(){
    // TODO 需要执行的js
  }
});

八、退出成功后(afterLogout)

如果需要在退出成功后执行某些逻辑,需要添加以下代码:

window.eventRegister.registerList('afterLogout', {
  fn: function(){
    // TODO 需要执行的js
  }
});

隐藏主题顶部和左侧的方法:

在地址中添加参数来隐藏顶部和左侧。

1、隐藏顶部参数:hideHeader=true

2、隐藏左侧参数:hideAside=true

例如:

1、主题下正常访问流程待办时的地址:/wui/index.html#/main/workflow/listDoing

2、隐藏顶部时添加对应参数的地址:/wui/index.html?hideHeader=true#/main/workflow/listDoing

3、隐藏顶部和左侧添加对应参数的地址:/wui/index.html?hideHeader=true&hideAside=true#/main/workflow/listDoing