| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- export const useAuthStore = defineStore('authStore', () => {
- const auth = ref({
- seq: '', // 시퀀스
- id: '', // 아이디
- name: '', // 이름
- email: '', // 이메일
- companyName: '', // 회사명
- 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 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){
- 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.phone = payload.user.PHONE
-
- // 사용자 타입 설정 (COMPANY_NUMBER가 있으면 벤더사, 없으면 인플루언서)
- auth.value.memberType = (payload.user.COMPANY_NUMBER) ? 'VENDOR' : 'INFLUENCER'
-
- 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: '',
- phone: '',
- memberType: '',
- accessToken: '',
- refreshToken: '',
- snsTempData: ''
- }
- }
- return {
- auth,
- getSnsTempData,
- getAccessToken,
- getRefreshToken,
- setAuth,
- setTempData,
- setAccessToken,
- setRefreshToken,
- setLogout,
- getSeq,
- getUserId,
- getUserName,
- getUserEmail,
- getCompanyName,
- getUserPhone
- }
- }, {persist: { storage: persistedState.localStorage}})
|