作者:潇潇沐林风_921 | 来源:互联网 | 2023-05-18 15:13
让微信小程序每次请求的时候不改变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 有点蛋疼