const api = {
xxx: 'xxx.action'
};
import apiUrl from './apiUrl.js'
let yapi = 'http://yapi.cnzhonglunnet.com/mock/869/';
var baseUrl = '';
var ENV = require('../../publishEnvConfig').PUBLISH_ENV
switch (ENV) {
case 'pre':
baseUrl = `${location.protocol}//xxx.com/`;
break;
case 'sit':
baseUrl = `${location.protocol}//xxx.com/`;
break;
case 'sim':
baseUrl = `${location.protocol}//xxx.com/`;
break;
case 'prod':
baseUrl = `${location.protocol}//xxx.com/`;
break;
default:
baseUrl = '';
}
const request = (url = '', date = {}, header = {}, isYapi = true) => {
return new Promise((resolve, reject) => {
uni.request({
method: isYapi ? 'GET' : 'POST',
url: isYapi ? yapi + apiUrl.api[url] : baseUrl + apiUrl.api[url],
data: date,
header: header,
dataType: 'json',
}).then((response) => {
setTimeout(function() {
uni.hideLoading();
}, 200);
let [error, res] = response;
resolve(res);
}).catch(error => {
let [err, res] = error;
reject(err)
})
});
}
export default request
import request from 'request.js'
Vue.prototype.$request = request
调用:
this.$request('url路径名', {
xxx:xxx,
xxx:xxx
}).then(res => {
}, () => {
}, () => {
})
function allAxios(_this, url, data, resp, down, fail, isYapi) {
let new_url = baseUrl + apiUrl.api[url]
new_url = isYapi ? yapi + apiUrl.api[url] : new_url
data = _this.$qs.stringify(data);
axios({
url: new_url,
data: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
method: isYapi ? 'GET' : 'POST',
}).then(res => {
if (res.data.success == 0) {
_this.$toast({
message: res.data.errorMsg,
duration: 1000
})
down && down.call(this, res)
} else if (res.data.success == 1) {
resp(res)
}
})
}
调用:
this.$allAxios(this, 'url路径名', {
xxx:xxx,
xxx:xxx
},(res) => {
},down => {}, fail => {})