123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import axios from 'axios';
- import Vue from 'vue'
- import router from '@/router/index'
- axios.defaults.timeout = 10000; //设置超时时长
- axios.defaults.baseURL ='';
- //http request 拦截器
- axios.interceptors.request.use(
- config => {
- // const token = getCookie('名称');
- config.data = JSON.stringify(config.data);
- if (localStorage.getItem('token')) {
- config.headers = {
- 'Content-Type': 'application/json',
- 'Authorization': "Bearer " + localStorage.getItem('token'),
- 'lang': localStorage.getItem('local')
- }
- } else {
- config.headers = {
- 'Content-Type': 'application/json',
- 'Authorization': ""
- }
- }
- return config;
- },
- error => {
- return Promise.reject(err);
- }
- );
- //http response 拦截器
- axios.interceptors.response.use(
- response => {
- if (response.data.errCode == 2) {
- router.push({
- path: "/login",
- querry: { redirect: router.currentRoute.fullPath }//从哪个页面跳转
- })
- }
- return response;
- },
- error => {
- if (401 === error.response.status) {
- localStorage.clear();
- console.log(window.location);
- window.location.href = window.location.origin;
- alert("登录状态已过期!请重新登录!");
- } else if (500 === error.response.status) {
- //alert("服务器错误!");
- } else {
- return Promise.reject(error);
- }
- }
- )
- /**
- * 封装get方法
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function fetch(url, params) {
- let data = {};
- data.method = url;
- data.params = params;
- data.lang = localStorage.getItem('local');
- return new Promise((resolve,reject) => {
- axios.get(url, data)
- .then(response => {
- resolve(response.data);
- // this.$Message.success('数据访问成功!');
- })
- .catch(err => {
- reject(err);
- this.$Message.error('数据访问错误!');
- })
- })
- }
- /**
- * 封装post请求
- * @param url
- * @param data
- * @returns {Promise}
- */
- export function post(url, params) {
- let data = {};
- data.method = url;
- data.params = params;
- data.lang = localStorage.getItem('local');
- return new Promise((resolve,reject) => {
- axios.post(url,data)
- .then(response => {
- resolve(response.data);
- // this.$Message.success('数据访问成功!');
- },err => {
- reject(err);
- //this.$Message.error('数据访问错误!');
- })
- })
- }
|