以下通过一个小程序官方登录流程图,来解释小程序的开发过程。
一. 官方登录时序图
官方的登录时序图
这里仅按照官方推荐的规范来
前置条件
一共有三端:
微信小程序客户端
第三方服务器端
微信服务器端
客户端获得code,并将code传给第三方服务端
微信小程序端调用wx.login,获取登录凭证(code),并调用接口,将code发送到第三方客户端
第三方服务端用code换session_key和openid
小程序端将code传给第三方服务器端,第三方服务器端调用接口,用code换取session_key和openid
第三方服务端生成新的session(3rd_session)
第三方服务器端拿到请求回来的session_key和openid,先留着,不能给客户端;然后用操作系统提供的真正随机数算法生成一个新的session,叫3rd_session
第三方服务端建立对应关系,并存储
将3rd_session作为key,微信服务端返回的session_key和openid作为值,保存起来
第三方服务端将3rd_session发送到客户端
客户端只拿到3rd_session就够了,大人说话小孩别插嘴,小程序不需要知道session_key和openid
正常请求
小程序每次请求都将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倍尺寸的换算。
KESION 科汛软件
KESION 科汛软件是国内领先的在线教育软件及私域社交电商软件服务提供商,长期专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。
公司核心产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化独立部署品牌网校和在线教育咨询等。KESION 不断通过技术创新,提供产品和服务,助力企业向数字化转型,通过科技驱动商业革新,让商业变得更智慧!
微信小程序页面js接受页面传值与传统的不一样,微信小程序js接受页面传值的方法有两种。...
2018年是小程序的爆发期,也是小程序的规范期,数百上千的小程序突然出现在大众眼前,微信也对此上线了许多违规“纲要”,就包括了诱导分享。...