服装智能制造软件平台V3.0
http://182.92.169.222/hhxy/#/user/login
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.9 KiB
68 lines
1.9 KiB
/** |
|
* qiankun配置 |
|
*/ |
|
import {registerMicroApps, setDefaultMountApp, start, runAfterFirstMounted, addGlobalUncaughtErrorHandler} from 'qiankun'; |
|
import {apps} from './apps'; |
|
import {getProps, initGlState} from './state'; |
|
/** |
|
* 重构apps |
|
*/ |
|
function filterApps() { |
|
apps.forEach((item) => { |
|
//主应用需要传递给微应用的数据。 |
|
item.props = getProps(); |
|
//微应用触发的路由规则 |
|
item.activeRule = genActiveRule('/' + item.activeRule); |
|
}); |
|
return apps; |
|
} |
|
|
|
/** |
|
* 路由监听 |
|
* @param {*} routerPrefix 前缀 |
|
*/ |
|
function genActiveRule(routerPrefix) { |
|
return location => location.pathname.startsWith(routerPrefix); |
|
} |
|
|
|
/** |
|
* 微应用注册 |
|
*/ |
|
function registerApps() { |
|
const _apps = filterApps(); |
|
registerMicroApps(_apps, |
|
{ |
|
beforeLoad: [ |
|
loadApp => { |
|
console.log('before load', loadApp); |
|
} |
|
], |
|
beforeMount: [ |
|
mountApp => { |
|
console.log('before mount', mountApp); |
|
} |
|
], |
|
afterMount: [ |
|
mountApp => { |
|
console.log('before mount', mountApp); |
|
} |
|
], |
|
afterUnmount: [ |
|
unloadApp => { |
|
console.log('after unload', unloadApp); |
|
} |
|
] |
|
}); |
|
// 设置默认子应用,与 genActiveRule中的参数保持一致 |
|
// setDefaultMountApp(); |
|
// 第一个微应用 mount 后需要调用的方法,比如开启一些监控或者埋点脚本。 |
|
runAfterFirstMounted(() => console.log('开启监控')); |
|
// 添加全局的未捕获异常处理器。 |
|
addGlobalUncaughtErrorHandler(event => console.log(event)); |
|
// 定义全局状态 |
|
initGlState(); |
|
//启动qiankun |
|
start({}); |
|
} |
|
|
|
export default registerApps;
|
|
|