首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从第一性原理出发:用 WorkBuddy 和腾讯云做一个小程序

从第一性原理出发:用 WorkBuddy 和腾讯云做一个小程序

原创
作者头像
林晚
修改2026-07-15 17:36:22
修改2026-07-15 17:36:22
1110
举报

一、先忘掉“怎么开发”,只问三个根本问题

很多人一开始就纠结框架、服务器和数据库,结果工具装了一堆,产品却没有做出来。第一性原理要求我们把问题拆到不可再拆的事实:

  1. 用户为什么要打开这个小程序?
  2. 用户完成核心任务,最少需要几步?
  3. 系统为了支持这几步,最少需要哪些能力?

假设我们要做一个“活动报名”小程序。用户真正需要的不是一个复杂平台,而是:查看活动、提交报名、查看报名结果。由此可推出最小系统只需要四部分:小程序页面、用户身份、报名数据、后台处理逻辑。

WorkBuddy 的价值是把自然语言需求转成页面、代码和修改任务;腾讯云的价值是提供稳定运行所需的数据库、云函数、文件存储和日志。二者的分工应当非常清楚:

部分

负责什么

WorkBuddy

梳理需求、生成代码、解释报错、编写测试和迭代功能

微信开发者工具

本地预览、真机调试、上传和发布

腾讯云开发 CloudBase

数据库、云函数、云存储、权限和运行日志

二、把想法压缩成最小可行产品

第一版只做四个页面:

  • 首页:活动列表;
  • 详情页:活动介绍和报名按钮;
  • 报名页:姓名、手机号、备注;
  • 我的页面:查看自己的报名记录。

第一版不要加入积分、聊天、复杂推荐、会员体系或多角色管理。这些功能不是不能做,而是没有证据证明它们值得优先做。

可以把下面的提示词交给 WorkBuddy:

代码语言:javascript
复制
请为我创建一个原生微信小程序,名称为“轻报名”。
核心流程:用户浏览活动列表—查看详情—填写报名信息—查看自己的报名记录。
技术要求:使用微信小程序原生 WXML、WXSS、JavaScript,后端使用腾讯云开发 CloudBase;
集合包含 activities 和 registrations;所有写数据库操作通过云函数完成;
先输出产品需求、目录结构和数据结构,等待我确认后再逐个文件生成代码。
界面简洁,适配常见手机屏幕,并包含加载中、空状态、错误提示和防重复提交。

“先规划、再生成”非常重要。一次让 AI 生成整个系统,通常会得到表面完整、内部不一致的代码。

三、从核心事实推导数据结构

活动是被报名的对象,报名记录是用户与活动之间的关系。因此只需要两个核心集合。

activities 示例:

代码语言:javascript
复制
{
  "_id": "activity_id",
  "title": "周末读书会",
  "cover": "cloud://...",
  "description": "活动介绍",
  "startTime": "2026-08-01T14:00:00+08:00",
  "location": "深圳南山区",
  "quota": 30,
  "status": "published"
}

registrations 示例:

代码语言:javascript
复制
{
  "_id": "registration_id",
  "activityId": "activity_id",
  "_openid": "用户身份",
  "name": "张三",
  "mobile": "138****0000",
  "remark": "无",
  "status": "submitted",
  "createdAt": "服务端时间"
}

这里有三个必须坚持的原则:身份由服务端取得,时间由服务端生成,名额和重复报名由云函数校验。不能相信客户端传来的用户身份、剩余名额或提交时间。

四、最短实现路径

1. 准备账号和工具

注册微信公众平台小程序账号,取得 AppID;安装微信开发者工具;在腾讯云开通云开发环境;建立开发环境和生产环境。测试阶段也不要把正式数据与实验数据混在一起。

2. 创建工程

在微信开发者工具中新建小程序项目,选择云开发能力。把项目目录交给 WorkBuddy,让它先检查 app.json、页面路由和云环境初始化代码。

初始化通常类似:

代码语言:javascript
复制
App({
  onLaunch() {
    wx.cloud.init({
      env: '你的云环境ID',
      traceUser: true
    })
  }
})

环境 ID 不应散落在多个页面中,最好集中到配置文件,并区分开发与生产环境。

3. 建立数据库与权限

创建 activitiesregistrations 集合。活动数据允许用户读取,但只允许管理员写入;报名记录只允许本人读取,新增和状态变更统一由云函数执行。

4. 编写云函数

至少需要:

  • listActivities:返回已发布活动;
  • getActivityDetail:返回单个活动;
  • submitRegistration:校验字段、重复报名和名额后写入;
  • listMyRegistrations:根据调用者 OpenID 返回记录。

让 WorkBuddy 为每个云函数同时生成“正常、重复报名、名额已满、参数缺失、数据库失败”五类测试场景。

5. 联调页面

不要同时联调所有功能。按“首页读取—详情读取—报名写入—我的记录”的顺序,每走通一步就提交一次版本。遇到错误时,把报错文本、相关文件和复现步骤一起提供给 WorkBuddy,而不是只说“运行不了”。

五、第一性原理下的安全底线

系统最根本的安全目标不是“没有报错”,而是用户只能做被允许的事。因此:

  • 不在前端保存腾讯云密钥;
  • 不允许客户端指定 _openid
  • 手机号等个人信息按最小范围采集;
  • 数据修改放在云函数中校验;
  • 云函数记录关键操作,但日志不打印完整手机号;
  • 上线前准备隐私政策、用户协议和小程序隐私保护指引。

六、如何判断第一版已经完成

完成不等于页面都能打开,而是一个新用户能在真机上完成核心闭环:进入小程序、找到活动、成功报名、看到记录;重复提交被拦截;名额满时有明确提示;网络异常后可以重试;开发者能在云日志中定位问题。

第一性原理最终带来的不是“更高深”的方案,而是更少的浪费:先证明用户愿意完成核心动作,再用 WorkBuddy 和腾讯云不断扩展系统。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、先忘掉“怎么开发”,只问三个根本问题
  • 二、把想法压缩成最小可行产品
  • 三、从核心事实推导数据结构
  • 四、最短实现路径
    • 1. 准备账号和工具
    • 2. 创建工程
    • 3. 建立数据库与权限
    • 4. 编写云函数
    • 5. 联调页面
  • 五、第一性原理下的安全底线
  • 六、如何判断第一版已经完成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档