微信小程序的一些限制与记录
小程序的限制
页面层级跳转不能超过10层。
用户本地缓存不能超过10MB。
小程序代码包不能超过3M,所以部分图片资源需上传CDN。
小程序发布需提交微信审核通过才可发版。
提交审核前,外网域名需申请(除微信域名之外)。
开发版、体验版、线上版
小程序并不像服务端那样区别线上和线下版本,而是有开发版、体验版、线上版。
如果只是开发后端逻辑功能,可在三个版本中任意一个进行测试;如果是开发前端功能则需在相应的开发版/测试版进行测试。
三者具体区别如下:
(1) 权限层:前两者需申请开发者和体验者权限才可使用,后者则面向所有用户。
(2) 性能层:开发版和体验版自身带有vConsole性能面板(回归需关闭此功能),而线上版则木有。
(3) 代码层:开发人员可同时在多个开发版上开发互不影响;体验版当前只能有一份代码处于审核中,审核通过后可发布上线,也可直接重新提交审核,覆盖原审核版本;线上版本则为所有用户使用的代码版本,该版本代码在新版本代码发布后被覆盖更新。
(4) 包大小:开发版本不限制包大小;体验者&正式版则限制包大小。
(5) 二维码:体验版保持不变,开发版30min后失效需重新生成。
微信openId和UnionID区别
同一主体下多个公众号之间需要用户帐号互通,微信开放平台提供了UnionID机制。
通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个公众号,可通过UnionID在多公众号之间进行用户帐号互通。
在不同的公众账号下OpenID是不一样的,而他们的UnionID却是一样的。
体验版openId的获取问题
openId直接在小程序端调接口,结果是在体验版的调试状态可以在非调式状态就是不可以
解决办法是将wx.login的code传递到服务端,在服务端获取用户的openid并回写给小程序