之前都是使用LeanCloud为存储,现在用传统API调用时做如下封装
var HOST = 'http://localhost/lendoo/public/index.php/'; // 网站请求接口,统一为post function post(req) { //发起网络请求 wx.request({ url: HOST + req.uri, data: req.param, header: { "content-type": "application/x-www-form-urlencoded" }, method: 'POST', success: function (res) { req.success(res.data) }, fail: function (res) { console.log(res); } }) } // 导出模块 module.exports = { post: post }
然后前端调用就可以这样做了:
var http = require('../../utils/http.js'); ... http.post({ uri: http.orderListUri, param: { third_session: wx.getStorageSync('third_session') }, success: function (data) { that.setData({ orderList: data }); } });
一般对自己写的接口给自己用的时候,method方法或header都是约定好的,所以不用重复书写。
1 header: { 2 "content-type": "application/x-www-form-urlencoded" 3 }, 4 method: 'POST'
而fail回调方法也可以统一处理;进一步地,也可以对success回调里的针对code值进一步判断,特定错误码统一处理,比如跳转登录页面等。