微信小程序-保持登录(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");  
    }
  })
}

你可能感兴趣的:(微信小程序,微信小程序,微信,小程序)