vue ---request

import axios from 'axios'
/* eslint-disable */
import { Loading,Message  } from 'element-ui';

var debug=true



let loadingInstance
let needLoadingRequestCount = 0
let cookieId=''
// 请求拦截器
// axios.defaults.timeout =  6000
// axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'
axios.interceptors.request.use((config) => {
	if (config.showLoading) {
		if (needLoadingRequestCount === 0) {
			loadingInstance = Loading.service({
			lock: true,
			text: '数据加载中...',
			spinner: 'el-icon-loading',
			background: 'rgba(0, 0, 0, 0.3)',
		  })
		}
		needLoadingRequestCount++
	}
	return config
},error=>{
	return Promise.reject(error)
})
// 响应拦截器
axios.interceptors.response.use((response) => {
	if (response.config.showLoading) {
		if (needLoadingRequestCount <= 0) return
			needLoadingRequestCount--
		if (needLoadingRequestCount === 0) {
			loadingInstance.close()
		}
	}
	cookieId=getCookie('JSESSIONID')
	return response
},err=>{
	if(typeof err.response === 'undefined'){
		window.location.reload()
	}
	Message.error('请求错误:'+err)
	if (needLoadingRequestCount <= 0) return
		needLoadingRequestCount--
	if (needLoadingRequestCount === 0) {
		loadingInstance.close()
	}
})

export default {
	get(url,params,callback,showLoading=true){
		return axios.get(BASE_URL+url,{params,showLoading}).
		then(res=>{
			callback && callback(res.data)
		}).
		catch(err=>{
			if (debug) {
				console.log('======请求错误======'+err)
			}
			return null
		})
	},
	post(url,params,callback,config={}){
		return axios.post(BASE_URL+url,params,config).
		then(res=>{
			callback && callback(res.data)
		}).
		catch(err=>{
			if (debug) {
				console.log('======请求错误======'+err)
			}
			return null
		})
	}
}

function getCookie(name){
	var strcookie = document.cookie;
	var arrcookie = strcookie.split("; ");
	for ( var i = 0; i < arrcookie.length; i++) {
		var arr = arrcookie[i].split("=");
		if (arr[0] == name){
			return arr[1];
		}
	}
	return "";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值