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.
39 lines
1.1 KiB
39 lines
1.1 KiB
/** |
|
*公共数据 |
|
*/ |
|
import { initGlobalState, RegistrableApp } from 'qiankun'; |
|
import { store } from '/@/store'; |
|
import { router } from '/@/router'; |
|
import { getAccessToken } from '/@/utils/auth'; |
|
|
|
//定义传入子应用的数据 |
|
export function getProps(){ |
|
return { |
|
data: { |
|
publicPath: '/', |
|
token: getAccessToken(), |
|
store, |
|
router, |
|
}, |
|
}; |
|
} |
|
|
|
/** |
|
* 定义全局状态,并返回通信方法,在主应用使用,微应用通过 props 获取通信方法。 |
|
* @param state 主应用穿的公共数据 |
|
*/ |
|
export function initGlState(info = { userName: 'admin' }) { |
|
// 初始化state |
|
const actions = initGlobalState(info); |
|
// 设置新的值 |
|
actions.setGlobalState(info); |
|
// 注册 观察者 函数 - 响应 globalState 变化,在 globalState 发生改变时触发该 观察者 函数。 |
|
actions.onGlobalStateChange((newState, prev) => { |
|
// state: 变更后的状态; prev 变更前的状态 |
|
console.info('newState', newState); |
|
console.info('prev', prev); |
|
for (const key in newState) { |
|
console.info('onGlobalStateChange', key); |
|
} |
|
}); |
|
}
|
|
|