auth.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. export const useAuthStore = defineStore('authStore', () => {
  2. const auth = ref({
  3. seq: '', // 시퀀스
  4. id: '', // 아이디
  5. name: '', // 이름
  6. email: '', // 이메일
  7. companyName: '', // 회사명
  8. phone: '', // 전화번호
  9. companyId: '', // 아이디
  10. accessToken: '', // 토큰
  11. refreshToken: '', // 갱신토큰
  12. snsTempData : '', // sns 임시데이터
  13. })
  14. // 전체 조회
  15. const getCompanyId = computed(() => auth.value.companyId) // 아이디 조회
  16. const getSeq = computed(() => auth.value.seq) // 시퀀스 조회
  17. const getUserId = computed(() => auth.value.id) // 아이디 조회
  18. const getUserName = computed(() => auth.value.name) // 이름 조회
  19. const getUserEmail = computed(() => auth.value.email) // 이메일 조회
  20. const getCompanyName = computed(() => auth.value.companyName) // 회사명 조회
  21. const getUserPhone = computed(() => auth.value.phone) // 관리자 핸드폰 조회
  22. const getAccessToken = computed(() => auth.value.accessToken) // 토큰 조회
  23. const getRefreshToken = computed(() => auth.value.refreshToken) // 리프레시토큰 조회
  24. const getSnsTempData = computed(() => auth.value.snsTempData) // sns 임시데이터 조회
  25. // 점검공지
  26. function setAuth(payload){
  27. auth.value.companyId = payload.user.COMP_ID
  28. auth.value.seq = payload.user.SEQ
  29. auth.value.id = payload.user.ID
  30. auth.value.name = payload.user.NAME
  31. auth.value.email = payload.user.EMAIL
  32. auth.value.companyName = payload.user.COMP_NAME
  33. auth.value.phone = payload.user.PHONE
  34. auth.value.accessToken = payload.accessToken
  35. auth.value.refreshToken = payload.refreshToken
  36. }
  37. function setTempData(payload){
  38. auth.value.snsTempData = payload
  39. }
  40. function setAccessToken(token){
  41. auth.value.accessToken = token
  42. }
  43. function setRefreshToken(token){
  44. auth.value.refreshToken = token
  45. }
  46. // logout
  47. function setLogout(){
  48. auth.value.companyId = ''
  49. auth.value.accessToken = ''
  50. auth.value.refreshToken = ''
  51. // Pinia persist가 사용하는 localStorage 키 삭제
  52. localStorage.removeItem('authStore');
  53. }
  54. return { auth, getCompanyId, getSnsTempData, getAccessToken, getRefreshToken, setAuth, setTempData, setAccessToken, setRefreshToken, setLogout, getSeq, getUserId, getUserName, getUserEmail, getCompanyName, getUserPhone }
  55. }, {persist: { storage: persistedState.localStorage}})