三、封装小程序的数据请求
(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)