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.
iot/projects/WebMVC/wwwroot/js/state.js

27 lines
873 B

Vue.use(Vuex);
const store = new Vuex.Store({
state: {
token: {
accessToken: localStorage.getItem("accessToken"),
refreshToken: localStorage.getItem("refreshToken")
},
permissions:[]
},
mutations: {
setState(state,data) {
state[data.key] = data.value;
},
login(state, data) {
localStorage.setItem('accessToken', data.accessToken);
localStorage.setItem('refreshToken', data.refreshToken);
state.token.accessToken = data.accessToken;
state.token.refreshToken = data.refreshToken;
},
logout(state) {
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
state.token.accessToken = null;
state.token.refreshToken = null;
}
}
});