讓微信小程序每次請求的時候不改變session_id的方法
每次微信小程序請求的時候都會改變session id,
還好他的請求方法內可以設置header頭
所以只需要在啓動程序後第一次請求服務器獲得一個sessionid(或是唯一編號 )
然後本地存儲起來,每次請求服務器的時候就在header裏面帶上
但是有個問題就是 你本地存儲了這個session id後那麼以後每次都會是這個session id 所以建議在程序每次啓動的時候先清空本地存儲的session id 然後發送首次請求獲取新的sessionid
我把它請求的方法 重新包裝了下 順便貼出來大家看看 剛上手兩天 還不是特別熟悉
我寫的是PHP後端的 java後端的需要把PHPSESSID改下
let Server = "http://www.XXXX.com/api/";
function NetRequest({url, data, success, fail, complete, method = "POST"}) {
var session_id = wx.getStorageSync('PHPSESSID');//本地取存儲的sessionID
if (session_id != "" && session_id != null) {
var header = { 'content-type': 'application/x-www-form-urlencoded', 'Cookie': 'PHPSESSID=' + session_id }
} else {
var header = { 'content-type': 'application/x-www-form-urlencoded' }
}
console.log(session_id);
url = Server + url;
wx.request({
url: url,
method: method,
data: data,
header: header,
success: res => {
if (session_id == "" || session_id == null) {
wx.setStorageSync('PHPSESSID', res.data.session_id) //如果本地沒有就說明第一次請求 把返回的session id 存入本地
}
console.log(res);
let data = res.data
res['statusCode'] === 200 ? success(data) : fail(res)
},
fail: fail,
complete: complete
})
}
module.exports = NetRequest
大家根據自己的需求看看吧
QQ:574174631 有點蛋疼