微信小程序——手动设置cookie保持session


根据网上的科普,wx.request()都会先经过微信服务端再到服务器端,所以每一次request都会创建一个新的session。并且微信小程序是没有cookie机制的,要维持会话需要自己来保存cookie,并且请求的时候加上带有sessionid的cookie。

请求示例

登录

wx.request({
    // 以下数据皆为测试例子
    method: 'POST',
    url: 'http://url/api',
    data: {
        "mobilePhone": "182xxxxx793",
        "code": 123456
    },
    // 成功后保存cookie里的sessionId
    success(res) {
        if (res && res.header && res.header['Set-Cookie']) {
            // 存到本地以便其他请求重复使用
            // 这里存的cookie-sessionId是键名,随意。后面的'Set-Cookie'是服务器返回的保存cookie请求,里面有sessionId
            wx.setStorageSync('cookie-sessionId', res.header['Set-Cookie']);   //保存Cookie到Storage
        }
    }
})

登录后的其他请求

wx.request({
    url: 'http://url/api',
    method: 'POST',
    data: {
        mobilePhone: '182xxxxxx93',
        feedbackContent: '123'
    },
    // 只需要header里带上cookie即可
    header: {
        Cookie: wx.getStorageSync('cookie-sessionId')
    }
})

参考文章


文章作者: ❤纱雾
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ❤纱雾 !
评论
  目录