系列最后一篇。本地跑通只算完成了一半,这篇把上线前的全部事项列成清单——每一项都是"不做就无法上线/无法收钱"的硬门槛。
一、资质与备案(周期最长,最先启动)
| 事项 | 说明 | 周期 |
|---|---|---|
| 域名 + ICP 备案 | 小程序服务器域名必须备案过的 HTTPS | 1~3 周 |
| 小程序账号认证 | 企业主体认证(300 元/年) | 数天 |
| 类目选择 | 货运/物流相关类目,可能需《道路运输经营许可证》或平台类目承诺函 | 提前咨询 |
| 微信支付商户号 | 企业主体 + 对公账户 | 1~2 周 |
经验:备案和商户号是两条最长的链路,第一天就并行启动,代码改完资质还没下来是最常见的翻车点。
二、代码替换清单(mock → 真实)
上线前把所有 mock 逐个替换,每替换一项跑一遍全链路:
- 登录:mock openid →
code2session(切换配置开关即可,见系列第五篇) - 支付:mockPay → 微信支付统一下单 + 支付回调(注意回调幂等,用带条件的 UPDATE 兜底)
- 退款:mock 退款 → 微信退款 API
- 金额:确认所有
BigDecimal无 double 混入 - 密钥:JWT secret、微信 key 全部改强随机值,进环境变量不进代码库
三、部署最小架构
用户/司机端小程序 ─┐ ├→ Nginx(443, HTTPS) → Spring Boot(jar, 8080) → MySQL 8 管理后台(静态文件) ─┘一台 2 核 4G 云服务器足够起步。要点:
- 只开放 443(和 SSH 改端口),8080/3306 绝不暴露公网
- Spring Boot 打 jar,用 systemd/WinSW 守护 + 开机自启
- 管理后台
npm run build出的静态文件直接丢 Nginx 托管 - MySQL 每日 mysqldump 定时备份 + 异地(对象存储)留存,上线第一天就配,不是等出事再配
四、上线后第一周
- 自己人账号灰度:全流程每天走 3~5 单真实小额支付再退款,验证资金链路
- 盯三个东西:错误日志、支付对账单、数据库慢查询
- 准备一份"客诉处理 SOP":用户说没收到退款→查订单日志→查微信退款单号,路径固定下来
系列收官
14 篇写完:需求选型 → 建表 → 计价 → 登录鉴权 → 状态机 → 抢单并发 → 审核 → 钱包 → 后台 → 看板 → 联调 → 上线。回头看最有价值的三个决策:费率进数据库不进代码、订单日志第一天就有、并发全部交给数据库条件更新——都是"多花一小时设计,省掉一周返工"的选择。
接下来的内容方向:真实微信支付接入实录、分时预约升级、Redis 抢单改造(如果业务真涨到那个量级)。有问题评论区见。