common.js 2.38 KB
import * as types from '../types'
const publicPath = require('@/config/isc-publicPath.js')
/**
 * 通用配置
 */
const state = {
    skinName : process.env.VUE_APP_BASETHEME,
    browserTitle: 'poin',
    hasLogin: false,
    isIamLogin: false,
    refreshRoute: true,
    menuCollapse: false,
    username:''
}
const actions = {
    changeSkin({ commit }, skinName){
    	if (state.skinName != skinName) {
				document.querySelector("#poin-vars").href = publicPath+'/static/theme/'+ skinName + '/css/vars.css';
    		document.querySelector("#poin-theme").href = publicPath+'/static/theme/'+ skinName + '/css/style.css';
				document.querySelector("#poin-theme-ext").href = publicPath+'/static/theme/'+ skinName + '/css/poin-theme-ext.css';
				sessionStorage.setItem("system_param_skin", skinName);
				commit(types.SET_SKIN, skinName)
    	}
    },
    setHasLogin({ commit }, status) {
    	commit(types.SET_HAS_LOGIN, status)
    },
    setIsIamLogin({ commit }, status) {
    	commit(types.SET_IS_IAM_LOGIN, status)
    },
    goRefreshRoute({ commit }, vm) {
    	commit(types.SET_REFRESH_ROUTE, false)
    	vm.$nextTick(() => {
    		commit(types.SET_REFRESH_ROUTE, true)
    	})
    },
    setMenuCollapse({ commit }, status) {
    	commit(types.SET_MENU_COLLAPSE, status)
    },
    setUserName({ commit }, status) {
    	commit(types.SET_USER_NAME, status)
    }
}
const getters = {
    getSkinName: state => state.skinName,
    getBrowserTitle: state => state.browserTitle,
    getHasLogin: state => state.hasLogin,
    getIsIamLogin: state => state.isIamLogin,
    getRefreshRoute: state => state.refreshRoute,
    getMenuCollapse: state => state.menuCollapse
}
const mutations = {
    [types.SET_SKIN](state, name) {
        state.skinName = name
    },
    [types.SET_BROWSER_TITLE](state, title) {
    	title =  title ? title : 'POIN';
    	window.document.title = title;
        state.browserTitle = title
    },
    [types.SET_HAS_LOGIN](state, status) {
        state.hasLogin = status
    },
    [types.SET_IS_IAM_LOGIN](state, status) {
        state.isIamLogin = status
    }
    ,
    [types.SET_REFRESH_ROUTE](state, status) {
        state.refreshRoute = status
    },
    [types.SET_MENU_COLLAPSE](state, status) {
        state.menuCollapse = status
    },
    [types.SET_USER_NAME](state, status) {
        state.username = status
    }
}
export default {
    state,
    actions,
    getters,
    mutations
}