1- import axios , { AxiosRequestConfig , AxiosResponse } from "axios" ;
1+ import axios , { AxiosRequestConfig , AxiosResponse , AxiosInstance } from "axios" ;
22import { getToken , removeToken } from "@/utils/token" ;
33import { Modal } from "ant-design-vue" ;
44import { Message , Notification } from "@/utils/resetMessage" ;
55import router from "@/router" ;
66
7- /**
8- * post请求封装
9- * @param params
10- */
11- export function Post ( params : StoreState . FetchParams ) {
12- return axios ( {
13- ...params ,
14- method : "post" ,
15- url : params . url ,
16- data : params . data
17- } )
18- . then ( res => {
19- return Promise . resolve ( res . data ) ;
20- } )
21- . catch ( err => {
22- return Promise . reject ( err . data ) ;
23- } ) ;
24- }
25-
26- /**
27- * delete请求封装
28- * @param params
29- */
30- export function Delete ( params : StoreState . FetchParams ) {
31- return axios ( {
32- ...params ,
33- method : "delete" ,
34- url : params . url ,
35- data : params . data
36- } )
37- . then ( res => {
38- return Promise . resolve ( res . data ) ;
39- } )
40- . catch ( err => {
41- return Promise . reject ( err . data ) ;
42- } ) ;
43- }
44-
45- /**
46- * get请求封装
47- * @param params
48- */
49- export function Get ( params : StoreState . FetchParams ) {
50- return axios ( {
51- ...params ,
52- method : "get" ,
53- url : params . url ,
54- params : params . data
55- } )
56- . then ( res => {
57- return Promise . resolve ( res . data ) ;
58- } )
59- . catch ( err => {
60- return Promise . reject ( err . data ) ;
61- } ) ;
62- }
63-
64- /**
65- * patch请求封装
66- * @param params
67- */
68- export function Patch ( params : StoreState . FetchParams ) {
69- return axios ( {
70- ...params ,
71- method : "patch" ,
72- url : params . url ,
73- data : params . data
74- } )
75- . then ( res => {
76- return Promise . resolve ( res . data ) ;
77- } )
78- . catch ( err => {
79- return Promise . reject ( err . data ) ;
80- } ) ;
81- }
7+ // create an axios instance
8+ const service : AxiosInstance = axios . create ( {
9+ baseURL : "/api" , // 正式环境
10+ timeout : 60 * 1000 ,
11+ headers : { }
12+ } )
8213
8314/**
8415 * 请求拦截
8516 */
86- axios . interceptors . request . use (
87- ( config : AxiosRequestConfig ) => {
88- config . headers . common [ "Authorization" ] = getToken ( ) ; // 请求头带上token
89- config . headers . common [ "token" ] = getToken ( ) ;
90- config . baseURL = "/api" ;
91- return config ;
92- } ,
17+ service . interceptors . request . use ( ( config : AxiosRequestConfig ) => {
18+ config . headers . common [ "Authorization" ] = getToken ( ) ; // 请求头带上token
19+ config . headers . common [ "token" ] = getToken ( ) ;
20+ return config ;
21+ } ,
9322 error => {
9423 return Promise . reject ( error ) ;
9524 }
@@ -98,72 +27,73 @@ axios.interceptors.request.use(
9827/**
9928 * 响应拦截
10029 */
101- axios . interceptors . response . use (
102- ( response : AxiosResponse ) => {
103- if ( response . status == 201 || response . status == 200 ) {
104- let { code, status, msg, data } = response . data ;
105- if ( code == 401 ) {
106- Modal . warning ( {
107- title : "token出错" ,
108- content : "token失效,请重新登录!" ,
109- onOk : ( ) => {
110- removeToken ( ) ;
111- router . push ( "/login" ) ;
112- }
113- } ) ;
114- } else if ( code == 200 ) {
115- if ( status ) {
116- //接口请求成功
117- msg && Message . success ( msg ) ; //后台如果返回了msg,则将msg提示出来
118- return Promise . resolve ( response ) ; //返回成功数据
119- } else {
120- //接口异常
121- msg && Message . warning ( msg ) ; //后台如果返回了msg,则将msg提示出来
122- return Promise . reject ( response ) ; //返回异常数据
30+ service . interceptors . response . use ( ( response : AxiosResponse ) => {
31+ if ( response . status == 201 || response . status == 200 ) {
32+ let { code, status, msg } = response . data ;
33+ if ( code == 401 ) {
34+ Modal . warning ( {
35+ title : "token出错" ,
36+ content : "token失效,请重新登录!" ,
37+ onOk : ( ) => {
38+ removeToken ( ) ;
39+ router . push ( "/login" ) ;
12340 }
41+ } ) ;
42+ } else if ( code == 200 ) {
43+ if ( status ) {
44+ //接口请求成功
45+ msg && Message . success ( msg ) ; //后台如果返回了msg,则将msg提示出来
46+ return Promise . resolve ( response . data ) ; //返回成功数据
12447 } else {
12548 //接口异常
126- msg && Message . error ( msg ) ;
127- return Promise . reject ( response ) ;
49+ msg && Message . warning ( msg ) ; //后台如果返回了msg,则将msg提示出来
50+ return Promise . reject ( response . data ) ; //返回异常数据
12851 }
52+ } else {
53+ //接口异常
54+ msg && Message . error ( msg ) ;
55+ return Promise . reject ( response . data ) ;
12956 }
130- return response ;
131- } ,
57+ }
58+ return response ;
59+ } ,
13260 error => {
13361 if ( error . response . status ) {
13462 switch ( error . response . status ) {
13563 case 500 :
13664 Notification . error ( {
137- message : "Forbidden " ,
138- description : error . response . data
65+ message : "温馨提示 " ,
66+ description : "服务异常,请重启服务器!"
13967 } ) ;
14068 break ;
14169 case 401 :
14270 Notification . error ( {
143- message : "Forbidden " ,
144- description : "暂无权限 "
71+ message : "温馨提示 " ,
72+ description : "服务异常,请重启服务器! "
14573 } ) ;
14674 break ;
14775 case 403 :
14876 Notification . error ( {
149- message : "Forbidden " ,
150- description : "登录过期,请重新登录 "
77+ message : "温馨提示 " ,
78+ description : "服务异常,请重启服务器! "
15179 } ) ;
15280 break ;
15381 // 404请求不存在
15482 case 404 :
15583 Notification . error ( {
156- message : "Forbidden " ,
157- description : "网络请求不存在 "
84+ message : "温馨提示 " ,
85+ description : "服务异常,请重启服务器! "
15886 } ) ;
15987 break ;
16088 default :
16189 Notification . error ( {
162- message : "Forbidden " ,
163- description : error . response . data . msg
90+ message : "温馨提示 " ,
91+ description : "服务异常,请重启服务器!"
16492 } ) ;
16593 }
16694 }
16795 return Promise . reject ( error . response ) ;
16896 }
16997) ;
98+
99+ export default service
0 commit comments