|
小程序开发必选题 你能不能做对?-杭州网站建设为你呈现时间:2022-06-28 腾讯技术研发工程师 rileycai 原创 静默登录原理是什么 静默登录方式主要是通过以下 3 个步骤完成:
如何应用静默登录 Step 1: 启动时调用 authLogin.login 如果每次启动小程序都重新发起静默登录,必然阻塞部分核心业务请求。因此只要保证登录态仍然有效,当用户再次进入小程序时,就无需发起静默登录流程。 登录态有效的判断依据有两点:一是本地 storage 中是否存在 auth-token;二是调用 wx.checkSession 判断 sessionKey 是否过期。 当用户启动小程序时,主要有以下 4 种场景: Step 2: 发起请求时调用 authLogin.refreshLogin 小程序启动后,发起静默登录请求。具体流程如下: 请求拦截器需要进行如下操作:
响应拦截器则进行如下操作:
需要注意的是,每个业务请求被拦截时,都会触发 authLogin.refreshLogin 来发起静默登录,但是理想状态下,静默登录请求只需要发起一次。建议使用 Promise 单例模式或者单任务队列模式进行优化,只发起一次静默登录请求,请求成功返回时所有被挂起的请求能够正常发起。 Step 3: 等待静默登录结果调用 authLogin.waitAuth 在具体的实践中,某些业务场景需要等待静默登录请求结果,从而拿到用户信息,比如是否授权登录等等。因此有必要封装一个 authLogin.waitAuth 方法供业务方调用等待静默登录结果。 静默登录流程几乎是小程序开发都会遇到的业务场景。从启动、请求发起到等待结果,每种实现方法大同小异。后续还可以基于云函数、promise 单例模式、单任务队列模式进行优化,不断满足小程序用户体验。 |
|
|
太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...