340 lines
6.6 KiB
JavaScript
340 lines
6.6 KiB
JavaScript
// import axios from 'axios'
|
|
|
|
// var request = axios.create({
|
|
// baseURL: 'http://10.0.0.240:7800/api/v1',
|
|
// timeout: 5000
|
|
// })
|
|
// //拦截请求
|
|
// request.interceptors.request.use((config)=>{
|
|
// console.log(22222,config)
|
|
// return config
|
|
// })
|
|
// // 拦截响应
|
|
// request.interceptors.response.use((response)=>{
|
|
// return response
|
|
// },function (error){
|
|
// //对响应的错误做点什么
|
|
// return Promise.reject(error);
|
|
// }
|
|
// )
|
|
|
|
// export default request
|
|
/**
|
|
* 网络请求配置
|
|
*/
|
|
import axios from 'axios'
|
|
import { message } from 'antd'
|
|
import memoryUtils from './memoryUtils'
|
|
import storageUtils from './storageUtils'
|
|
|
|
// const baseURL = 'http://10.0.0.94:7800/api/v1'
|
|
// const baseURL = 'http://10.0.0.240:7800/api/v1'
|
|
// const baseURL = 'http://myip.legu.cc:7800/api/v1'
|
|
const baseURL = 'http://10.0.0.4:7800/api/v1'
|
|
|
|
axios.defaults.timeout = 600000
|
|
axios.defaults.baseURL = baseURL
|
|
|
|
/**
|
|
* http request 拦截器
|
|
*/
|
|
axios.interceptors.request.use(
|
|
(config) => {
|
|
let userInfo = memoryUtils.userInfo
|
|
const token = userInfo.token_type +" "+ userInfo.token || ""
|
|
|
|
if (config.url.indexOf('/login') == -1) {
|
|
config.data = JSON.stringify(config.data)
|
|
config.headers = {
|
|
'Content-Type': 'application/json',
|
|
'Authorization': token
|
|
}
|
|
} else {
|
|
let data = new FormData()
|
|
data.append('username', config.data.username)
|
|
data.append('password', config.data.password)
|
|
config.data = data
|
|
config.headers = {
|
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
}
|
|
}
|
|
|
|
return config
|
|
},
|
|
(error) => {
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
/**
|
|
* http response 拦截器
|
|
*/
|
|
axios.interceptors.response.use(
|
|
(response) => {
|
|
if (response.data.errCode === 2) {
|
|
console.log('过期')
|
|
}
|
|
return response
|
|
},
|
|
(error) => {
|
|
console.log('请求出错:', error)
|
|
}
|
|
)
|
|
|
|
/**
|
|
* 封装get方法
|
|
* @param url 请求url
|
|
* @param params 请求参数
|
|
* @returns {Promise}
|
|
*/
|
|
export function get(url, params = {}) {
|
|
return new Promise((resolve, reject) => {
|
|
axios
|
|
.get(url, {
|
|
params: params,
|
|
})
|
|
.then((response) => {
|
|
landing(url, params, response.data)
|
|
resolve(response.data)
|
|
})
|
|
.catch((error) => {
|
|
msag(error)
|
|
// reject(error);
|
|
})
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 封装post请求
|
|
* @param url
|
|
* @param data
|
|
* @returns {Promise}
|
|
*/
|
|
|
|
export function post(url, data) {
|
|
return new Promise((resolve, reject) => {
|
|
axios.post(url, data).then(
|
|
(response) => {
|
|
//关闭进度条
|
|
if (response) {
|
|
if (response.data.code === 200) {
|
|
resolve(response.data)
|
|
} else {
|
|
message.error(response.data.msg)
|
|
//登录信息过期
|
|
if(response.data.code === -5){
|
|
storageUtils.removerUser()
|
|
}
|
|
}
|
|
}
|
|
},
|
|
(err) => {
|
|
msag(err)
|
|
// reject(err);
|
|
}
|
|
)
|
|
})
|
|
}
|
|
|
|
export function hwy(url, data) {
|
|
return new Promise((resolve, reject) => {
|
|
// console.log(baseURL+url)
|
|
resolve(baseURL + url)
|
|
})
|
|
}
|
|
|
|
// 封装文件下载post请求
|
|
export function ExportPost(url, data) {
|
|
return new Promise((resolve, reject) => {
|
|
axios({
|
|
method: 'post',
|
|
url: url, //后端接口地址
|
|
responseType: 'blob', //bolb格式的请求方式
|
|
headers: {
|
|
//Authentication: getToken('Admin-Token') //请求头
|
|
'Content-Type': 'application/json',
|
|
},
|
|
data: data, //需要传给后端的请求参数体
|
|
})
|
|
.then((res) => {
|
|
console.log('文件导出', res)
|
|
const BLOB = res.data
|
|
const fileReader = new FileReader()
|
|
fileReader.readAsDataURL(BLOB) //对请求返回的文件进行处理
|
|
fileReader.onload = (e) => {
|
|
let a = document.createElement('a')
|
|
a.download = data.name + '.xlsx'
|
|
a.href = e.target.result
|
|
document.body.appendChild(a)
|
|
a.click()
|
|
document.body.removeChild(a)
|
|
}
|
|
resolve(res.data)
|
|
})
|
|
.catch((err) => {
|
|
console.log(err.message)
|
|
})
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 封装patch请求
|
|
* @param url
|
|
* @param data
|
|
* @returns {Promise}
|
|
*/
|
|
export function patch(url, data = {}) {
|
|
return new Promise((resolve, reject) => {
|
|
axios.patch(url, data).then(
|
|
(response) => {
|
|
resolve(response.data)
|
|
},
|
|
(err) => {
|
|
msag(err)
|
|
reject(err)
|
|
}
|
|
)
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 封装put请求
|
|
* @param url
|
|
* @param data
|
|
* @returns {Promise}
|
|
*/
|
|
|
|
export function put(url, data = {}) {
|
|
return new Promise((resolve, reject) => {
|
|
axios.put(url, data).then(
|
|
(response) => {
|
|
resolve(response.data)
|
|
},
|
|
(err) => {
|
|
msag(err)
|
|
reject(err)
|
|
}
|
|
)
|
|
})
|
|
}
|
|
|
|
//统一接口处理,返回数据
|
|
export default function (fecth, url, param) {
|
|
let _data = ''
|
|
return new Promise((resolve, reject) => {
|
|
switch (fecth) {
|
|
case 'get':
|
|
// console.log('begin a get request,and url:', url)
|
|
get(url, param)
|
|
.then(function (response) {
|
|
resolve(response)
|
|
})
|
|
.catch(function (error) {
|
|
console.log('get request GET failed.', error)
|
|
reject(error)
|
|
})
|
|
break
|
|
case 'post':
|
|
post(url, param)
|
|
.then(function (response) {
|
|
resolve(response)
|
|
})
|
|
.catch(function (error) {
|
|
console.log('get request POST failed.', error)
|
|
reject(error)
|
|
})
|
|
break
|
|
case 'ExportPost':
|
|
ExportPost(url, param)
|
|
.then(function (response) {
|
|
resolve(response)
|
|
})
|
|
.catch(function (error) {
|
|
console.log('get request POST failed.', error)
|
|
reject(error)
|
|
})
|
|
break
|
|
case 'hwy':
|
|
hwy(url, param).then(function (response) {
|
|
// resolve(url)
|
|
resolve(baseURL + url)
|
|
})
|
|
break
|
|
case 'patch':
|
|
patch(url, param)
|
|
.then(function (response) {
|
|
resolve(response)
|
|
})
|
|
.catch(function (error) {
|
|
console.log('get request POST failed.', error)
|
|
reject(error)
|
|
})
|
|
break
|
|
default:
|
|
break
|
|
}
|
|
})
|
|
}
|
|
|
|
//失败提示
|
|
function msag(err) {
|
|
if (err && err.response) {
|
|
switch (err.response.status) {
|
|
case 400:
|
|
alert(err.response.data.error.details)
|
|
break
|
|
case 401:
|
|
alert('未授权,请登录')
|
|
break
|
|
|
|
case 403:
|
|
alert('拒绝访问')
|
|
break
|
|
|
|
case 404:
|
|
alert('请求地址出错')
|
|
break
|
|
|
|
case 408:
|
|
alert('请求超时')
|
|
break
|
|
|
|
case 500:
|
|
alert('服务器内部错误')
|
|
break
|
|
|
|
case 501:
|
|
alert('服务未实现')
|
|
break
|
|
|
|
case 502:
|
|
alert('网关错误')
|
|
break
|
|
|
|
case 503:
|
|
alert('服务不可用')
|
|
break
|
|
|
|
case 504:
|
|
alert('网关超时')
|
|
break
|
|
|
|
case 505:
|
|
alert('HTTP版本不受支持')
|
|
break
|
|
default:
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 查看返回的数据
|
|
* @param url
|
|
* @param params
|
|
* @param data
|
|
*/
|
|
function landing(url, params, data) {
|
|
if (data.code === -1) {
|
|
}
|
|
}
|