export const useAuthStore = defineStore('authStore', () => { const auth = ref({ seq: '', // 시퀀스 id: '', // 아이디 name: '', // 이름 email: '', // 이메일 companyName: '', // 회사명 phone: '', // 전화번호 companyId: '', // 아이디 accessToken: '', // 토큰 refreshToken: '', // 갱신토큰 }) // 전체 조회 const getCompanyId = computed(() => auth.value.companyId) // 아이디 조회 const getSeq = computed(() => auth.value.seq) // 시퀀스 조회 const getUserId = computed(() => auth.value.id) // 아이디 조회 const getUserName = computed(() => auth.value.name) // 이름 조회 const getUserEmail = computed(() => auth.value.email) // 이메일 조회 const getCompanyName = computed(() => auth.value.companyName) // 회사명 조회 const getUserPhone = computed(() => auth.value.phone) // 관리자 핸드폰 조회 const getAccessToken = computed(() => auth.value.accessToken) // 토큰 조회 const getRefreshToken = computed(() => auth.value.refreshToken) // 리프레시토큰 조회 // 점검공지 function setAuth(payload){ auth.value.companyId = payload.user.COMP_ID auth.value.seq = payload.user.SEQ auth.value.id = payload.user.ID auth.value.name = payload.user.NAME auth.value.email = payload.user.EMAIL auth.value.companyName = payload.user.COMP_NAME auth.value.phone = payload.user.PHONE auth.value.accessToken = payload.accessToken auth.value.refreshToken = payload.refreshToken } function setAccessToken(token){ auth.value.accessToken = token } function setRefreshToken(token){ auth.value.refreshToken = token } // logout function setLogout(){ auth.value.companyId = '' auth.value.accessToken = '' auth.value.refreshToken = '' // Pinia persist가 사용하는 localStorage 키 삭제 localStorage.removeItem('authStore'); } return { auth, getCompanyId, getAccessToken, getRefreshToken, setAuth, setAccessToken, setRefreshToken, setLogout, getSeq, getUserId, getUserName, getUserEmail, getCompanyName, getUserPhone } }, {persist: { storage: persistedState.localStorage}})