微信小程序-保持登录(wx.checkSession)

正如浏览器使用cookie功能一样,在微信小程序中,也需要保持用户的登录状态。由于小程序本身没有cookie,则使用自身的storage来储存用户的session ID信息。

使用的逻辑和cookie一样:当用户每次向服务器发送请求时,都带上这个session参数,由于小程序和服务器都存有相同的session,用户就保持了登录状态,直到服务器发现session过期,并要求用户重新登录。

我们可以类比这样一种场景。一个客户第一次走进一座写字楼,前台帮助他办理了门禁卡,并设置了门禁卡的有效期限。当客户之后再次进入写字楼时,他不需要再找前台而是可以直接刷卡进入写字楼,直到门禁卡过期,他需要再次找前台办理。

其中前台办理门禁卡这个过程就相当于是用户登录并获取session ID,而有效期内再次进入写字楼就相当于携带session ID向服务器发送请求。从这个角度来看,session ID相当于身份认证。

由于wx.login返回的code和服务器返回的session是一一对应的,因此需要在调用login前先检查session是否过期,如果过期则调用login,未过期则使用存在的session。微信官方提供了确定session是否过期的接口wx.checkSession。

onLoad: function () {
  wx.checkSession({
    success: function(res){
      console.log("使用储存的session");
    },
    fail: function(res){
      console.log("重新登录获取session");  
    }
  })
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值