Files
supplier-dispatch-h5/src/utils/http.js

55 lines
1.9 KiB
JavaScript

import axios from "axios";
import qs from 'qs'
import { Toast } from 'vant'
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
headers: {
Accept: 'application/json'
},
timeout: 10000
})
const urlParams = new URLSearchParams(window.location.search);
let token = urlParams.get('token');
localStorage.setItem('token', token);
service.interceptors.request.use(
config => {
let reqUrl=config.url
config.data = config.contentType ? config.data : qs.stringify(config.data)
if (config.testFlag) {
config.data = qs.stringify(config.data, {arrayFormat: 'indices', allowDots: true})
}
config.headers['Content-Type'] = config.contentType || 'application/x-www-form-urlencoded'
let token = localStorage.getItem('token');
// let token='4099761587129c46b03c9316c9e866c9'
// let token='eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJTSEhQWEIiLCJ1c2VySWQiOjU0NzI2LCJuYW1lIjoiI-a1i-ivleWwj-eZveeZvSIsInVzZXJOYW1lIjoiU0hIUFhCIiwic3VwcGxpZXJJZCI6MTAwMDE2NSwiZXhwIjoxNzQ0NTEwNzkwfQ.JPk0OA7slYJN3FIi_uhW4Y0CiWRvl6R1dK8MRTbyhD8'
if(!(reqUrl=='/supplier/supplierTraining/trainingTask' || reqUrl=='/supplier/supplierTraining/normalList' || reqUrl=='/supplier/supplierTraining/trainingList')){
config.headers['Authorization'] = `${token}`;
config.headers['token'] = `${token}`;
}
return config
},
error => {
return Promise.reject(error)
}
)
service.interceptors.response.use(
response => {
const res = response.data
if ( res.code === 401 || res.code === 400 || res.code == 500) {
Toast(res.msg || 'Error')
return Promise.reject(res.msg)
} else {
return res
}
},
error => {
if(error.message != 'Network Error'){
Toast(error.message)
}
return Promise.reject(error)
}
)
export default service