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('ticket') 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