import { createStore } from "vuex"; import createPersistedState from "vuex-persistedstate"; import { logOutProc } from "../../resources/api/logOut"; export default createStore({ plugins: [createPersistedState()], state: { authorization: null, // refresh: null, roles: [{authority: "ROLE_USER"}], }, getters: { getAuthorization: function () {}, // getRefresh: function () {}, getUserNm: function () {}, getRoles: function () {}, }, mutations: { setAuthorization(state, newValue) { state.authorization = newValue; }, // setRefresh(state, newValue) { // state.refresh = newValue; // }, setUserNm(state, newValue) { state.userNm = newValue; }, setUserId(state, newValue) { state.userId = newValue; }, setRoles(state, newValue) { state.roles = newValue; }, setStoreReset(state) { state.authorization = null; // state.refresh = null; state.userNm = null; state.userId = null; state.roles = [{authority: "ROLE_USER"}]; }, }, actions: { async logout({ commit }) { try { const res = await logOutProc(); alert(res.data.message); if (res.status == 200) { commit("setStoreReset"); } } catch(error) { const errorData = error.response.data; if (errorData.message != null && errorData.message != "") { alert(error.response.data.message); } else { alert("에러가 발생했습니다.\n관리자에게 문의해주세요."); } } }, setStoreReset({commit}) { commit("setStoreReset"); } }, });