copper 8189ec9381 1. 添加预设功能文件夹
2. 修改登录页面
3. 添加导航与状态树
2020-11-16 11:25:40 +08:00

105 lines
2.4 KiB
JavaScript

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const storeToSession = store => {
// 当 store 初始化后调用
store.subscribe((mutation, state) => {
if (sessionStorage.getItem('store')){
sessionStorage.removeItem('store')
}
console.log(store)
sessionStorage.setItem('store', JSON.stringify(state))
})
}
const store = new Vuex.Store({
state: {
userInfo:null,
phone: document.body.clientWidth < 800,
login:false,
loginTime:0,
second: 60 * 60 * 2,
logs:'',
data:{},
currentComp: 'map',
cacheData:{}
},
mutations: {
phone(state, o) {
state.phone = o;
},
login(state, o) {
state.userInfo = o
state.login = true
state.loginTime = new Date().getTime()
},
logout(state)
{
state.userInfo=null
state.login = false
},
},
getters: {
phone(state) {
return state.phone;
},
isLogin(state) {
if (state.login && state.userInfo !== null )
{
if ((new Date().getTime() - state.loginTime) < state.second * 1000 )
{
return true
}
}
return false
},
isSuper(state, getters) {
if(getters.isLogin)
{
if(state.userInfo.permission == 0xfff)
{
return true
}
}
return false
},
isProject(state, getters)
{
if(getters.isLogin)
{
if(state.userInfo.permission == 0x0ff)
{
return true
}
}
return false
},
isAnayone(state, getters)
{
if(getters.isLogin)
{
if(state.userInfo.permission == 0x000)
{
return true
}
}
return false
},
isNormal(state, getters)
{
if(getters.isLogin)
{
if(state.userInfo.permission == 0x00f)
{
return true
}
}
return false
}
},
plugins: [storeToSession]
})
export default store