欢迎光临,了解微信小程序开发,就上易用通!

微信小程序登录流程图

发布:2018-02-02 10:12浏览: 来源:网络 作者:cola

一. 官方登录时序图

微信小程序登录流程图(图1)

官方的登录时序图

二. 简单理解

这里仅按照官方推荐的规范来

  1. 前置条件

一共有三端:

  • 微信小程序客户端
  • 第三方服务器端
  • 微信服务器端

    1. 客户端获得code,并将code传给第三方服务端

微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端

  1. 第三方服务端用code换session_key和openid

小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和openid

  1. 第三方服务端生成新的session(3rd_session)

第三方服务器端拿到请求回来的session_key和openid,先留着,不能给客户端;然后用操作系统提供的真正随机数算法生成一个新的session,叫3rd_session

  1. 第三方服务端建立对应关系,并存储

将3rd_session作为key,微信服务端返回的session_key和openid作为值,保存起来

  1. 第三方服务端将3rd_session发送到客户端

客户端只拿到3rd_session就够了,大人说话小孩别插嘴,小程序不需要知道session_key和openid

  1. 正常请求

小程序每次请求都将3rd_session放在请求头里,第三方服务端解析判断合法性,并进行正常的逻辑处理。

用心写代码,不辜负程序员之名。

 

微信小程序特性:

1:小程序使用框架提供的wx.request接口发送https请求不会携带cookie信息,传统webserver的会话管理能力(session)在微信小程序无法直接使用,在这点上微信小程序更像CS架构的开发模式,开发者需要自己实现会话管理功能。如微信本地保存userID,下次进入,判断本地是否有userID,有则直接调接口请求数据,无则重新获取微信code,后台授权,重新登录。登录后再保存userID。
2:小程序源码打包后的大小限制为1M,单次通过网络传输的数据最大也是1M。
3:小程序由于没有包含WebView控件,开发者无法在小程序内部打开一个网页。
4:推送,当用户在小程序内部提交过表单或者完成过支付后,可允许开发者向用户在7天内推送1条预设模板的信息。
5: 建议:开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。 
所以工程师拿到750的设计稿,在PS中量取的容器大小,可以直接定义为rpx,不需要进行2倍尺寸的换算。






免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。