先交代一下背景。之前我做了个查历史天气的微信小程序,功能不复杂:根据当前定位的城市、以及日期,自动查询这天在过去几年里的温度和降水情况,以及可以点击进去查看逐小时的详细数据情况。
做它的起因很简单。有时候我会突然想知道,去年的今天成都多少度,或者某个城市五月历史上到底热不热。翻遍各种天气 App,发现它们都只管未来几天的预报,没人认真做"历史同日"这件事。既然没有,那就自己做一个。
最近我把这个小程序整个重构了一遍,从自建服务器迁到了云开发,过程里用了一圈 AI 工具。坑踩了不少,写下来给同样想折腾的朋友避避雷。
为什么要推倒重来
老版本不是不能用,是用得心累。问题是一个一个积累起来的,到某个临界点,我意识到与其修修补补,不如重写。顺便试试现在AI的能力怎么样了(旧版本是去年AI辅助写的,主要还是人)。
证书问题是压垮我的第一根稻草。老版本是 Python 后端,自己买的云服务器。微信小程序强制接口走 HTTPS,免费证书有效期只有 3 个月。每隔三个月,我就得登服务器、申请新证书、上传、重启服务,全程小心翼翼,生怕哪步错了。更糟的是有几次忘了换,证书过期,小程序直接白屏,等用户反馈过来我才发现。一个本该稳定运行的东西,被一张证书牵着走,这种感觉很差。再加上备案流程的来回折腾、服务器的年费域名费,投入和产出完全不成正比。
功能上的短板也越来越明显。老版本只能查当前定位城市,我人在成都就只能看成都,想查别的地方做不到——对一个天气工具来说,这几乎是硬伤。查询范围也卡在最多 5 年,很多有意思的长周期对比根本展现不出来。历史天气的数据量很大,老版本每次查询都老老实实重新跑一遍,没有缓存,用户点一下要干等好几秒。UI 就更不用说了,纯属随手搭的,数据堆在页面上没有层次,谈不上设计。
证书、功能、范围、性能、UI,五个问题凑在一起,重构的决定就很自然了。
AI 工具用了一圈,挑能用的说
这次重构是典型的 Vibe Coding,代码和设计都大量借助了 AI。但用下来最大的感受是:没有任何一个工具能一次性把活全干完,都得组合着来。
代码:Codex 和 Claude Code 换着用。综合体验下来 Codex 更稳一些,生成的代码实在、逻辑清楚,不太容易冒出离谱的问题。还有个很现实的优点——不容易封号,长期用这点很重要。奥特曼在用量上也确实大方,我好几次没到周重置时间,用量就被提前恢复了。Claude Code 处理复杂逻辑的能力更强,啃硬骨头的时候靠它,但封号严重。。。。两个搭配,基本能覆盖大部分场景。
但有句话得说在前面:AI 能帮你省掉大量重复劳动,却替不了你做判断。云函数怎么组织、数据库索引怎么建、缓存逻辑怎么设计,这些还是得自己心里有数。否则 AI 给你写了什么、哪里埋了雷,你根本看不出来。
设计方面:Stitch 在生产环境里不太顶用,生成的稿子和真正能落地的东西差距很大,改起来比自己画还累。Image2 是更靠谱的选择,它最大的优点是一致性强,反复调 UI 的时候风格能稳住,不会越改越乱。缺点是要多调几轮才能到位,别指望一次成型。把它当成"快速出初稿、然后慢慢磨"的工具,预期摆正了就好用。
云开发到底值不值
迁到云开发之后,最直接的感受是:之前那些让我头疼的事,集体消失了。
先解释下云开发是什么。微信官方现在管它叫"云开发",理解起来其实很简单——数据库、文件存储、静态托管这些底层设施全帮你封装好了,你只管把业务逻辑写成云函数,按微信的规范来,部署完在小程序里直接调。不用买服务器,不用配环境,不用管证书。
换成这个思路,过去的运维负担基本归零。HTTPS 不用操心,证书不用操心,备案在注册小程序时就顺带解决了。对个人开发者来说,能把全部精力放回功能本身,这是实打实的解放。
操作上也顺。先装好 tcb cli工具,装完之后云函数的部署、更新这些环节,可以直接交给 Codex 或 Claude Code 自动搞定,手动操作的部分大幅减少。另外它的静态托管能力也不错,我顺手基于云函数搭了一套管理后台,数据维护、内容管理都能在后台处理,完成度比预期高。
唯一还拿不准的是按量计费的价格。现在用量小,费用不痛不痒,但如果哪天用户多起来,成本会怎么走,目前心里没底,这点得持续盯着。
一个被审核拦下来的功能
这个坑必须单独讲,因为它直接改变了我的功能规划。
重构时我本来设计了一个我自己最满意的功能:用户查出某地某段时间的历史天气后,可以直接用大白话提问——"这地方六月哪年最热""近五年这天下雨多不多"——由 AI 给出分析和回答。功能完整做出来了,本地测试也顺畅,体验上我觉得这是整个重构里最有亮点的一块。
结果送审,直接被拒,解释了半天也拒绝了。。。微信的规则写得明白:个人开发者不允许上架 AI 对话、AI 问答类功能。技术做得再完整都没用,规则这关过不去就是过不去。
所以提醒一句:如果你也是个人开发者,在规划功能时,AI 问答、AI 聊天这类先别往里放,大概率卡审核,做了也是白做。这个坑我替你们踩过了。甚至我都想做个iOS APP去发布完整版了。。。
最后
回头看,这次重构该解决的都解决了:服务器和证书的麻烦彻底没了,城市能自己选了,数据范围拉长了,加了缓存之后响应也快了,UI 重新设计过,终于像个正经产品。
几条经验留给你:
1. 云开发对个人开发者很值得,省心是它最大的好
2. AI 工具能帮大忙,但要清楚它的边界,别全盘托付
3. 微信审核的规则一定提前摸清楚,别等功能做完才发现上不了架。
还有个感触,去年写这个小程序时,还是用AI辅助开发,自己看每一行代码,今年已经能够实现真正的"自然语言编程"了。感觉AI的发展还是太迅猛了。就是封号太严重了😂
坑都在这了,希望对你有用。
顺便附上小程序,各位可以试用下,有意见和反馈可以小程序内提。也欢迎在评论区讨论。
夜雨聆风