微信小程序使用session(详细、亲测有效)

本文详细描述了解决微信小程序中session不唯一问题的步骤,包括获取登录请求的Set-Cookie,存储在本地缓存,以及如何在每次请求中加入Cookie。重点介绍了登录流程和如何确保会话一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、背景

        解决微信小程序session不能使用,session 不唯一问题。

        操作流程

1.调用登录请求

2.获取登录请求中的set-cookie 信息

3. 保存到本地缓存

4.每次调用加入请求头中

       例如: 微信小程序调用用户信息。

       login. wxml

  <button bindtap="getUserInfo">getUserInfo</button>

         login.js

getUserInfo(){
    // 获取用户信息
    httpUtils.request({
      showLoading: true,
      url: `/user/get/login`,
      message: "正在获取用户数据..."
    }).then(res => {
      this.setData(
        res.data.data
      )
      ui.showToast(res.data.errorMsg)
    }).catch(err => {
      console.log('ERROR')
    });
  },

   控制台显示未登录44dc2dde48b8409ba6b48ebd3e416c86.png

发现后台没有session传入

076c8419e5e94b3eb747d3dc2c9cbfdb.png

2、步骤

        2.1首次请求

                首次请求获取 header 中的Set-Cookie 作为cookie信息

0e3aa109814744dc9675fe5d59ffcc1e.png

  直接开始登录流程

    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        if (res.code) {
          //发起网络请求
          httpUtils.request({
            method: "GET", showLoading: true,url: `/wx/user/wxLogin`,message: "正在登录",
           data: {
              code: res.code
            }
          }).then(res => {
            if(res.header["Set-Cookie"]){
              wx.setStorageSync('sessionid', res.header["Set-Cookie"]);
             }
             this.globalData.userInfo = res.data.data
            ui.showToa
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaiyu0426

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值