import Vue from 'vue' import axios from 'axios' import qs from 'qs' import md5 from 'js-md5'; import constant from './constant.js'; // #ifdef H5 let baseURL = constant.H5 let key = constant.H5_KEY // #endif // #ifdef APP-PLUS let baseURL = constant.APP let key = constant.APP_KEY // #endif const service = axios.create({ withCredentials: true, crossDomain: true, baseURL, timeout: 160000 }) // request拦截器,在请求之前做一些处理 // service.interceptors.request.use( // config => { // console.log('showDialog' + Vue.prototype.$showDialog) // if (Vue.prototype.$showDialog) { // uni.showLoading({ // title: 'loading', // mask: true // }) // } // if (store.state.token) { // // 给请求头添加user-token // config.headers["user-token"] = store.state.token; // } // const ticket = uni.getStorageSync('logInfo').data; // let dataStr=[]; // if (config.method=='get') { // console.log(11111111111111) // if(config.url.split('?').length>1){ // dataStr=config.url.split('?')[1].split('&'); // } // } // if(config.method=='post'){ // dataStr=qs.stringify(config.data).split('&'); // } // console.log(dataStr); // config.data={}; // dataStr.forEach(function(e){ // config.data[e.split('=')[0]]=e.split('=')[1]; // }); // console.log(ticket) // if (ticket != '') { // config.data['ticket'] = ticket // } // var keys = []; // let sign=''; //     for (var k in config.data) //       keys.push(k); // keys.sort(function(a,b){ // return a { return Promise.reject(error) }) axios.defaults.adapter = function(config) { //自己定义个适配器,用来适配uniapp的语法 return new Promise((resolve, reject) => { console.log(config) var settle = require('axios/lib/core/settle'); var buildURL = require('axios/lib/helpers/buildURL'); uni.request({ method: config.method.toUpperCase(), url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer), header: config.headers, data: config.data, dataType: config.dataType, responseType: config.responseType, sslVerify: config.sslVerify, complete: function complete(response) { console.log("执行完成:",config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),response.data) response = { data: response.data, status: response.statusCode, errMsg: response.errMsg, header: response.header, config: config }; settle(resolve, reject, response); }, fail:res =>{ uni.showToast({ title: res, icon:'none', duration: 1500 }) } }) }) } export default service