济南小程序开发的与众不同
发布于:2019-05-24 

1、小程序必须设置合法域名,否则无法发出请求。

2、小程序登录态的管理

通常我们在做网页开发的时候会用cookie来管理登录态,但是小程序没有cookie。

简单说就是:

(1)前端同学调用微信小程序api:login()拿到code传给后端

(2)后端拿着appid、appsecret和code调微信接口服务返回session_key+openId等,后端自定义登录态返给前端

(3)前端将自定义登录态存储到storage里,每次发请求时候带着

3.小程序更新机制

(1)同步检查更新(放弃):可能是最直接的解决思路,但主要问题是会影响小程序的启动速度,当下小程序的更新迭代是非常频繁的,部分用户可能每次启动都命中更新,如果需要同步检查更新+同步下载新的版本,那将会影响这部分用户的启动体验。

(2)模块热替换(放弃):从技术上来说,这是最好的方案,小程序运行起来后,在打开新页面时,马上应用新版本里的页面,但这就会存在新旧逻辑、页面共存问题,对于开发者来说,反而更不好处理,特别是涉及到全局变量时,情况会更复杂,对于我们已有的框架来说,也是一个大挑战,不过这个也是我们之后努力的方向。

(3)定时 check 新版本(目前方案):6.6.3 及以上版本的客户端,会定时 check 最近使用过的小程序是否有发布新版本;如果有,下次打开的时候会同步更新新版本再打开。这可以保证在新版本发布 24 小时后,所有小程序都能使用最新版本。(这部分是微信客户端自身优化,开发者无需关心)

(4)异步更新 + 强制更新(目前方案):同步检查更新与模块热替换两者之间的折衷方案,即还是维持异步更新机制,在异步下载完小程序代码包后,提供重启小程序的能力,这样在遇到紧急问题时可以马上解决。

(5)异步更新 + 强制更新方案介绍

从基础库 1.9.90 开始,我们提供了 wx.getUpdateManager 接口,使用该接口,可以获知是否有新版本小程序、新版本是否下载好以及应用新版本的能力。

当小程序冷启动时,会自动向微信后台请求新版本信息,如果有新版本,会马上触发新版本的下载。开发者可以通过 wx.getUpdateManager,获知当前更新的状态。

(6)最佳实践

从用户体验上来说,我们还是建议只在非常必要时才强制用户重启更新,例如出现线上紧急 BUG。通常情况下,可以选通过弹出选择框让用户选择是否重启更新。




济南APP开发 | 济南软件开发 | 济南小程序开发 | 济南微信开发 | 济南网络公司
济南APP开发|济南软件开发|济南小程序开发|济南微信开发|济南网络公司

Copyright 2009-2019 版权所有 All rights reserved.

服务热线:0531-88061686 E-MAIL :guoxunkeji@163.com 鲁ICP备09033629号-17 鲁公网安备 37010202000234号