之前在团队内部分享过 Supabase,很多同事把它当作“开源版 Firebase”。 我自己也很喜欢它那种 PostgreSQL 为核心、能力全家桶 的感觉:认证、存储、API、边缘函数,一套就能把后端基础设施拉起来。
但这次我要做的是一个偏“生活化”的小项目:给女儿朗读打卡用的一个小程序。 手机录音 App 当然一大堆,但我想趁着 AI 辅助开发的东风,验证一下 手搓小程序 + 云后端 是否真的能跑起来。
于是就顺着“国内版 Firebase/Supabase”的路径,找到了腾讯 CloudBase(TCB)。
先简单说说 Supabase
Supabase 的定位很清晰:
一个基于 PostgreSQL 的开源后端服务平台(BaaS)。
它提供了一套很“现代”的能力组合:
- 用户认证
- 运维面板
- 文件存储
- 自动生成 API
- 边缘函数
- 消息推送
如果你的项目偏 Web、强调数据关系模型、又希望“开源可控”,Supabase 确实很香。
CloudBase 是什么
CloudBase 是腾讯云推出的云原生一体化后端服务平台,主打 Serverless + 小程序生态。 可以把它理解为:国内对标 Firebase/Supabase 的一体化 BaaS。
它的核心功能也很“全家桶”:
| 功能模块 | 说明 | 关键特点 |
|---|---|---|
| 云数据库 | 文档型数据库(类 MongoDB) | 支持实时数据推送、事务与权限控制 |
| 云存储 | 图片、音视频等对象存储 | 自带 CDN,加速与权限可控 |
| 云函数 | Serverless 函数 | 支持 Node/Python/PHP 等多语言 |
| 静态网站托管 | H5/静态站点托管 | 自定义域名 + HTTPS |
| 身份认证 | 内置用户系统 | 微信/QQ 等登录方式快速集成 |
一个比较直观的选择逻辑:
- 做微信生态 / 小程序 / 原型验证:CloudBase 更省心。
- 做复杂 Web / 关系模型 / 开源自控:Supabase 更顺手。
我这次明显是前者,所以就直接上 TCB 了。
项目搭建:UniApp + CloudBase
我个人比较熟 Vue 3,所以技术选型时选择了 UniApp。 本来准备在 HBuilderX 里起空项目,结果翻 TCB 文档时发现:
腾讯已经给了模板项目,而且还把各种 AI Coding 的环境都配好了。 说实话,这个“AI 原生后端一体化”的方向感很明显。
模板项目:
https://github.com/TencentCloudBase/awesome-cloudbase-examples/tree/master
1. 下载模板
git clone git@github.com:TencentCloudBase/awesome-cloudbase-examples.git
cd awesome-cloudbase-examples/universal/cloudbase-uniapp-template
npm install
2. 申请账号并创建环境
- 前往
https://tcb.cloud.tencent.com/注册账号并完成认证。 - 在 环境管理 里新建环境。
- 个人版提供免费试用(官方文档写的是 6 个月),够你验证一轮了。

3. 配置环境 ID
打开 src/utils/cloudbase.ts,替换你的环境 ID:
const ENV_ID = 'xxx-xxx-xxxxxxx'; // 替换为你的云开发环境ID
4. 运行项目
npm run dev:mp-weixin
5. 用微信开发工具打开
导入 dist/dev/mp-weixin:

登录能力验证与坑点
小程序登录默认是静默登录。 我这里做“获取 openid”的时候,遇到权限和绑定问题,流程大概是这样的:

需要做的三件事
- 在
manifest.json里配置小程序 appid

- 账号绑定小程序(个人中心 → 账号信息)

- 微搭低代码 → 小程序认证

但我折腾完之后发现还是不一致。 最终的关键点是:必须在微信开发工具里完成云开发环境选择。

- 在开发工具中选择对应环境

这里官方也有一个解决方案帖子可以参考:
https://cnb.cool/tencent/cloud/cloudbase/community/-/issues/753
小结
基于 CloudBase 的小程序开发环境搭起来并不复杂, 真正费时间的其实是“生态绑定”这件事:账号、认证、环境、工具链,每一步都要对上。
但一旦打通,其实体验还是很顺的。 对我来说,这次更多是一个“现实可用性验证”:
- 能不能快速搭起来?能。
- 能不能在微信生态里跑起来?能。
- 能不能作为小型项目的后台?目前看也能。
后面如果有时间,我会把这个“朗读打卡小程序”的实现过程也整理出来。