三、封装小程序的数据请求
(1)在根目录创建utils目录,创建config.js、base.js
(2)在config.js中创建config类,并将请求路径配置给config的属性restUrl,并export
class Config { constructor () {} } Config.restUrl = ‘http://***.cn/api/v1/‘ export { Config }
(3)在base.js中引入config,把url赋值给base的属性
import { Config } from ‘config.js‘ class Base { constructor() { this.baseRequestUrl = Config.restUrl } }
在 class Base 中封装request方法,只接受一个param 参数
request(params) { var url = this.baseRequestUrl + params.url if (!params.type) { params.type = ‘GET‘ } wx.request({ url: url, data: params.data, header: { ‘content-type‘:‘application/json‘, ‘token‘: wx.getStorageSync(‘token‘) }, method: params.type, success: function (res) { params.sCallback && params.sCallback(res.data) }, fail: function (err) { }, complete: function (res) { }, }) }
(4)在页面的 index.js 中,构建好params的结构后,直接调用Base.request(params),例如
var params = { url: ‘banner/‘ + id, method: ‘GET‘, sCallback: (res) => { //数据绑定 this.setData({ ‘bannerArr‘: res[0].item })
}
}
this.request(params)