1
- import axios from 'axios' ;
2
1
import store from '@/store' ;
3
2
import router from '@/router' ;
4
3
import * as types from '@/store/mutation-types' ;
@@ -8,46 +7,52 @@ const statusCode = {
8
7
EXPIRED_CREDENTIAL : 5 ,
9
8
} ;
10
9
11
- axios . interceptors . request . use ( ( config ) => {
12
- config . headers . Accept = 'application/vnd.edusoho.v2+json' ;
13
-
14
- if ( store . state . token ) {
15
- config . headers [ 'X-CSRF-Token' ] = store . state . token ;
16
- }
17
-
18
- console . log ( 'request' , config ) ;
19
- return config ;
20
- } , error => Promise . reject ( error ) ) ;
21
-
22
- axios . interceptors . response . use ( ( res ) => {
23
- console . log ( 'resSuccess' , res . data ) ;
24
-
25
- return res . data ;
26
- } , ( error ) => {
27
- console . log ( 'resError' , error ) ;
28
-
29
- if ( ! error . response ) {
30
- console . log ( error ) ;
31
- error . message = '网络问题,请联系管理员' ;
32
- return Promise . reject ( error ) ; ;
33
- }
34
-
35
- switch ( error . response . status ) {
36
- case 401 :
37
- const code = error . response . data . error . code ;
38
- // token过期的情况
39
- if ( code === statusCode . EXPIRED_CREDENTIAL ) {
40
- store . commit ( types . USER_LOGOUT ) ;
41
-
42
- router . replace ( {
43
- name : 'login' ,
44
- query : { redirect : router . currentRoute . name } ,
45
- } ) ;
10
+ export default {
11
+ request : [ {
12
+ success : ( config ) => {
13
+ config . headers . Accept = 'application/vnd.edusoho.v2+json' ;
14
+
15
+ if ( store . state . token ) {
16
+ config . headers [ 'X-CSRF-Token' ] = store . state . token ;
17
+ }
18
+
19
+ console . log ( 'request' , config ) ;
20
+ return config ;
21
+ } ,
22
+ error : error => Promise . reject ( error ) ,
23
+ } ] ,
24
+ response : [ {
25
+ success : ( res ) => {
26
+ console . log ( 'resSuccess' , res . data ) ;
27
+ return res . data ;
28
+ } ,
29
+ error : ( error ) => {
30
+ console . log ( 'resError' , error ) ;
31
+
32
+ if ( ! error . response ) {
33
+ console . log ( error ) ;
34
+ error . message = '网络问题,请联系管理员' ;
35
+ return Promise . reject ( error ) ; ;
36
+ }
37
+
38
+ switch ( error . response . status ) {
39
+ case 401 :
40
+ const code = error . response . data . error . code ;
41
+ // token过期的情况
42
+ if ( code === statusCode . EXPIRED_CREDENTIAL ) {
43
+ store . commit ( types . USER_LOGOUT ) ;
44
+
45
+ router . replace ( {
46
+ name : 'login' ,
47
+ query : { redirect : router . currentRoute . name } ,
48
+ } ) ;
49
+ }
50
+ break ;
51
+ default :
52
+ break ;
46
53
}
47
- break ;
48
- default :
49
- break ;
50
- }
51
54
52
- return Promise . reject ( error . response . data . error ) ;
53
- } ) ;
55
+ return Promise . reject ( error . response . data . error ) ;
56
+ } ,
57
+ } ] ,
58
+ }
0 commit comments