微信小程序常见问题

1. 小程序分包过大问题

定义

主包:包括导航栏在内的页面的一个包,在打开小程序时会预加载,最大2M(2048k),只有一个主包 分包:除主包外的其他包,可以有多个,最多不能超过100个

报错截图

报错原因

  • 整个小程序所有分包大小超过 20M
  • 单个分包/主包大小超过 2M

主包页面: 配置了 Zion 默认的底部导航栏的页面(包括设置的主页) 分包页面:是除主包外的剩余的页面

假设项目中共40个页面,带底部导航栏的页面有 4 个,那么主包页面就包括了 4 个导航页面 + 主页共5个页面,若某个导航页面同时也是主页那主包页面就是共4个页面。剩余的其他页面会组成多个分包,若主包页面数量为5,就会有4个分包,前三个分包都为10个页面,最后一个分包为5个页面(3*10+5)。

解决方法

  • 减少主包页面数量(主要方法)
  • 步骤:预发布 → 设置 → 主包/分包页面数量设置 → 保存
  • 注意:主包数量 >= 底部导航栏页面数
  • 避免滥用条件式容器,能用条件数据的就用条件数据替代
  • 减少视图组件的使用
  • 一个较为复杂的业务逻辑功能,例如有较多的弹窗行为,则可以新建页面去实现## 附:测试案例 用不同的方式生成相同的10条数据,以下为每个方式生成的页面大小

2. 小程序预发布&发布报错调试方法

在开发小程序时,由于权限配置、修改表数据行为配置错误,可能会触发如下所示的报错信息,为了让自己明确报错信息,或者给官方工作人员提供充足的报错信息来修正问题,你可以按照如下步骤进行报错信息的查看

打开小程序 debug 模式

如上图,点击手机小程序右上角,打开如下所示界面,点击debug模式按钮,确认进入debug模式

重新进入小程序,查看报错信息

按照上述操作之后,会重新进入小程序,此时,你的小程序页面中将出现如下所示的【vConsole】按钮,点击该按钮,即可查看小程序中的所有请求内容,包括报错信息 ⚠️ 但由于你的报错可能出现在某些操作之后,或者跳转到其他页面才会出现,为了能够快速的定位报错信息,那么建议在最终触发报错的上一步操作时,先点击报错信息界面下的【Clear】按钮,清除报错之前的所有请求数据信息,而后再去触发报错,再点开【vConsole】查看具体触发的请求

如何查看报错信息

一般报错信息会出现在某个如下所示的 result 指向的 Object 里,你可以点击展开查看 Object 里的详细内容,详细内容中就会包含报错信息

常见报错信息与修正方法

报错信息:User xxx has no permission for SELECT on ud_zionbangzhuwendang_cd2170"

报错原因:权限配置中,没有对【已登陆用户】或【游客】或其它角色配置这张数据表的查询权限ud_zionbangzhuwendang_cd2170(可以通过拼音看出这张表的原名叫 Zion 帮助文档) 处理办法: 进入权限配置,打开对应角色的这张数据表的查询权限 相似报错: 没有权限使用某个 API、行为流或 Z AI ,处理办法也是到权限配置中开通对应角色的使用权限

报错信息:network error / Unkonw error

报错情况: 如果手机扫码进入小程序后立即出现报错,可能是由于缓存问题。 处理办法: 可尝试删除小程序,然后重新扫码进入。如果依然报错,说明首页配置有问题,按照上一个方法查看具体报错信息

报错信息:server internal error

报错原因: update(更新) 不允许任何字段值都为空的情况出现 处理办法: 检查修改表数据配置,确保配置的字段数据不为空

报错信息:Validation error of type Wrong Type: argument xxxxx

报错截图示例: 左侧为详细报错信息,右侧为触发这个报错信息的行为

报错原因: 在进行修改/更新操作时,图片中框选的几个字段没有被正常赋值 处理办法: 找到触发改行为的位置,重新进行修改表数据行为的数据绑定,确认所绑定的数据一定有正确类型的值

行为流运行后一只转圈(加载中)的情况

状况原因: 由于基础版项目服务器算力资源原因,仅能支持 15 s 的行为流运行时间,若行为流较复杂,需要较长时间运行的话,就会出现一只转圈(加载中)的情况 处理办法:简化行为流处理逻辑或将项目升级至高级版及以上版本

如何获取小程序的 AppID 和页面 Path

获取 AppID

  • 手机端:打开跳转目标的小程序,根据下图位置点击后查看详细信息,再点击更多资料即可看到 AppID

  • 电脑端:进入小程序后台——工具——生成小程序码

获取页面路径

进入小程序的目标页,点击右上角,再点击“复制页面路径”即可获取。

ios暂不支持复制页面路径的方法;复制后会得到一个带有.html后缀的路径,输入路径时要删除这个.html后缀。正确示例:pages/kf2ao6q9/kf2ao6q9。错误示范:pages/kf2ao6q9/kf2ao6q9.html

Copyright © FunctorZ 2024 all right reserved修订时间: 2025-02-28 04:40:20

results matching ""

    No results matching ""