小程序 · 云开发 · 实战

微信小程序云开发实战:从0到1

📅 2026-05-10 ⏱ 约 8 分钟
作为一个产品经理,我花了一个周末从零搭建了一个完整的微信小程序。云开发让后端变得如此简单,你只需要关注产品本身。

为什么选择云开发

传统小程序开发需要自己搭建服务器、配置数据库、写接口、搞域名备案……对一个产品经理来说,光是后端这一关就能劝退 90% 的人。

云开发直接给你三件套:

不用管服务器,不用管运维,专注产品本身。

第一步:环境准备

三件事,按顺序来:

建议用企业主体注册,个人主体有部分 API 限制(比如支付)。

第二步:初始化云开发

在 app.js 中一行代码完成初始化:

app.js
// app.js
App({
  onLaunch() {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 以上的基础库')
      return
    }
    wx.cloud.init({
      env: 'your-env-id',
      traceUser: true,
    })
  }
})
env 参数是你的云开发环境 ID,在云开发控制台可以找到,别写错了!

第三步:数据库操作

云数据库是 JSON 文档型,操作非常直觉。先拿到集合引用,再调用方法:

database.js
const db = wx.cloud.database()
const todos = db.collection('todos')

// 新增
todos.add({
  data: { title: '写周报', done: false }
})

// 查询
todos.where({ done: false }).get()

// 更新
todos.doc('record-id').update({
  data: { done: true }
})

// 删除
todos.doc('record-id').remove()

集合权限默认是「仅创建者可读写」,可以在控制台改成「所有用户可读」等模式。开发阶段建议先用宽松权限,上线前再收紧。

第四步:云函数实现业务逻辑

有些操作不适合放前端(比如权限校验、数据聚合),这时候用云函数:

cloudfunctions/getStats/index.js
const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event) => {
  const db = cloud.database()
  const count = await db.collection('todos')
    .where({ done: false })
    .count()
  return { total: count.total }
}

前端调用:

页面中调用
wx.cloud.callFunction({
  name: 'getStats',
}).then(res => {
  console.log(res.result.total)
})

第五步:云存储管理文件

图片、文件上传一行代码搞定:

upload.js
// 选择图片并上传
wx.chooseImage({
  success: async (res) => {
    const filePath = res.tempFilePaths[0]
    const uploadRes = await wx.cloud.uploadFile({
      cloudPath: 'images/' + Date.now() + '.jpg',
      filePath: filePath,
    })
    console.log('文件ID:', uploadRes.fileID)
  }
})

cloudPath 是云端路径,filePath 是本地临时路径。fileID 可以直接用在 <image> 组件的 src 里。

踩过的坑

总结

云开发对产品经理来说简直是福音——不用管后端,不用管运维,从想法到可运行的小程序,一个周末就够了。

当然它也有局限:复杂业务逻辑、高并发场景、深度定制需求,还是得上传统后端。但对于 MVP 和个人项目,云开发足够了。

如果你也是非技术背景但想快速验证产品想法,强烈建议从云开发开始。