http.js
import request from './request'
const http = {
get ( url, params) {
const config = {
method : 'get' ,
url : url
}
if ( params) config. params = params
return request ( config)
} ,
post ( url, params ) {
const config = {
method : 'post' ,
url : url
}
if ( params) config. data = params
return request ( config)
} ,
delete ( url, params) {
const config = {
method : 'delete' ,
url : url
}
if ( params) config. params = params
return request ( config)
} ,
put ( url, params ) {
const config = {
method : 'put' ,
url : url
}
if ( params) config. params = params
return request ( config)
} ,
}
export default http
request.js
import axios from 'axios'
import { Message } from 'element-ui' ;
const service = axios. create ( {
baseURL : process. env. VUE_APP_BASE_API ,
timeout : 3 * 1000
} )
service. interceptors. request. use ( config => {
config. data = JSON . stringify ( config. data) ;
config. headers = {
'Content-Type' : 'application/json'
}
const token = localStorage. getItem ( 'token' ) ;
if ( token) {
config. headers. token = token;
}
return config
} , error => {
Promise. reject ( error)
} )
service. interceptors. response. use ( response => {
return response
} , error => {
if ( error && error. response) {
switch ( error. response. status) {
case 400 :
error. message = '错误请求'
break ;
case 401 :
error. message = '未授权,请重新登录'
break ;
case 403 :
error. message = '拒绝访问'
break ;
case 404 :
error. message = '请求错误,未找到该资源'
window. location. href = "/NotFound"
break ;
case 405 :
error. message = '请求方法未允许'
break ;
case 408 :
error. message = '请求超时'
break ;
case 500 :
error. message = '服务器端出错'
break ;
case 501 :
error. message = '网络未实现'
break ;
case 502 :
error. message = '网络错误'
break ;
case 503 :
error. message = '服务不可用'
break ;
case 504 :
error. message = '网络超时'
break ;
case 505 :
error. message = 'http版本不支持该请求'
break ;
default :
error. message = ` 连接错误 ${ error. response. status} `
}
} else {
if ( JSON . stringify ( error) . includes ( 'timeout' ) ) {
Message. error ( '服务器响应超时,请刷新当前页' )
}
error. message = '连接服务器失败'
}
Message. error ( error. message)
return Promise. resolve ( error. response)
} )
export default service
api / 页面请求方法
import http from '@/untils/http'
export function authCodeLogin ( params ) {
return http. get ( 'api/ian' , params)
}
页面使用
import { authCodeLogin } from '../api/legalTransportationApi'
mounted ( ) {
authCodeLogin ( ) . then ( res => {
console. log ( res) ;
} )
}
可定义baseurl
vue.config.js