请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于登录

老师,这里没有用wx.login登录,也不用考虑code过期时间。假如code过期了应该怎么处理呀

正在回答 回答被采纳积分+3

1回答

沁尘 2021-09-22 10:36:00

项目中如果需要使用wx.login 的话不用考虑code过期问题,原因是一般你获取到code之后,就需要马上提交给后端去换openid,这个code一旦被后端拿去请求微信API之后,无论成功与否都会立马失效。

所以,在前端视角,这个code就应该被当成是一次性使用的东西,不要考虑过期没。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯粉饼 #1
    所以应该是wx.login只需要调用一次就可以么。那登录后返回的token不会有失效时间么
    回复 有任何疑惑可以回复我~ 2021-09-22 11:21:44
  • 沁尘 回复 提问者 慕斯粉饼 #2
    wx.login在真实项目中只有特定的场景下才会去调用,比如第一次使用某个小程序或者令牌失效之后需要“重新登录”。同学可以类比我们课程的实现效果,当你“登录”成功之后,服务端会给你颁发一个令牌,在令牌有效期之内,你是完全不需要重复去调用wx.login的。也就是说,小程序端的“登录状态”其实是取决于后端所颁发的令牌(业界标准操作),wx.login只是为了获取code 给后端,让后端去根据code 来获取一些信息而已(比如openid),它就相当于一个普通的参数。
    
    登录后返回的令牌肯定是会有失效时间的,课程里的机制和真实项目没有太大区别,基本都是这个套路。我在视频中应该提醒过,虽然不同公司的令牌机制会有差异,但总的实现思路是大同小异的,作为前端开发者只需要按照接口文档里的描述来对接处理即可,核心是在于过期了如何在比较好的时机和方式重新发起请求获取新的令牌,这部分也是可以参考课程里的处理方式的,当然前提是后端需要有比较好的接口设计,比如明确清晰的异常返回。
    回复 有任何疑惑可以回复我~ 2021-09-22 11:49:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信