import axios from 'axios' import { MessageBox, Message } from 'element-ui' // import store from '@/store' // import { getToken } from '@/utils/auth' // let root = "http://wiibox.xicp.io:19868/FRP/" // let DSroot = "http://wiibox.xicp.io:19868/FRP/" // axios.defaults.timeout = 10000 //10000的超时验证 axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8' // request interceptor axios.interceptors.request.use( config => { // do something before request is sent // if (store.getters.token) { // // let each request carry token // // ['X-Token'] is a custom headers key // // please modify it according to the actual situation // //config.headers['X-Token'] = getToken() // config.headers.Authorization = `Bearer ` + getToken() // } config.url = config.url return config }, error => { // do something with request error console.log(error) // for debug return Promise.reject(error) } ) var DS = axios.create({ // timeout: 5000, headers: { 'Content-Type': 'application/x-www-form-urlencoded'} }); // request interceptor DS.interceptors.request.use( config => { // do something before request is sent // if (store.getters.token) { // config.headers.Authorization = `Bearer ` + getToken() // } config.url = DSroot + config.url return config }, error => { // do something with request error console.log(error) // for debug return Promise.reject(error) } ) // response interceptor axios.interceptors.response.use( /** * If you want to get http information such as headers or status * Please return response => response */ response => { const res = response // if the custom code is not 20000, it is judged as an error. if (res.status !== 200) { Message({ message: res.statusText || 'Error', type: 'error', duration: 5 * 1000 }) // // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; // if (res.code === 50008 || res.code === 50012 || res.code === 50014) { // // to re-login // MessageBox.confirm( // '你已退出登录,你可以取消留在当前页面或者重新登录。', // '信息框', // { // confirmButtonText: '重新登录', // cancelButtonText: '取消', // type: 'warning' // } // ).then(() => { // // store.dispatch('user/resetToken').then(() => { // // location.reload() // // }) // }) // } // return Promise.reject(new Error(res.message || 'Error')) } else { return res.data } }, error => { console.log('err' + error) // for debug Message({ message: error.message, type: 'error', duration: 5 * 1000 }) return Promise.reject(error) } ) /** * 封装get方法 * @param url * @param data * @returns {Promise} */ export function getJSON (url, params = {}) { for (let param in params) { switch (typeof params[param]) { case 'object': params[param] = JSON.stringify(params[param]) } } return new Promise((resolve, reject) => { axios .get(url, { params: params }) .then(response => { resolve(response) }) .catch(err => { reject(err) console.warn(err) }) }) } export function getDS (url, params = {}) { for (let param in params) { switch (typeof params[param]) { case 'object': params[param] = JSON.stringify(params[param]) } } return new Promise((resolve, reject) => { DS .get(url, { params: params }) .then(response => { resolve(response) }) .catch(err => { reject(err) console.warn(err) }) }) } /** * 封装post请求 * @param url * @param data * @returns {Promise} */ export function post (url, data = {}) { return new Promise((resolve, reject) => { axios.post(url, data).then( response => { resolve(response) }, err => { reject(err) } ) }) } export function DSpost (url, data = {}) { return new Promise((resolve, reject) => { DS.post(url, data).then( response => { resolve(response) }, err => { reject(err) } ) }) } /** * 封装patch请求 * @param url * @param data * @returns {Promise} */ export function patch (url, data = {}) { return new Promise((resolve, reject) => { axios.patch(url, data).then( response => { resolve(response) }, err => { reject(err) } ) }) } /** * 封装put请求 * @param url * @param data * @returns {Promise} */ export function put (url, data = {}) { return new Promise((resolve, reject) => { axios .put(url, data, { headers: { 'Content-Type': 'multipart/form-data' } }) .then( response => { resolve(response) }, err => { reject(err) } ) }) } //export default service