分析微信小程序的登录和支付
2017-09-22 11:52
495 查看
关于登录
在小程序初始化的时候调用两个方法,一个是检查登录态,另一个则是缓存用户信息。
onLaunch
checkSession()
getUserInfo()
检查登录态checkSession()
请求api,wx.checkSession成功则登录态还没过期,失败则重新请求登录。
成功–>调用getLoginSession()方法,用于获取localStorage中的3rd_session,需要登录授权的接口使用。
- getLoginSession()方法:调用wx.getStorage将数据存储在本地缓存中指定的 key 中。成功则执行回调,失败则再次登录拿到3rd_session,执行回调。
关于登录
请求wx.login成功则请求自己后台的接口,请求的参数是code,成功则返回t_session:openid+session_Key->存储3rd_session->wx.setStorage.
缓存用户信息
判断有没有用户信息有就直接提交用户信息,没有则请求登录后再调用获取用户信息的方法。
提交用户信息->判断有没有用户信息,再调用getLoginSession()方法将数据存在本地缓存,然后调用自己后台的获取用户信息接口将用户信息存储在后台数据库。
对于登录态的逻辑上我可能解释得不清楚,具体可以查看的链接
小程序登录态维护实现流程
通过wx.login获取登录态。 通过登录返回的code发送给服务器,服务器用code换取session_key和openid后。
获取session_key后一般使用缓存框架保存登录态,服务端随机生成一串唯一字符串3rdSessionId为key,session_key为value组成键值对并存到缓存当中,缓存时间视情况自行决定。
将3rdSessionId返回给客户端
客户端将3rdSessionId缓存到localStorage中,后续接口从缓存中读取3rdSessionId,传递给服务器;服务器根据3rdSessionId来判断用户身份。
如果服务器根据3rdSessionId在缓存中查找是否存在session_key,如果存在正常执行;如果不存在小程序未登录,重新从第一步流程走。
关于支付
提交订单请求后台->获取支付信息->唤起支付功能wx.requestPayment
在小程序初始化的时候调用两个方法,一个是检查登录态,另一个则是缓存用户信息。
onLaunch
checkSession()
getUserInfo()
检查登录态checkSession()
请求api,wx.checkSession成功则登录态还没过期,失败则重新请求登录。
成功–>调用getLoginSession()方法,用于获取localStorage中的3rd_session,需要登录授权的接口使用。
- getLoginSession()方法:调用wx.getStorage将数据存储在本地缓存中指定的 key 中。成功则执行回调,失败则再次登录拿到3rd_session,执行回调。
关于登录
请求wx.login成功则请求自己后台的接口,请求的参数是code,成功则返回t_session:openid+session_Key->存储3rd_session->wx.setStorage.
缓存用户信息
判断有没有用户信息有就直接提交用户信息,没有则请求登录后再调用获取用户信息的方法。
提交用户信息->判断有没有用户信息,再调用getLoginSession()方法将数据存在本地缓存,然后调用自己后台的获取用户信息接口将用户信息存储在后台数据库。
对于登录态的逻辑上我可能解释得不清楚,具体可以查看的链接
小程序登录态维护实现流程
通过wx.login获取登录态。 通过登录返回的code发送给服务器,服务器用code换取session_key和openid后。
获取session_key后一般使用缓存框架保存登录态,服务端随机生成一串唯一字符串3rdSessionId为key,session_key为value组成键值对并存到缓存当中,缓存时间视情况自行决定。
将3rdSessionId返回给客户端
客户端将3rdSessionId缓存到localStorage中,后续接口从缓存中读取3rdSessionId,传递给服务器;服务器根据3rdSessionId来判断用户身份。
如果服务器根据3rdSessionId在缓存中查找是否存在session_key,如果存在正常执行;如果不存在小程序未登录,重新从第一步流程走。
关于支付
提交订单请求后台->获取支付信息->唤起支付功能wx.requestPayment
相关文章推荐
- 微信小程序使用场景延伸:扫码登录、扫码支付
- 微信小程序登录态控制深入分析
- 微信小程序商城版 java接口登录支付增删改查检索分页,支持的顶一下
- 微信小程序使用场景延伸:扫码登录、扫码支付
- 微信小程序架构分析 (上)
- 微信不走回调(分享、第三方登录、支付)
- 微信小程序在线支付功能使用总结
- 从零开始开发微信小程序(三):微信小程序绑定系统账号并授权登录之微信端
- 微信小程序支付官方文档
- Android微信登录、分享、支付
- PHP实现微信小程序人脸识别刷脸登录功能
- 微信小程序登录数据解密以及状态维持
- 微信小程序与微信公众号同一用户登录问题
- 微信小程序登录逻辑
- 微信小程序支付源码 Demo 后台服务端代码
- 微信小程序架构分析 (下)
- 微信小程序获取手机号授权用户登录功能
- 小程序模板源码下载,微信小程序企业模板,支付,外卖,商城模板源码下载
- 微信小程序 登录流程规范
- 微信小程序尝鲜一个月现状分析