封装一个成本低,效率快,简单又简洁的方法
在公共的js文件中: function commonAjax(url, types, data) { //这里的tpyes个人根据项目情况来定,也可以完全区分开 wx.showLoading({ title: '加载中...', }) // 获取公共配置 var app = getApp() // 公共参数(一般写接口的时候都会有些公共参数,你可以事先把这些参数都封装起来,就不用每次调用方法的时候再去写,) var publicParams = { // token: '',// 例如:这是我们自己的验证规则 } // 合并对象(公共参数加传入参数合并对象) mergeObj对象在下面 es5方式 // var datas = mergeObj(d, data) var datas = Object.assign(publicParams,data) //es6的方式 // 这是es6的promise版本库大概在1.1.0开始支持的,大家可以去历史细节点去看一下,一些es6的机制已经可以使用了 var promise = new Promise(function (resolve, reject, defaults) { // 封装reuqest wx.hideLoading() wx.request({ url: app.globalData.url + url, data: datas, method: (types === 1) ? 'GET' : 'POST', header: (types === 1) ? { 'content-type': 'application/json' } : { 'content-type': 'application/x-www-form-urlencoded' }, success: resolve, fail: reject, complete: defaults, }) }); return promise; }
module.exports = {
commonAjax: commonAjax,
}
如何使用:
先导入 var commonRequest = require("../../x'x/x'x'x.js")
commonRequest.commonAjax("xxx/xxx", 2, {token: getApp().globalData.userData.token}).then(res=>{ console.log(res) ......other code }, res => { wx.showToast({ title: '网络错误!', icon: "loading" }) }) }
非常简单实用