
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import { createStore } from "vuex";
import createPersistedState from "vuex-persistedstate";
import { logOutProc } from "../../resources/api/user";
export default createStore({
plugins: [createPersistedState()],
state: {
authorization: null,
userId: null, // 사용자 ID 추가
loginId: null, // 로그인 ID 추가
userNm: null, // 사용자 이름 추가
roles: [], // 사용자 권한
},
getters: {
getAuthorization(state) {
return state.authorization; // authorization 반환
},
getUserNm(state) {
return state.userNm; // 사용자 이름 반환
},
getRoles(state) {
return state.roles; // 사용자 권한 반환
},
},
mutations: {
setAuthorization(state, newValue) {
state.authorization = newValue; // authorization 설정
},
setLoginId(state, newValue) {
state.loginId = newValue; // 로그인 ID 설정
},
setUserNm(state, newValue) {
state.userNm = newValue; // 사용자 이름 설정
},
setUserId(state, newValue) {
state.userId = newValue; // 사용자 ID 설정
},
setRoles(state, newValue) {
state.roles = newValue; // 사용자 권한 설정
},
setStoreReset(state) {
state.authorization = null;
state.userNm = null;
state.userId = null;
state.roles = [];
state.loginId = null;
},
},
actions: {
async logout({ commit }) {
try {
const res = await logOutProc();
alert(res.data.message);
if (res.status === 200) {
commit("setStoreReset");
}
} catch (error) {
console.error("Logout error:", error); // 에러 로그 추가
const errorData = error.response.data;
if (errorData.message) {
alert(errorData.message);
} else {
alert("에러가 발생했습니다.\n관리자에게 문의해주세요.");
}
}
},
setStoreReset({ commit }) {
commit("setStoreReset");
},
},
});