| 123456789101112131415161718192021222324252627282930313233343536 |
- import store from '../src/store';
- /**
- * 同步门户下发的主题与用户信息(对齐 EOM qiankun_config/store.js)
- * @param {object} state 可为 vuex store.state,或 onGlobalStateChange 下发的 state
- */
- export default function initParentStore(state) {
- if (!state) return;
- // 兼容传入整个 vuex store
- const data = state.state && (state.theme || state.user) ? state.state : state;
- if (data.theme) {
- for (const key in data.theme) {
- store.commit('theme/SET', { key, value: data.theme[key] });
- }
- if (data.theme.color != null) {
- store.dispatch('theme/setColor', data.theme.color);
- }
- if (data.theme.weakMode != null) {
- store.dispatch('theme/setWeakMode', data.theme.weakMode);
- }
- if (data.theme.styleResponsive != null) {
- store.dispatch('theme/setStyleResponsive', data.theme.styleResponsive);
- }
- }
- if (data.user?.info) {
- store.commit('user/setUserInfo', data.user.info);
- }
- // 与 EOM 一致:同步按钮权限
- if (data.user?.authorities) {
- store.commit('user/setAuthorities', data.user.authorities);
- }
- }
|