FenFlow · 纷纷部署 · 微信小程序 AI 快速开发工作流

从零到上线
你只需要做 4 件事

其余所有技术工作——写代码、部署云函数、配置数据库、上传——全部交给 AI Agent 完成。

注册小程序账号
填写 AppID + 云环境 ID
选一种部署授权方式
提交审核并发布
注册小程序
获取配置
环境测试
功能开发
优化上线
01

注册小程序账号

如果你已经有小程序账号,可以直接跳到 第二步

个人开发者

用个人微信注册,免费,无需营业执照

  • 云开发/云函数/数据库全部可用
  • 基础功能完全够用
  • 注册当天可以开发
  • 不能开通微信支付
  • 不能开通直播
  • 部分商业类目不可用

企业开发者

需要营业执照,认证费 300 元/次

  • 可开通微信支付
  • 可开通直播能力
  • 全部服务类目可用
  • 可申请企业认证标识
  • 需要营业执照
  • 认证需 1-3 个工作日
02

获取配置信息

把以下信息填好保存,Agent 开发时会用到全部四项

AppID 必填

小程序唯一身份标识,wx 开头的 18 位字符串

在哪里找: 微信公众平台 → 开发 → 开发管理 → 开发设置 → AppID

代码上传密钥 .key 必填

CI 工具上传代码时用的凭证,用于替代开发者工具手动上传

在哪里找: 微信公众平台 → 开发 → 开发管理 → 开发设置 → 小程序代码上传 → 生成密钥 → 下载 .key 文件
同一页面需开启 IP 白名单豁免:在「小程序代码上传」设置里,把「IP 白名单」关闭(或把 Agent 服务器 IP 加入白名单),否则 miniprogram-ci 上传会报 IP 不在白名单错误。 去公众平台设置
点击或拖拽上传 .key 文件

云开发环境 ID 必填

云函数、数据库、存储都在这个环境里运行

