小程序中,我們一般習慣把提交接口請求的方法放在一個公共js里面。下面是一個簡單實現。
(1)我們把所有請求的地址都放在一個json里面
var postAddress = { "domin": "http://www.baidu.com", //域名 "getOpenId": "/index/getOpenId", //登錄獲取用戶信息 "orderlist": "/business/orderlist", "orderdetail": "/business/orderdetail", "initOrder": "/order/init" };
(2)封裝wx.request
function post(postName, paramData = {}, callback) { var data = {token: token}; //添加公共數據,比如token for (var key in paramData) { data[key] = paramData[key]; } var reqUrl = postAddress ['domin'] + postAddress [postName]; if (reqUrl) { wx.request({ method: "POST", header: { "Content-Type": "application/x-www-form-urlencoded;charset=utf-8" }, url: reqUrl, data: data, success: function (res) { if (callback != '') { callback(res); } }, fail: function (res) { console.log(JSON.stringify(res)); } }) } }
(3)對外提供方法
module.exports = {
post: post
}
(4)使用
在app.js中引入post.js
const util = require("./utils/post.js"); App({ onLaunch: function () { wx.login({ success: res => { if (res.code) { util.post("getOpenId", {code: res.code}, function(ret){ if(ret.data.code == 200){ //獲取openId成功 } }); } } } })
也可以將util保存到app里面,在pages頁面使用,直接引用app即可。
const app = getApp()