123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import axios from 'axios'
- import {Message} from 'element-ui'
- import {
- getToken,
- setToken,
- openError
- } from './auth.js'
- import qs from 'qs'
- const service = axios.create({
- baseURL: process.env.VUE_APP_BASE_API,
- // baseURL:'https://ding.insys.g107.com/',
- timeout: 20000,
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded',
- },
- transformRequest: [function(data) {
- return qs.stringify(data)
- }]
- })
- let url='';
- let data='';
- service.interceptors.request.use(
- config => {
- url=config.url;
- data=qs.parse(config.data)
- if (getToken()) {
- config.headers['A-Token'] = getToken()
- }
- return config
- },
- error => {
- Promise.reject(error)
- }
- )
- service.interceptors.response.use(
- response => {
- if (response.data.code === 1) {
- if(response.data.data.token){
- setToken(response.data.data.token);
- }else if (response.data.refresh_token) {
- if (response.data.refresh_token !== getToken()) {
- setToken(response.data.refresh_token);
- }
- }
- return response;
- } else if (response.data.code === 401) {
- Message({
- message: response.data.msg,
- type: 'error',
- })
- return Promise.reject(response.data.msg)
- }else if(response.data.code === 2001){ //免登时用,2001为过期
- if(url=='/api/ding/login'){
- return response;
- }else{
- Message({
- message: response.data.msg,
- type: 'error',
- })
- return Promise.reject(response.data.msg)
- }
- }else{
- Message({
- message: response.data.msg,
- type: 'error',
- })
- return Promise.reject(response.data.msg)
- }
- },
- error => {
- if(error.message=='interrupt'){
- // Message({
- // message: '请勿频繁切换页面',
- // type: 'warning',
- // })
- return Promise.reject(error.message)
- }else if(error.message=='Network Error'){
- // Message({
- // message: '网络异常,请检查网络是否畅通,再重新进入应用',
- // type: 'error',
- // })
- console.log('网络异常,请检查网络是否畅通,再重新进入应用')
- return Promise.reject(error.message)
- }else if(error.message=='timeout of 2000ms exceeded'){
- if(url=='/api/integral/review/a/entry'||url=='/api/integral/point/entry'){
- let sum=0;
- if(data){
- sum=data.items.length*data.members.length
- }
- openError({sum:sum,message:'钉钉PC'})
- }
- Message({
- message: '请求超时,请稍后再试',
- type: 'error',
- })
- return Promise.reject(error.message)
- }else{
- Message({
- message: error.message,
- type: 'error',
- })
- return Promise.reject(error.message)
- }
- }
- )
- export default service
|