⚠️ 必须在微信开发者工具里开通,不能用腾讯云控制台
在腾讯云控制台创建的环境无法被小程序调用,会报「没有权限,请先开通云开发」。必须通过微信开发者工具开通,才能与你的 AppID 自动绑定。
还没有云环境?在微信开发者工具里开通(4步):
  1. 下载安装 微信开发者工具 ,用注册小程序的微信扫码登录,填入你的 AppID
  2. 顶部菜单栏点击「云开发」按钮 → 点「开通
  3. 填环境名称,选「按量计费」(有免费额度)→ 确定,等待约 1-2 分钟初始化
  4. 初始化完成后,在云开发控制台左上角复制「环境 ID」(格式:cloud1-xxxxxx
环境 ID 格式:cloud1-abc123456,在微信开发者工具「云开发控制台」左上角

选择云函数的部署方式

这决定了 Agent 用哪种方法帮你把代码推送到云端

方式 A · AppSecret 网页版 AI 请选这个

Agent 用 AppSecret 在云端直接部署,全程无需开终端

方式 B · 本地扫码 仅限本地 Agent

本地执行 tcb login 扫码授权,适合 Cursor / VS Code

03

环境测试

在开始正式功能开发之前,先验证前端、云函数、数据库、存储全部通畅

0 / 3 项必填已完成
这一步由 Agent 完成代码生成,你只需要执行两条命令 + 扫一次码

把下方的「测试指令」复制给 AI Agent,它会生成一个完整的环境验证小程序,包含对所有云服务的测试,并自动上传。

给 Agent 的测试开发指令
请先在第二步填写 AppID 和云环境 ID,指令会自动代入你的配置

Agent 做

  • 生成完整测试小程序代码
  • 用 miniprogram-ci 上传代码
  • 部署测试云函数
  • 创建测试数据库集合

你做(3步)

  • 打开 微信公众平台
    左侧菜单 → 版本管理 → 找到「开发版本」→ 点「设为体验版」→ 出现二维码
  • 用手机微信扫码,打开测试小程序
  • 看页面里 5 项是否全部显示 ✅

测试覆盖项

  • 前端页面渲染
  • wx.login 云函数调用
  • 数据库写入 & 读取
  • 云存储上传 & 显示
04

功能开发

填写需求表单 → 生成完整需求文档 → 交给 Agent → Agent 写代码并自动部署

A 你要做什么类型的小程序
B 核心功能描述
怎么写更好?

用大白话写,不需要专业术语。
每行一个功能,写清楚「谁做什么、达到什么效果」即可。

✦ 参考示例
1. 微信一键登录,记住登录状态
2. 创建群组,用邀请码邀请成员加入
3. 发布图文内容,支持点赞和评论
4. 个人主页展示发布的内容和统计数据
5. 管理员可以删除违规内容,普通用户只能看
6. 首页展示最新内容列表,下拉刷新
7. 消息通知:有人评论或点赞时收到提醒

点击示例右侧 + 可追加到输入框

C 页面与导航结构
填写后实时预览
D 视觉风格偏好
温暖亲切橙/暖橙,适合家庭类
清新简洁绿/青,适合健康工具
专业商务深蓝/灰,适合B端
活力时尚紫/渐变,适合年轻人
极简黑白黑/白/灰,设计感强
E 数据与权限设计
F 其他补充说明
AI 增强:自动完善产品说明书 填入 API Key,让大模型把你的需求扩展成完整的产品文档
Agent 开发指令文档 等待填写
0% 完成

填写左侧表单后点击
「生成 Agent 开发指令文档」

05

优化调整与正式上线

测试没问题后提交审核,上线后继续迭代

如何有效向 Agent 反馈问题

描述越清晰,Agent 修复越准确。推荐用这个模板:

Bug 反馈模板
【问题描述】
在哪个页面,做了什么操作,出现了什么现象。
例如:在「家庭管理」页,点击「生成邀请码」按钮,
页面没有反应,也没有提示。

【期望效果】
应该出现什么结果。
例如:应该弹出一个邀请码,可以复制分享。

【截图/录屏】
(粘贴截图)

【手机型号 / 微信版本】
例如:iPhone 15 / 微信 8.0.50

【是否必现】
每次都会出现 / 偶尔出现

迭代流程

你:描述问题或新需求
Agent:定位修复,生成新代码
Agent:CI 上传 + tcb 部署
你:手机扫码验证结果

正式上线步骤

功能测试没问题后,4 步完成正式发布

1

Agent 上传正式版代码

告诉 Agent「请上传正式发布版本,版本号 1.0.0」,Agent 执行 miniprogram-ci 上传

2

登录公众平台提交审核

打开微信公众平台

版本管理 → 开发版本 → 提交审核,填写功能说明和测试账号

3

等待微信审核

通常 1~7 个工作日,结果通过注册邮箱通知。被拒绝时查看拒绝原因,修改后重新提审

审核通过 → 点击发布 🎉

版本管理 → 审核版本 → 发布,小程序正式上线,任何用户可以通过微信搜索到

审核常见拒绝原因
  • 功能描述不清晰或与实际不符
  • 测试账号没有提供或无法登录
  • 涉及特殊类目未提供资质材料
  • 页面有无法点击的按钮或明显 BUG

规范手册

Agent 开发时遵循的标准目录结构、云函数规范、数据库设计规范。下载模板工程时已内置。

标准目录结构
项目根目录/
├── app.js              全局入口,初始化云开发
├── app.json            页面路由 + 分包 + tabBar
├── app.wxss            全局样式变量
├── project.config.json AppID + 云函数目录配置
├── config/
│   ├── env.js          云环境ID配置(必改)
│   └── constants.js    角色、活动类型等常量
├── utils/
│   ├── cloudApi.js     云函数统一调用封装
│   ├── storage.js      本地缓存 + 演示兜底
│   └── date.js         日期工具
├── pages/              主包页面(tabBar页必须在这里)
│   ├── splash/         启动分流页
│   ├── login/          登录页
│   ├── home/           首页
│   └── ...
├── packageFamily/      分包A(家庭协作类低频页)
├── packageOps/         分包B(操作类低频页)
└── cloudfunctions/     云函数目录(后端)
    ├── login/
    ├── createFamily/
    └── ...
云函数标准结构
const cloud = require('wx-server-sdk');
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
const db = cloud.database();

exports.main = async (event, context) => {
  // 1. 获取调用者 OpenID(不可伪造)
  const { OPENID } = cloud.getWXContext();

  // 2. 解构前端参数
  const { param1, param2 } = event;

  // 3. 权限验证(所有写操作必做)
  const userRes = await db.collection('users')
    .where({ _openid: OPENID }).get();
  const user = userRes.data[0];
  if (!user) throw new Error('请先登录');

  // 4. 业务逻辑
  const result = await db.collection('xxx')
    .add({ data: { ...param1, createdAt: Date.now() }});

  // 5. 返回统一结构
  return { success: true, data: result };
};
必须:用 getWXContext().OPENID 鉴权,不信任前端传参
必须:所有写操作前验证用户权限
建议:返回 { success, data } 统一格式
禁止:AppSecret 写入代码文件
云数据库设计规范
users 用户表:openid / nickName / avatarUrl / defaultFamilyId
families 家庭表:name / ownerUserId / memberCount
family_members 成员关系:familyId / userId / role / permissions
children 孩子档案:familyId / name / age / interests
family_invites 邀请码:inviteCode / expiredAt / usedCount
schedules 日程:familyId / date / startTime / activityType
时间戳统一用 Date.now() 毫秒数
删除用 status:'removed' 软删除
图片只存 fileID,不存 URL
字段名用小驼峰 camelCase
云存储使用规范
// 上传图片,返回 fileID 存数据库
async function uploadImage(cloudPath) {
  const { tempFiles } = await wx.chooseMedia({
    count: 1, mediaType: ['image']
  });
  const { fileID } = await wx.cloud.uploadFile({
    cloudPath,           // 'users/uid/avatar.jpg'
    filePath: tempFiles[0].tempFilePath
  });
  return fileID;  // 存入数据库,不要存 URL
}
代码包内只放小图标(<200KB)
用户上传的图片全部走云存储
路径格式:业务类型/recordId/文件名
禁止把大图放进代码包,主包限 2MB
上线前检查清单
0 / 0 项已确认
下载完整模板工程

包含上述全部规范、15个云函数、标准目录结构,导入开发者工具即可用