123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import axios from 'axios'
- import {
- Message
- } from 'element-ui'
- import {
- getToken,
- removeToken
- } from '@/utils/auth'
- import constant from "@/api/constant";
- // 是否显示重新登录
- axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
- if (getToken()) {
- axios.defaults.headers['X-UC-AuthToken'] = getToken()
- }
- axios.defaults.headers['Accept-Language'] = 'en-US';
- axios.defaults.headers["X-SYSTEM-ID"] = constant.systemId ? constant.systemId : ""
- axios.defaults.headers["X-SYSTEM-GROUP-ID"] = constant.systemGroupId ? constant.systemGroupId : ""
- // create an axios instance
- const service = axios.create({
- // axios中请求配置有baseURL选项,表示请求URL公共部分
- baseURL: process.env.VUE_APP_BASE_API,
- // 超时
- // timeout: 100000
- })
- // request interceptor
- service.interceptors.request.use(
- config => {
- // do something before request is sent
- if (getToken()) {
- // let each request carry token
- // ['X-UC-AuthToken'] is a custom headers key
- // please modify it according to the actual situation
- config.headers['X-UC-AuthToken'] = getToken()
- }
- return config
- },
- error => {
- // do something with request error
- console.log(error) // for debug
- return Promise.reject(error)
- }
- )
- service.interceptors.response.use(response => {
- const result = response.data;
- if (result.resultStatus === 200) {
- if (result.success === true) {
- return result.data;
- } else {
- if (result.messageType === 'MESSAGE_WARN') {
- Message({
- message: result.message,
- type: 'warning',
- duration: 5 * 1000
- })
- } else if (result.messageType === 'MESSAGE_ERROR') {
- Message({
- message: result.message,
- type: 'error',
- duration: 5 * 1000
- })
- }
- return Promise.reject(`Request failed:${response.config.url}`)
- }
- } else if (result.resultStatus === 403) {
- Message({
- message: "无权限访问",
- type: 'error',
- duration: 5 * 1000
- })
- return Promise.reject("无权限访问")
- } else if (result.resultStatus === 401) {
- removeToken(); // 清除浏览器全部临时缓存
- window.location.href = '/'; // 去登录页
- return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
- } else {
- Message({
- message: "服务器异常:" + result.message,
- type: 'error',
- duration: 5 * 1000
- })
- return Promise.reject(result.message)
- }
- }, (error => {
- console.log('err' + error) // for debug
- Message({
- message: error.message,
- type: 'error',
- duration: 5 * 1000
- })
- return Promise.reject(error)
- }))
- service.interceptors.request.use(
- function (config) {
- // Do something before request is sent
- return config;
- },
- function (error) {
- // Do something with request error
- return Promise.reject(error);
- }
- );
- export default service
|