1
1
import React from 'react' ;
2
2
import { Route , Link , Router , useNavigate } from 'react-router-dom' ;
3
3
import axios from 'axios' ;
4
- import authAxiosInstance from './AuthInstance ' ;
4
+ import { authAxiosInstance } from '@/apis/axiosConfig ' ;
5
5
6
6
const navigate = useNavigate ( ) ;
7
7
8
- //interceptors
9
- authAxiosInstance . interceptors . request . use (
10
- ( config ) => {
11
- console . log ( 'Request Interceptors Success : ' , config ) ;
12
- return config ;
13
- } ,
14
-
15
- ( error ) => {
16
- console . log ( 'Requset Interceptors Success : ' , error ) ;
17
- return Promise . reject ( error ) ;
18
- }
19
- ) ;
20
-
21
- authAxiosInstance . interceptors . response . use ( ( response ) => {
22
- console . log ( 'Response Interceptors Success : ' , response ) ;
23
- async ( error ) => {
24
- //Access Token 만료 시 Refresh Token으로 재발급
25
- const originalRequest = error . config ;
26
- console . log ( error ) ;
27
-
28
- if ( error . response ?. status === 401 && ! originalRequest . _retry ) {
29
- originalRequest . _retry = true ;
30
- const refreshToken = localStorage . getItem ( 'refreshToken' ) ;
31
-
32
- if ( refreshToken ) {
33
- try {
34
- await authAxiosInstance . post ( '' , { refreshToken } ) ;
35
- return authAxiosInstance ( originalRequest ) ;
36
- } catch ( refreshError ) {
37
- console . log ( 'Refresh Token invalid: ' , refreshError ) ;
38
- navigate ( '/login' ) ;
39
- }
40
- }
41
- }
42
-
43
- console . log ( 'Response Interceptors Error : ' , error ) ;
44
- return Promise . reject ( error ) ;
45
- } ;
46
- } ) ;
47
-
48
8
/*
49
9
APIs
50
10
51
11
*/
52
12
53
13
export const login = async ( email , password ) => {
54
14
try {
55
- const response = authAxiosInstance . post ( '/login' , { email, password } ) ;
15
+ const response = await authAxiosInstance . post ( '/auth/login' , {
16
+ email,
17
+ password,
18
+ } ) ;
56
19
console . log ( 'Login successful:' , response . data ) ;
57
20
} catch ( error ) {
58
21
console . log ( 'Error In AuthAPI Login: ' , error ) ;
@@ -63,8 +26,8 @@ export const login = async (email, password) => {
63
26
// 로그아웃
64
27
export const logout = async ( ) => {
65
28
try {
66
- const response = authAxiosInstance . post ( '/logout' ) ;
67
- Router . push ( '/login' ) ;
29
+ const response = await authAxiosInstance . post ( '/auth /logout' ) ;
30
+ navigate ( '/login' ) ; // Router path
68
31
return response ;
69
32
} catch ( error ) {
70
33
console . log ( 'Error In AuthAPI Logout: ' , error ) ;
@@ -75,25 +38,66 @@ export const logout = async () => {
75
38
// 회원가입
76
39
export const register = async ( email , password ) => {
77
40
try {
78
- const res = authAxiosInstance . post ( '/register' , { email, password } ) ;
41
+ const res = await authAxiosInstance . post ( '/auth/register' , {
42
+ email,
43
+ password,
44
+ } ) ;
79
45
return res ;
80
46
} catch ( err ) {
81
47
console . log ( 'Error In AuthAPI Register: ' , err ) ;
82
48
console . error ( err ) ;
83
49
}
84
50
} ;
85
51
86
- // 프로필(유저정보)
87
- export const profile = async ( email , password ) => {
52
+ //회원가입 이메일 인증 요청
53
+ export const registerEmailSend = async ( email ) => {
54
+ try {
55
+ const res = await authAxiosInstance . post ( '/auth/send' , { email } ) ;
56
+ return res ;
57
+ } catch ( err ) {
58
+ console . log ( 'Error In AuthAPI RegisterEmailSend: ' , err ) ;
59
+ console . error ( err ) ;
60
+ }
61
+ } ;
62
+
63
+ //회원가입 이메일 인증 확인
64
+ export const registerEmailVertify = async ( email , code ) => {
88
65
try {
89
- const res = authAxiosInstance . get ( '/profile' ) ;
66
+ const res = await authAxiosInstance . post ( '/auth/vertify' , { email, code } ) ;
67
+ return res ;
68
+ } catch ( err ) {
69
+ console . log ( 'Error In AuthAPI RegisterEmailCheck: ' , err ) ;
70
+ console . error ( err ) ;
71
+ }
72
+ } ;
73
+
74
+ // 프로필(유저정보) 조회
75
+ export const profile = async ( email ) => {
76
+ try {
77
+ const res = await authAxiosInstance . get ( `/member/mypage/${ email } ` ) ;
90
78
return res ;
91
79
} catch ( err ) {
92
80
console . log ( 'Error In AuthAPI Profile: ' , err ) ;
93
81
console . error ( err ) ;
94
82
}
95
83
} ;
96
84
85
+ // 프로필(유저정보) 수정
86
+ export const profileUpdate = async ( email , data ) => {
87
+ try {
88
+ const res = await authAxiosInstance . patch ( `/member/mypage` , data , {
89
+ headers : {
90
+ 'Content-Type' : 'application/json' ,
91
+ } ,
92
+ } ) ;
93
+ console . log ( res ) ;
94
+ return res ;
95
+ } catch ( err ) {
96
+ console . log ( 'Error In AuthAPI ProfileUpdate: ' , err ) ;
97
+ console . error ( err ) ;
98
+ }
99
+ } ;
100
+
97
101
// 회원탈퇴
98
102
export const unRegister = async ( ) => {
99
103
try {
0 commit comments