微信小程序开发注意事项

2,465 阅读7分钟

前言

由于本人一直接触微信小程序开发,自己和网友们总结一些开发中的注意事项,希望能给大家带来帮助,当然这些点在官方文档上都可以找到的,如有问题随时留言,欢迎补充。

以下注意事项所涉及的点,是通过实践和官方文档总结而出(截止到2019-05-12),如有信息不对称,请以官方文档为准!请知晓

想要更具体了了关于框架、组件、API的详细内容,请参考对应的参考文档:小程序开发指南

1、小程序名称可以由中文、数字、英文。长度在 3-20 个字符之间,一个中文字等于 2 个字符。

2、小程序名称不得与公众平台已有的订阅号、服务号重复。如提示重名,请更换名称进行设置。

3、小程序名称在帐号信息设置时完成,请谨慎设置,小程序发布后,非个人类帐号可通过认证方式改名 。

4、更换名称进行设置。如果企业商标,组织名称等名称被侵权,可通过公众平台侵权投诉流程发起投诉,取回名称使用权。

5、不能在认证时变更认证主体,如果企业变更了企业名称,可在认证申请时提供相应的工商变更证明,由审核公司审核确认是否准予修改主体名称。

6、一个主体可以注册 50 个小程序,个体户和个人类型主体可注册 5 个小程序。

7、除政府、部分组织(基金会、外国政府机构驻华办事处)可免费申请外,其他类型申请微信认证均需支付 300 元/次的审核服务费用。

用户每申请一次认证服务需要支付一次审核服务费。 无论认证成功或失败,都需要支付审核服务费。 微信支付需要微信认证后才能使用。个人类型帐号暂不支持微信认证。

8、服务器配置每月只有 5 次修改机会,谨慎使用。分别可以配置最多 20 个域名。

9、域名、备案、https 要准备好,不然做不了。(服务器域名需进过 ICP 备案、新备案域名需 24 小时候才能配置。域名格式只支持雅文大小写字母、数字及“-”,不支持 IP 地址及端口号)。

10、小程序头像、介绍每月只能修改 5 次,服务类目每月只能修改 3 次。

11、选用模板消息时,你可用该标题的模板搭配不同的关键词使用,配置提交后关键词种类和顺序将不能修改。

12、找不到模板关键词的时候,可以进行申请添加。每月可以提交 5 次新关键词,通过后会被共享。(可以推送自己企业关键词)

13、绑定开发者

  • 登录微信公众平台小程序,进入用户身份-开发者,新增绑定开发者。

  • 个人主体小程序最多可绑定 5 个开发者,10 个体验者。

  • 未认证的组织类型小程序最多可绑定 10 个开发者,20 个体验者

  • 已认证的小程序最多可绑定 20 个开发者,40 个体验者。

14、重点注意:

  • 开发版本:使用开发者工具,可将代码上传到开发版本中。 开发版本只保留每人最新的一份上传的代码。点击提交审核,可将代码提交审核。开发版本可删除,不影响线上版本和审核中版本的代码。

  • 审核中版本:只能有一份代码处于审核中。有审核结果后可以发布到线上,也可直接重新提交审核,覆盖原审核版本。

  • 线上版本:线上所有用户使用的代码版本,该版本代码在新版本代码发布后被覆盖更新。

15、小程序 AppSecret 只有管理员才能查看,平台不会明文保存 AppSecret。

16、数据分析只统计已发布线上版本使用数值,同时提供实时统计数据。

17、开发者工具目前提供 windows 64 、 windows 32 、 mac 版本(版本目前持续更新迭代中,可能需要常常去 update)。

18、内测阶段,代码上传功能仅管理员微信号可操作。

19、书写代码后,工具会自动帮助用户保存当前的代码编辑状态,直接关闭工具或者切换到别的项目,并不会丢失已经编辑的文件状态,但需要注意的是,只有保存文件,修改内容才会真实的写到硬盘上,并触发实时预览。

20、每个小程序可跳转的其他小程序数量限制为不超过 10 个。

21、脚本内不能使用 window 等对象:JsCore 是一个没有窗口对象的环境,所以不能在脚本中使用 window,也无法在脚本中操作组件。

22、zepto/jquery 会使用到 window 对象和 document 对象,所以无法使用。

23、一个应用同时只能打开最多十层,当已经打开十层红后,wx.navigateTo 不能正常打开新页面。请避免多层级的交互方式,或者使用 wx.redirectTo。

24、定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。

25、本地资源无法通过 css 获取:background-image:可以使用网络图片,或者 base64,或者使用标签。

26、修改窗口的背景色:使用 page 标签选择器,可以修改顶层节点的样式。

27、前台、后台定义:

  • 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;

  • 当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程序进入后台超过一定时间后(目前是 5 分钟),或者系统资源占用过高,才会被真正的销毁。

28、App() 必须在 app.js 中注册,且不能注册多个。

  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。

  • 不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成。

  • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

29、tabBar 是一个数组,只能配置最少 2 个、最多 5 个 tab,tab 按数组的顺序排序。(底部导航栏)

30、存储

  • 每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorageSync/wx.getStorageSync、wx.removeStorage/wx.removeStorageSync 等 API 对本地缓存进行读写和清理。

  • 同一个微信用户,同一个小程序 storage 上限为 10MB。storage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。

  • 注意:如果用户储存空间不足,我们会清空最近最久未使用的小程序的本地缓存。我们不建议将关键信息全部存在 storage,以防储存空间不足或用户换设备的情况。

31、公众号关联小程序:公众号关联小程序后,将可在图文消息、自定义菜单、模板消息等功能中使用小程序。

  • 关联规则:

  • 所有公众号都可以关联小程序。

  • 一个公众号可关联 10 个同主体的小程序,3 个不同主体的小程序。

  • 一个小程序可关联 500 个公众号。

  • 公众号一个月可新增关联小程序 13 次,小程序一个月可新增关联 500 次。

32、微信小程序平台常见拒绝情形

33、第三方审核公司咨询热线

34、小程序更新机制,小程序冷启动时,如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。如果需要马上应用最新版本,可以使用 wx.getUpdateManager API 进行处理。

以上注意事项所涉及的点,是通过实践和官方文档总结而出,如有信息不对称,请以官方文档为准!请知晓