微信小程序带cookie的request请求代码封装
写一个工具函数,直接导入使用即可,接口同 wx.request
。会自动设置和更新 cookie。
const request = function (obj) {
let key = 'cookie'
let cookie = wx.getStorageSync(key);
if (!('fail' in obj)) {
obj.fail = function (err) {
}
}
if (!('complete' in obj)) {
obj.complete = function (res) {
}
}
wx.request({
url: obj.url,
data: obj.data,
method: obj.method,
header: {
"Content-Type": "application/x-www-form-urlencoded",
"Cookie": cookie
},
success: res => {
if (res.header) {
if ('Set-Cookie' in res.header) {
wx.setStorageSync(key, res.header['Set-Cookie']);
}
else if ('set-cookie' in res.header) {
wx.setStorageSync(key, res.header['set-cookie'])
}
}
obj.success(res);
},
fail: err => {
if (res.header) {
if ('Set-Cookie' in res.header) {
wx.setStorageSync(key, res.header['Set-Cookie']);
}
else if ('set-cookie' in res.header) {
wx.setStorageSync(key, res.header['set-cookie'])
}
}
obj.fail(err);
},
complete: res => {
obj.complete(res);
}
});
}
module.exports = {
request: request
}