<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