| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- export const useAuthStore = defineStore('authStore', () => {
- const auth = ref({
- seq: '', // 시퀀스
- id: '', // 아이디
- name: '', // 이름
- email: '', // 이메일
- companyName: '', // 회사명
- companyNumber: '', // 회사번호 (COMPANY_NUMBER)
- phone: '', // 전화번호
- memberType: '', // 사용자 타입 (VENDOR, INFLUENCER)
- accessToken: '', // 토큰
- refreshToken: '', // 갱신토큰
- snsTempData : '', // sns 임시데이터
- })
- // 전체 조회
- 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 getCompanyNumber = computed(() => auth.value.companyNumber) // 회사번호 조회
- const getUserPhone = computed(() => auth.value.phone) // 관리자 핸드폰 조회
- const getAccessToken = computed(() => auth.value.accessToken) // 토큰 조회
- const getRefreshToken = computed(() => auth.value.refreshToken) // 리프레시토큰 조회
- const getSnsTempData = computed(() => auth.value.snsTempData) // sns 임시데이터 조회
- function setAuth(payload){
- console.log('=== setAuth 함수 디버깅 ===');
- console.log('payload.user:', payload.user);
-
- 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.companyName || payload.user.COMPANY_NAME || ''
- auth.value.companyNumber = payload.user.companyNumber || payload.user.COMPANY_NUMBER || ''
- auth.value.phone = payload.user.PHONE
-
- console.log('설정된 companyNumber:', auth.value.companyNumber);
- console.log('원본 COMPANY_NUMBER:', payload.user.COMPANY_NUMBER);
- console.log('원본 companyNumber:', payload.user.companyNumber);
-
- // 사용자 타입 설정
- if (payload.user.MEMBER_TYPE === 'B') {
- // 브랜드사
- auth.value.memberType = 'BRAND'
- } else if (payload.user.COMPANY_NUMBER || payload.user.companyNumber) {
- // 벤더사
- auth.value.memberType = 'VENDOR'
- } else {
- // 인플루언서
- auth.value.memberType = 'INFLUENCER'
- }
-
- console.log('설정된 memberType:', auth.value.memberType);
- console.log('=============================');
-
- auth.value.accessToken = payload.accessToken
- auth.value.refreshToken = payload.refreshToken
- }
- function setTempData(payload){
- auth.value.snsTempData = payload
- }
-
- function setAccessToken(token){
- auth.value.accessToken = token
- }
-
- function setRefreshToken(token){
- auth.value.refreshToken = token
- }
- // logout
- function setLogout(){
- // 모든 필드 초기화
- auth.value = {
- seq: '',
- id: '',
- name: '',
- email: '',
- companyName: '',
- companyNumber: '',
- phone: '',
- memberType: '',
- accessToken: '',
- refreshToken: '',
- snsTempData: ''
- }
- }
- return {
- auth,
- getSnsTempData,
- getAccessToken,
- getRefreshToken,
- setAuth,
- setTempData,
- setAccessToken,
- setRefreshToken,
- setLogout,
- getSeq,
- getUserSeq: getSeq, // getUserSeq 별칭 추가
- getUserId,
- getUserName,
- getUserEmail,
- getCompanyName,
- getCompanyNumber,
- getUserPhone
- }
- }, {persist: { storage: persistedState.localStorage}})
|