发布上线——从开发版到体验版的最后一公里
2026/8/31大约 4 分钟
小程序开发系列 · 第 14/14 篇
上一篇:《分包与性能》
系列完结 · 回到板块首页 · 下一步:实战篇 · TodoList
开头:代码在工具里跑通,用户还看不见
前 13 篇都在开发者工具与本地 demo 里打转。要让微信里的其他人打开,必须走 上传 →(体验)→ 审核 → 发布。本篇收官:理清版本形态、对照一次真实上传,并留下上线检查单。
| 雪球 | 这一球加上去的 | 当场能看见的效果 |
|---|---|---|
| 1 | 四态版本模型 | 知道每一步给谁用 |
| 2 | 工具「上传」 | 代码提交成功 |
| 3 | 审核与回退 | 拒审常见原因、灰度意识 |
一、四种形态
| 形态 | 谁能看 | 怎么来 |
|---|---|---|
| 开发版 | 项目成员,扫开发者工具预览/真机调试码 | 本地编译,不上传也行 |
| 体验版 | 被加为体验者的微信号 | 上传后,在公众平台选某版本设为体验版 |
| 审核中 | 仍是体验/旧正式,新包在审 | 提交审核 |
| 正式版 | 所有用户(或灰度范围内) | 审核通过后发布 |
口诀:自己调试用开发版;给测试同学用体验版;对外用正式版。 切勿把「我预览能开」当成「用户已经能开」。
二、上传前检查(对照本系列坑)
demo 里点「打印 accountInfo」可核对当前小程序身份:
✅ 实测(2026-08-20):
[14] demo version = 0.5.0
[14] accountInfo = {miniProgram: {…}}
[14] 上传清单:工具栏「上传」→ 填写版本号/备注 → 公众平台设体验版 →(可选)提交审核三、实测:上传成功
工具栏 上传 → 填写版本号(如与 globalData.version 对齐的 0.5.0)与项目备注 → 确认。
✅ 实测:本次操作 代码提交成功(开发者工具上传完成)。
上传成功 ≠ 用户可见。接下来在 微信公众平台:
- 版本管理里找到刚上传的开发版本;
- 选「选为体验版」,把测试微信号加成体验者;
- 需要全量再「提交审核」→ 通过后「发布」。
审核周期视类目与队列而定;被拒时按驳回理由改,不要盲传同一包硬撞。
四、常见拒审与回退意识
| 类型 | 例子 |
|---|---|
| 类目/名称不符 | 实际功能与所选服务类目对不上 |
| 无法完整体验 | 强制登录死路、测试账号未提供 |
| 隐私与合规 | 未声明的收集、过度权限 |
| 内容问题 | 诱导分享、虚假宣传等 |
发布后若发现严重 bug:平台支持版本回退 / 重新提审(具体入口以公众平台当期为准)。灰度发布、AB(含 Skyline 相关实验)适合大流量正式小程序——教程 demo 上传体验版即可收官。
五、系列回顾(14 球滚完)
从「为什么不是 H5」到「上传成功」,一条线:
- 双线程与能力边界 → 2. 工程与工具 → 3. 页面四件套 → 4. setData → 5. 事件 → 6. 路由栈 → 7. 生命周期 → 8. WXS → 9. 内置组件 → 10. 自定义组件 → 11. API/域名 → 12. Skyline → 13. 分包 → 14. 发布。
贯穿 demo:mp-demo-lab2(待办「小事记」实验台)。建议你本地再从 01 扫到 14:每个实验按钮背后,都该能对上某一篇的雪球表。
想把知识收成一个能用的小程序?继续 实战篇 · 从 0 做 TodoList(成品仓 mp-todolist)。
小结
- 开发版 / 体验版 / 审核中 / 正式版,受众不同;
- 上传成功只是把包送到平台,体验版与发布是后续两步;
- 上线前重点查:域名、包体积、权限文案、双渲染兼容;
- 拒审对症改,保留版本备注便于回退。
思考题:
- 同事说「我已经点了上传,你扫我屏幕上的预览码就能当体验版用」——这句话哪里不严谨?
- 正式环境突然全部 request 失败,优先查 11 篇的哪一项配置?
- 若审核要求提供测试账号,体验版和开发版哪个更适合给审核员?为什么?
参考:小程序上线|运营规范|系列 demo:mp-demo-lab2