auth.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. function setAuth(payload){
  26. auth.value.companyId = payload.user.COMPANY_NUMBER || ''
  27. auth.value.seq = payload.user.SEQ
  28. auth.value.id = payload.user.ID
  29. auth.value.name = payload.user.NAME
  30. auth.value.email = payload.user.EMAIL
  31. auth.value.companyName = payload.user.companyName || payload.user.COMPANY_NAME || ''
  32. auth.value.phone = payload.user.PHONE
  33. auth.value.accessToken = payload.accessToken
  34. auth.value.refreshToken = payload.refreshToken
  35. }
  36. function setTempData(payload){
  37. auth.value.snsTempData = payload
  38. }
  39. function setAccessToken(token){
  40. auth.value.accessToken = token
  41. }
  42. function setRefreshToken(token){
  43. auth.value.refreshToken = token
  44. }
  45. // logout
  46. function setLogout(){
  47. // 모든 필드 초기화
  48. auth.value = {
  49. seq: '',
  50. id: '',
  51. name: '',
  52. email: '',
  53. companyName: '',
  54. phone: '',
  55. companyId: '',
  56. accessToken: '',
  57. refreshToken: '',
  58. snsTempData: ''
  59. }
  60. }
  61. return {
  62. auth,
  63. getCompanyId,
  64. getSnsTempData,
  65. getAccessToken,
  66. getRefreshToken,
  67. setAuth,
  68. setTempData,
  69. setAccessToken,
  70. setRefreshToken,
  71. setLogout,
  72. getSeq,
  73. getUserId,
  74. getUserName,
  75. getUserEmail,
  76. getCompanyName,
  77. getUserPhone
  78. }
  79. }, {persist: { storage: persistedState.localStorage}})