版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/deng1456694385/article/details/88316840
小程序的wx.request
没有对传过来的请求进行处理,对于各种状态进行处理,所以需要在代码里封装,这里是直接写app.jsl里的,get和post的封装.
首先写通用header
header
header: {
'app_code': "DAFENGBAODAI",
'client': 'miniProgram',
'imei': 'idfv',
'applicationId': 'miniprogram',
'wxToken': '',
'Content-Type': 'application/json',
}
post
post(options) {
let header = this.header
return new Promise((resolve, reject) => {
const requestTask = wx.request({
method: 'POST',
header: header,
url: this.baseUrl + options.url, //baseUrl就是自己服务器的地址
data: options.data,
success(res) {
if (res.data.ErrorCode !== 0) {
reject(res.data);
}
resolve(res.data);
},
fail(e) {
reject(e)
}
})
})
}
GET
get(options) {
let header = this.header
return new Promise((resolve, reject) => {
const requestTask = wx.request({
method: 'GET',
header: header,
url: this.baseUrl + options.url,
data: options.data,
success(res) {
if (res.data.ErrorCode !== 0) {
reject(res.data);
}
resolve(res.data);
},
fail(e) {
reject(e)
}
})
})
}
上传
upload(options) {
let header = {}
Object.assign(header, this.header)
header['Content-Type'] = 'application/x-www-form-urlencoded'
return new Promise((resolve, reject) => {
const requestTask = wx.uploadFile({
method: 'POST',
name: "file",
header: header,
url: this.baseUrl + options.url,
filePath: options.filePath,
success(res) {
if (options.url ==...) {
let obj = JSON.parse(res.data)
if (obj.ErrorCode !== 0) {
reject(obj.data);
}
resolve(obj.data);
} else {
let obj = JSON.parse(res.data)
if (obj.ErrorCode != 0) {
reject(obj.data);
}
resolve(obj.data);
}
},
fail(e) {
reject(e)
}
})
})
}