首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从零开发微信小程序:7个踩坑实录与避坑指南

从零开发微信小程序:7个踩坑实录与避坑指南

原创
作者头像
用户12607828
发布2026-07-16 23:53:55
发布2026-07-16 23:53:55
970
举报

适用对象:想快速开发微信小程序、计划用云开发、准备首次提审的个人开发者。 技术栈:微信小程序原生开发 + 微信云开发 + 云数据库。 项目:记账工具类小程序「老友们的进账本」。

最近用 AI 辅助做了一个微信小程序,功能不复杂:输入月薪自动拆算到日,手动录入自媒体/兼职等额外收入,按月生成统计。但从立项到提交审核,愣是踩了 7 个坑。

下面按时间线记录,每个坑都写清楚:现象 → 根因 → 解决 → 建议。希望下一位少走点弯路。


一、起名:越早定,越省事

现象

项目最开始叫「日进斗金」,后来决定改成「老友们的进账本」。结果代码里、文档里、脚本里到处都是旧名字。

根因

微信小程序真正影响用户看到名字的只有两处:

  • project.config.json 里的 projectname(开发者工具显示)
  • app.json 里的 navigationBarTitleText(用户顶部标题)

这两个文件之外,README、脚本注释里的旧名不影响运行,但容易在以后维护时把人搞糊涂。

解决

把两个配置文件改掉,其余文档用全局搜索替换统一处理。

建议

起名要趁早。 注册小程序、备案、写代码前,先把名字定死。改一次名字,关联文档和脚本要全局搜一遍,避免留下旧名地雷。


二、备案:可以干等,也可以并行干活

现象

现在微信小程序必须备案。提交后等审核,期间不能提审、不能预览,只能干着急。

根因

备案是平台强制流程,开发者无能为力,只能等。

解决

不依赖备案的工作提前做

  • UI 设计、页面结构
  • 云函数代码
  • 广告变现方案设计
  • README 文档

备案通过后,直接填 AppID、开云开发、测试、提审,一气呵成。

建议

备案和其他工作并行做。 把等待时间变成开发时间,别卡在一个流程上。


三、广告变现:先给甜头,再谈变现

现象

新小程序直接弹广告,用户没有忠诚度,秒卸载。

根因

广告变现不是功能一上线就要满上,而是要有节奏。微信激励视频广告时长由平台控制,开发者无法直接限制为 30 秒内。

解决

设计上采用推广期免费次数 + 看广告继续的模式:

  • 每天前 4 次进入免费放行
  • 第 5 次弹窗引导看广告
  • 推广期结束后自动降到每天 2 次免费
  • 看广告时,只要观看超过 15 秒即使中途关闭也给奖励,降低挫败感

代码里用 adConfig.enabled 一个开关控制全局广告,开发模式关闭,上线后开通流量主再打开。

建议

新用户先给甜头,再谈变现。 广告开关做成配置项,便于测试和上线后切换。


四、云开发环境 ID:别硬编码

现象

开通云开发后,代码里填了环境 ID,编译报错:Env Not Exists

根因

微信开发者工具导入项目时,会自动关联一个云开发环境。如果代码里硬编码了另一个环境 ID,就会冲突。

解决

去掉 wx.cloud.init() 里的 env 参数,让微信自动选择当前环境。对于只有一个云环境的小程序,自动选择不会出错。

建议

不要硬编码环境 ID。 尤其是首次开发时,环境可能重新创建,自动选择最稳妥。


五、保存失败:有时候不是数据库的问题

现象

云开发环境修好后,点「保存收入设置」仍然提示保存失败。

根因

代码里保存数据前先调用 app.getOpenid(),这个函数依赖 login 云函数。但云函数还没部署到云端,整个数据库操作链就断了。

解决

去掉手动获取 openid 的逻辑,改用数据库权限控制。把集合权限设为「仅创建者可读写」,系统会自动只返回当前用户的记录,不需要手动过滤。

建议

能用数据库权限解决的事,不要额外调云函数。 减少依赖,就少一个失败点。


六、提审:服务类目必须提前设

现象

上传代码版本 1.0.0 后,点「提交审核」,弹窗提示「请先添加服务类目」。

根因

微信小程序首次提审必须设置服务类目,至少 1 个,最多 5 个。

解决

去公众平台设置服务类目,建议选「工具-记账」或「工具-计算器」,再把其中一个设为主营类目。

建议

类目提前设好。 第一次提审前就把服务类目、主营类目、隐私指引都检查一遍,避免临门一脚被卡住。


七、隐私设置:代码里没调,才敢选「未采集」

现象

类目设好后,提交审核时又弹出「用户隐私保护指引」设置。

根因

如果选「采集用户隐私」,需要列出具体采集项(头像、位置、手机号等)。如果选「未采集」,但代码里实际调用了隐私接口,相关权限会被回收。

解决

先在代码里全局搜索一遍隐私相关接口:

  • getUserProfile
  • getUserInfo
  • getPhoneNumber
  • getLocation / chooseLocation
  • chooseAddress

确认没有调用后,再选「未采集用户隐私」。

建议

隐私设置要诚实。 代码里实际调了什么就写什么,不要为了省事乱选,否则审核被驳回更麻烦。


关于流量主:UV 1000 是硬门槛

广告变现代码虽然写好了,但新小程序不能立即开通流量主。微信规定:累计独立访客 UV ≥ 1000 才能开通。

所以首次提审时,广告功能保持关闭,先上线拉用户。达到 UV 门槛后,再创建广告位、替换广告单元 ID、打开开关、重新发布。


总结

教训

起名

尽早定,改了全局搜替换

备案

等待期间做其他不依赖备案的工作

广告策略

新用户先免费,再引导广告

环境 ID

不硬编码,让微信自动选择

保存失败

用数据库权限替代手动获取 openid

服务类目

首次提审必须提前设置

隐私设置

代码里没调隐私接口才能选「未采集」

整个开发过程用 AI 辅助写代码确实快,但平台规则、配置调试、提审流程这些坑,AI 也帮不了跳过。唯一能做的,就是把坑记下来,下回少踩。

如果你也在做个人小程序,欢迎交流。项目代码里的广告策略和云开发配置方案,可以在实际场景中复用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、起名:越早定,越省事
    • 现象
    • 根因
    • 解决
    • 建议
  • 二、备案:可以干等,也可以并行干活
    • 现象
    • 根因
    • 解决
    • 建议
  • 三、广告变现:先给甜头,再谈变现
    • 现象
    • 根因
    • 解决
    • 建议
  • 四、云开发环境 ID:别硬编码
    • 现象
    • 根因
    • 解决
    • 建议
  • 五、保存失败:有时候不是数据库的问题
    • 现象
    • 根因
    • 解决
    • 建议
  • 六、提审:服务类目必须提前设
    • 现象
    • 根因
    • 解决
    • 建议
  • 七、隐私设置:代码里没调,才敢选「未采集」
    • 现象
    • 根因
    • 解决
    • 建议
  • 关于流量主:UV 1000 是硬门槛
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档