bitcooo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

220 lines
5.9 KiB

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
// })
// }
// const ticket = uni.getStorageSync('ticket')
// let dataStr = [];
// if (config.method == 'get') {
// if (config.url.split('?').length > 1) {
// dataStr = config.url.split('?')[1].split('&');
// }
// }
// if (config.method == 'post') {
// dataStr = qs.stringify(config.data).split('&');
// // dataStr = JSON.stringify(config.data);
// // dataStr = config.data;
// // dataStr = config.data.name;
// }
// config.data = {};
// dataStr.forEach(function(e) {
// console.log(e,666666)
// 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 < b ? -1 : 1;
// })
// // console.log("keys===========");
// keys.forEach(function(e) {
// if (config.data[e] || config.data[e] == '') {
// sign += e + '=' + config.data[e] + '&'
// }
// });
// // console.log("签名参数===========");
// // console.log(config.url);
// // console.log(sign + key);
// sign = md5(sign + key);
// // console.log("提交参数===========");
// // console.log(qs.stringify(config.data));
// if (config.method == 'post') {
// // console.log(config.data,666666)
// config.data['sign'] = sign
// config.data = qs.stringify(config.data)
// // config.data = config.data.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
// // if(config.url == ){
// // #ifdef H5
// if(config.url=='/api/index/goodsList'){
// config.data = config.data.replaceAll('20', "");
// config.data = config.data.replaceAll('26', "");
// config.data = config.data.replaceAll('2F', "/");
// config.data = config.data.replaceAll('28', "");
// config.data = config.data.replaceAll('29', "");
// // config.data = config.data.replaceAll('%C2%AE', "&reg;");
// }
// // #endif
// // #ifdef APP-PLUS
// if(config.url=='/api/index/goodsList'){
// config.data = config.data.replace(new RegExp('20',"gm"), "");
// config.data = config.data.replace(new RegExp('26',"gm"), "");
// config.data = config.data.replace(new RegExp('2F',"gm"), "/");
// config.data = config.data.replace(new RegExp('28',"gm"), "");
// config.data = config.data.replace(new RegExp('29',"gm"), "");
// // config.data = config.data.replaceAll('%C2%AE', "&reg;");
// }
// // #endif
// // config.data = config.data.replaceAll('2528',"(");
// // config.data = config.data.replaceAll('2529',")");
// // config.data = config.data.replaceAll('252',"%2F");
// // }
// }
// if (config.method == 'get') {
// if (ticket != '') {
// config.url = config.url + '&ticket=' + ticket + '&sign=' + sign
// } else {
// config.url = config.url + '?sign=' + sign
// }
// }
// // console.log(config)
// return config;
// },
// error => {
// // console.log(error); // for debug
// return Promise.reject(error);
// }
// );
// //配置成功后的拦截器
// service.interceptors.response.use(res => {
// console.log('过期了吗')
// uni.hideLoading()
// // console.log(res)
// // console.log(res.data)
// // console.log(res.data.data[0].nameAlias)
// if (res.data.success || res.data.errCode === 'USER.0017') {
// // console.log(res.data.success)
// return res.data
// } else {
// uni.showToast({
// title: res.data.errMsg,
// icon: 'none',
// duration: 1500
// })
// if (res.data.errCode === 'USER.0010') {
// uni.removeStorage({
// key: 'logInfo',
// success: function (res) {
// uni.reLaunch({url: '/pages/login/index'})
// },
// fail: (err) => {
// }
// });
// // #ifdef H5
// var url = location.href;
// if(url.indexOf('pages')>-1){
// uni.setStorage({
// key: 'url',
// data: url,
// success: function() {
// console.log('success')
// }
// });
// }else{
// uni.removeStorageSync('url')
// }
// // #endif
// }
// uni.$emit('refreshQrCode')
// return Promise.reject(res.data.errMsg);
// }
// }, error => {
// 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),
url: config.baseURL + '/' + config.url,
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