UNPKG

@icanvas/apis

Version:

这是icanvas的Api功能包

57 lines (56 loc) 1.56 kB
/** * 模拟axios请求 * @param {String} url 请求路径 * @param {Object} data 请求参数 * @param {Boolean} base 是否跳过附带默认参数 * @return {Promise} * * 打包方式为wxgame时 * 增加方法download 下载资源 * @param {String} url 资源路径 * @param {String} filePath 本地路径 * @param {Function} callback 下载进度回调 * @return {Promise} */ let Req = { baseURL: '', //全局请求路径 baseData: {}, //全局附加参数 }; if (ENV.core == 'wxgame') { ['post', 'get'].forEach(method => { Req[method] = (url, data, base = false) => { if (!base) { url = Req.baseURL + url; data = Object.assign({}, Req.baseData, data); } return new Promise(function(success, fail) { wx.request({ method, data, url, success, fail }); }).then(res => { console.log(res); if (res.statusCode == 200) { if (res.data.code == 200) return res.data.data; return res.data; } return Promise.reject('接口请求失败'); }); }; }); Req.download = (url, filePath, callback) => { return new Promise(function(success, fail) { let task = wx.downloadFile({ url, filePath, success, fail }); if (callback) task.onProgressUpdate(callback); }); }; } else { let axios = require('axios'); ['post', 'get'].forEach(method => { Req[method] = (url, data, base = false) => { if (!base) { url = Req.baseURL + url; data = Object.assign({}, Req.baseData, data); } return axios({ method, data, url }).catch(e => console.warn(e)); }; }); } export default Req;