1 changed files with 86 additions and 57 deletions
			
			
		@ -1,74 +1,103 @@ | 
				
			|||
import axios from 'axios' | 
				
			|||
import Cookies from 'js-cookie' | 
				
			|||
import router from '@/router' | 
				
			|||
import qs from 'qs' | 
				
			|||
import { clearLoginInfo } from '@/utils' | 
				
			|||
import isPlainObject from 'lodash/isPlainObject' | 
				
			|||
import axios from "axios"; | 
				
			|||
import Cookies from "js-cookie"; | 
				
			|||
import router from "@/router"; | 
				
			|||
import qs from "qs"; | 
				
			|||
import { clearLoginInfo } from "@/utils"; | 
				
			|||
import isPlainObject from "lodash/isPlainObject"; | 
				
			|||
 | 
				
			|||
const http = axios.create({ | 
				
			|||
  baseURL: window.SITE_CONFIG['apiURL'], | 
				
			|||
  baseURL: window.SITE_CONFIG["apiURL"], | 
				
			|||
  timeout: 1000 * 900, | 
				
			|||
  withCredentials: true | 
				
			|||
}) | 
				
			|||
  withCredentials: true, | 
				
			|||
}); | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 请求拦截 | 
				
			|||
 */ | 
				
			|||
http.interceptors.request.use(config => { | 
				
			|||
  config.headers['Accept-Language'] = localStorage.getItem('language') || 'zh-CN' | 
				
			|||
  config.headers['token'] = localStorage.getItem('token') || '' | 
				
			|||
  config.headers['Authorization'] = localStorage.getItem('token') || '' | 
				
			|||
  // 默认参数
 | 
				
			|||
  var defaults = {} | 
				
			|||
  // 防止缓存,GET请求默认带_t参数
 | 
				
			|||
  if (config.method == 'get') { | 
				
			|||
    config.params = { | 
				
			|||
      ...config.params, | 
				
			|||
      ...{ '_t': new Date().getTime() } | 
				
			|||
http.interceptors.request.use( | 
				
			|||
  (config) => { | 
				
			|||
    config.headers["Accept-Language"] = | 
				
			|||
      localStorage.getItem("language") || "zh-CN"; | 
				
			|||
    config.headers["token"] = localStorage.getItem("token") || ""; | 
				
			|||
    config.headers["Authorization"] = localStorage.getItem("token") || ""; | 
				
			|||
    // 默认参数
 | 
				
			|||
    var defaults = {}; | 
				
			|||
    // 防止缓存,GET请求默认带_t参数
 | 
				
			|||
    if (config.method == "get") { | 
				
			|||
      config.params = { | 
				
			|||
        ...config.params, | 
				
			|||
        ...{ _t: new Date().getTime() }, | 
				
			|||
      }; | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
  if (isPlainObject(config.params)) { | 
				
			|||
    config.params = { | 
				
			|||
      ...defaults, | 
				
			|||
      ...config.params | 
				
			|||
    } | 
				
			|||
  } | 
				
			|||
  if (isPlainObject(config.data)) { | 
				
			|||
    config.data = { | 
				
			|||
      ...defaults, | 
				
			|||
      ...config.data | 
				
			|||
    if (isPlainObject(config.params)) { | 
				
			|||
      config.params = { | 
				
			|||
        ...defaults, | 
				
			|||
        ...config.params, | 
				
			|||
      }; | 
				
			|||
    } | 
				
			|||
    if (/^application\/x-www-form-urlencoded/.test(config.headers['content-type'])) { | 
				
			|||
      config.data = qs.stringify(config.data) | 
				
			|||
    if (isPlainObject(config.data)) { | 
				
			|||
      config.data = { | 
				
			|||
        ...defaults, | 
				
			|||
        ...config.data, | 
				
			|||
      }; | 
				
			|||
      if ( | 
				
			|||
        /^application\/x-www-form-urlencoded/.test( | 
				
			|||
          config.headers["content-type"] | 
				
			|||
        ) | 
				
			|||
      ) { | 
				
			|||
        config.data = qs.stringify(config.data); | 
				
			|||
      } | 
				
			|||
    } | 
				
			|||
    return config; | 
				
			|||
  }, | 
				
			|||
  (error) => { | 
				
			|||
    return Promise.reject(error); | 
				
			|||
  } | 
				
			|||
  return config | 
				
			|||
}, error => { | 
				
			|||
  return Promise.reject(error) | 
				
			|||
}) | 
				
			|||
); | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 响应拦截 | 
				
			|||
 */ | 
				
			|||
http.interceptors.response.use(response => { | 
				
			|||
  const code = [10007, 401, 10001, 10005] | 
				
			|||
  if (code.includes(response.data.code)) { | 
				
			|||
    clearLoginInfo() | 
				
			|||
    // localStorage.setItem('userType', 'work')
 | 
				
			|||
    // let userType = localStorage.getItem("userType");
 | 
				
			|||
    // if (userType === 'work'){
 | 
				
			|||
    //   router.replace({ name: 'loginWork' })
 | 
				
			|||
    // }else {
 | 
				
			|||
    //   router.replace({ name: 'login' })
 | 
				
			|||
    // }
 | 
				
			|||
    router.replace({ name: 'login' }) | 
				
			|||
     | 
				
			|||
    return Promise.reject(response.data.msg) | 
				
			|||
http.interceptors.response.use( | 
				
			|||
  (response) => { | 
				
			|||
    const code = [10007, 401, 10001, 10005]; | 
				
			|||
    if (code.includes(response.data.code)) { | 
				
			|||
      clearLoginInfo(); | 
				
			|||
      // localStorage.setItem('userType', 'work')
 | 
				
			|||
      // let userType = localStorage.getItem("userType");
 | 
				
			|||
      // if (userType === 'work'){
 | 
				
			|||
      //   router.replace({ name: 'loginWork' })
 | 
				
			|||
      // }else {
 | 
				
			|||
      //   router.replace({ name: 'login' })
 | 
				
			|||
      // }
 | 
				
			|||
      router.replace({ name: "login" }); | 
				
			|||
 | 
				
			|||
      return Promise.reject(response.data.msg); | 
				
			|||
    } | 
				
			|||
    return response; | 
				
			|||
  }, | 
				
			|||
  (error) => { | 
				
			|||
    console.error(error); | 
				
			|||
    return Promise.reject(error); | 
				
			|||
  } | 
				
			|||
  return response | 
				
			|||
}, error => { | 
				
			|||
  console.error(error) | 
				
			|||
  return Promise.reject(error) | 
				
			|||
}) | 
				
			|||
); | 
				
			|||
 | 
				
			|||
// http.put = function (url, data, config) {
 | 
				
			|||
//   http.post(url, data, {
 | 
				
			|||
//     ...config,
 | 
				
			|||
//     headers: {
 | 
				
			|||
//       "X-HTTP-Method-Override": "PUT",
 | 
				
			|||
//     },
 | 
				
			|||
//   });
 | 
				
			|||
// };
 | 
				
			|||
 | 
				
			|||
// http.delete = function (url, config) {
 | 
				
			|||
//   http.post(url, config.data || {}, {
 | 
				
			|||
//     ...config,
 | 
				
			|||
//     headers: {
 | 
				
			|||
//       "X-HTTP-Method-Override": "DELETE",
 | 
				
			|||
//     },
 | 
				
			|||
//   });
 | 
				
			|||
// };
 | 
				
			|||
 | 
				
			|||
export default http | 
				
			|||
export default http; | 
				
			|||
 | 
				
			|||
					Loading…
					
					
				
		Reference in new issue