Code前端首页关于Code前端联系我们

小程序开发指南:问题或限制,http2支持

terry 2年前 (2023-09-23) 阅读数 166 #移动小程序

小程序问题或限制

截至20180810

包括但不限于:

  • 网络订阅仍使用网络订阅程序。 (原生部分)
  • 服务器接口返回的header,如:Set-Cookie,是不允许的。无法使用依赖于浏览器上下文的
  • JS 库。
  • 你不能使用npm,但你可以构建自己的构建工具或使用mpvue。 (未来官方有计划支持)
  • 如果不会使用ES7,可以使用babel+webpack或者使用mpvue。
  • 不支持使用自己的字体(官方计划将来支持)。
  • Iconfont 可以在 base64 模式下使用。
  • 小程序无法发送至朋友圈(可将图片保存在本地并发送给好友,二维码可使用B接口)。
  • 接收二维码/迷你编程接口的限制。
    • B 最多有 32 个可见字符。
    • AC接口生成的代码总数限制为10万个,请谨慎拨打。
    • 在真机上扫描二维码只能跳过在线版本,因此只能在测试环境中通过开发者工具扫描二维码进行调试。
    • 在线版未发布的小程序页面路径会导致二维码生成失败。附加页面的小程序需要先发布在线版本。
  • 小程序推送只能作为“服务通知”,需要用户激活提交formId,有效期7天。 (目前的做法是每个页面都放表单,然后隐藏,以获得更多的formId,以后使用的规则是:先用有效期最短的)
  • 小程序大小限制为2M ,且分包总量不超过8M。
  • 小程序的传输(分享)没有得到有效的结果,但似乎有效。链接(小游戏造成的恶果)
  • 获得相同unionId的必须链接到同一个空地。开放平台绑定条件:
    • 50个手机应用
    • 10个网站
    • 50个相同主题 公众号
    • 5个不同主题 公众号
    • 50个相同主题相同小程序 程序
  • 公众号已链接到小程序,链接
    • 所有公众号都可以链接到小程序。
    • A 公众号可与10个相同主题的小程序和3个不同主题的小程序组合。
    • 小程序可链接500个公众号。
    • 公众号每月可添加13次联盟小程序,小程序每月可添加500个新链接。
  • 同一主题的10个子节目和3个不同的子节目相互关联公众号可能会发生冲突
  • 品牌研究不支持金融和医疗
  • 需要用户主动点击
  • 小程序不提供测试 access_token
  • Android系统下,小程序被授权获取用户信息后,卸载小程序并重新下载,然后重新启动。允许,并获取旧签名,导致第一次授权失败
  • Developer 在设备上,授予获取用户信息的权限后,如果选择清除所有缓存,即使使用了 wx.checkSession,并且在session_key有效期内,如果获得获取用户信息的权限,将会获取新的session_key

HTTP2支持小程序

HTTP2支持:模拟器和真机均不支持

查看app的HTTP支持,我找了两台服务器进行测试。一个是网上查到的支持HTTP2的服务器,另一个是我自己。本地 HTTP2 服务器。所有测试请求方法都使用wx.request

  1. 支持 HTTP2 的在线服务器:HTTPs://www.snel.com:443
  2. 在 Chrome 中检查服务器为 HTTP2
    小程序开发攻略:问题或限制、http2支持情况
  3. 在模拟器上请求此接口,♺ HTTPRequest 的 Header 的版本是HTTP1.1,模拟器不支持HTTP2
    小程序开发攻略:问题或限制、http2支持情况
  4. 因为小程序线上环境需要在项目管理中调整域名请求,而该域名不是请求域名。我们需要,不需要浪费域名空间,所以开启不验证域名、TSL等选项来请求这个接口。类似于模拟器
    小程序开发攻略:问题或限制、http2支持情况

HTTP2服务器需要与小程序做兼容

如上所示,真机和模拟器之间不存在模拟器。支持HTTP2,但所有请求均成功,并且的响应头中的HTTP版本已更改为HTTP1.1版本,这表明服务器已按照HTTP1.1进行了适配。

  1. 启动新的本地节点服务器,并根据请求的HTTP版本返回JSON
    小程序开发攻略:问题或限制、http2支持情况
  2. 如果服务器仅支持HTTP2,则模拟器请求时会出现协议错误ALPN。并提醒我们同步 HTTP1
    小程序开发攻略:问题或限制、http2支持情况
  3. 。当服务器的allowHTTP1设置为true,并且在请求过程中处理了相应的请求参数时,模拟器可以合法访问接口,并打印相应的HTTP请求。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门