微信小程序开发大概要经过哪些阶段?
大致六个阶段:账号与主体(注册、认证、确定类目与名称)、需求与设计、开发(页面、接口、登录与权限)、能力对接(手机号、支付、订阅消息等)、备案与合规、提审与上线。其中账号、能力开通、备案都有办理周期,属于非代码工作,建议与开发并行推进,不要串行等待。
小程序的技术门槛并不算高,真正容易出问题的是它周围的链路:有周期的账号与备案、容易被低估的登录与授权设计、必须保证一致性的支付与消息,以及审核阶段的反复。这篇文章按项目顺序把它们讲清楚。
微信小程序看起来门槛不高:有现成的开发工具,有成熟的组件与接口,似乎照着文档就能做出一个。但真正做过一轮完整上线的人都知道,难点往往不在写页面,而在从注册到上线的这条链路上——主体认证、手机号授权、支付接入、订阅消息、备案与合规、审核驳回,任何一环没处理好,都可能让上线时间往后推。
这篇文章按项目实际推进的顺序,把完整的流程与常见的坑梳理一遍。它不追求覆盖所有细节,而是把容易出问题、又容易被低估的环节讲清楚,帮助团队在动手之前就有一个整体的准备。
结论先给:小程序项目最容易被低估的,是「非代码工作」的比例。建议在开工前把整条链路画出来,避免做到一半才发现前置条件没满足。
从零到上线,大致可以分为六个阶段:
这条链路里,第 1、4、5 阶段往往不是开发能做决定的部分,需要业务、法务、财务的配合。把它们排进项目计划,才不会在后期变成「卡住所有人」的瓶颈。
结论先给:主体类型决定了你能用哪些能力,这一步选错,后面改起来很麻烦。
几个常见要点:
这几项本身不复杂,但它们有「办理周期」,一旦挪到最后,就会成为整个项目的关键路径。经验做法是:项目一开始就启动账号与认证,与开发并行推进。
结论先给:登录不是「接一个接口」那么简单,它牵涉到用户身份的建立与后续所有业务数据的归属,设计上要一次想清楚。
常见的几个坑:
这一部分的设计质量,会直接影响后续支付、订阅、订单等功能,值得在动手前画一张身份与权限的关系图。
结论先给:支付接入的技术难点不在「调起支付」,而在「支付结果如何可靠地同步到你的系统」。
几个关键点:
这些问题与电商系统的通用工程原则一致,与调用的是哪个平台的支付接口无关。关于状态一致性与幂等的处理思路,我们在 工程与质量保障 中有相关说明。
举个常见情形:用户支付完成后立刻关闭了页面,客户端没有拿到回调。此时如果系统只依赖客户端上报,就会把订单误判为未支付。可靠的做法是让服务端以支付平台的异步通知为准,并配合定时查询兜底;订单状态更新时以订单号作为幂等键,确保同一条通知被处理多次也只产生一个结果。这类细节在上线前容易被忽略,上线后却往往以「用户说付了、系统说没付」的形式暴露出来。
结论先给:订阅消息需要在用户触发时请求授权,且授权次数有限,因此它属于「产品设计问题」,不是开发后期随手加的功能。
几个要点:
如果把这些留到最后再处理,往往要回头改业务流程,成本比一开始就设计好高得多。
结论先给:小程序上线前需要完成备案,这属于硬性前置条件,不能在审核阶段才补。
需要关注的事项包括:
合并不只是「上线前的一道手续」,它会影响产品设计本身。例如「哪些信息必须收集、哪些可以选择性收集」,这类问题在需求阶段就该有答案。
还有一个实际经验:把备案与隐私相关的材料整理成一份清单,明确「谁提供、谁审核、放在哪里」,避免反复找不同的人要材料。很多项目在合规环节耗时,不是因为难度大,而是因为材料找不齐、口径说不清。提前一天把清单建好,往往能省下后面好几轮沟通。
结论先给:多数驳回不是技术问题,而是「实际功能与申报信息不一致」或「缺失必要说明」。
实践中常见的原因包括:
处理驳回时,务实的做法是:先按意见逐条修改,再在提审说明里写清楚修改了什么、在哪一步可以验证。一次把问题说清楚,比反复试错更快。
综合上面的内容,给出几条项目层面的建议。
小程序开发的完整交付流程与各阶段产出物,可以参考 交付流程;软件研发的整体能力见 软件研发服务。实施中的常见疑问见 常见问题,需要进一步沟通可走 联系我们。
微信小程序的技术门槛并不算高,真正容易出问题的是它周围的链路:有周期的账号与备案、容易被低估的登录与授权设计、必须保证一致性的支付与消息、以及审核阶段的反复。把这些看成项目的一部分,而不是「上线前的杂事」,项目会顺畅很多。
一个实用的判断标准是:如果在开工前能清晰回答「谁先办、谁后办、哪些有周期、哪些必须用户授权」,这个项目大概率不会在后期被卡住;反之,问题往往不是出在代码上,而是出在顺序上。
本文由广州科芃科技有限公司技术团队整理。我们承接软件研发与小程序类项目时,习惯在启动阶段就把合规与前置事项排进计划,先确认顺序,再进入设计与开发。
大致六个阶段:账号与主体(注册、认证、确定类目与名称)、需求与设计、开发(页面、接口、登录与权限)、能力对接(手机号、支付、订阅消息等)、备案与合规、提审与上线。其中账号、能力开通、备案都有办理周期,属于非代码工作,建议与开发并行推进,不要串行等待。
不是。登录后拿到的是平台内的用户标识,不等于拿到手机号;获取手机号是另一项需要用户单独同意的能力。设计上应把二者分开,不要把「拿到手机号」当成登录成功的必要条件,并在用户拒绝授权时保留可用路径,避免流程卡死。
技术难点不在调起支付,而在支付结果如何可靠同步到自己的系统。应以服务端收到的异步通知为准,而不是只依赖客户端上报;订单状态更新要幂等,避免同一条通知处理多次导致重复发货;还要做对账与补偿,并同样处理退款链路。
应在产品设计阶段就规划,而不是开发末期随手加。因为授权只能由用户主动触发,需要在自然的业务动作里嵌入请求;模板与发送节点要提前确定;未授权、次数用尽、被拒收都属于正常情况,需要有站内提醒等兜底方式,发送频率也要克制。
多数驳回不是技术问题,而是信息不一致或说明缺失,常见原因包括:申报类目与实际功能不符、功能不完整或存在明显缺陷、缺少必要资质、隐私政策与授权说明缺失或不可见、存在诱导分享等不合规行为、以及需要登录的功能未提供可用测试账号。修改后建议在提审说明中写明改动点与验证路径。