微信小程序云开发(含微信支付+管理后台+数据库+存储+云函数)

0 阅读5分钟

完整开发流程 + 避坑注意事项

最近动手做了小程序severless开发,将整个过程记录下。我给你整理最实用、可直接落地、企业级的全套流程,从0到上线全覆盖,无废话、一步到位。好处就是不用考虑服务器,便于计算,cdn等问题,直接购买套餐就好了


一、前期准备(必须先做)

1. 注册与开通

  1. 注册微信小程序(公众号/小程序平台)
  2. 开通微信支付商户号(必须完成企业认证)
  3. 进入小程序后台 → 开发 → 云开发 → 开通云开发环境
    • 推荐选择按量付费(更稳)
    • 记录:环境ID、云开发AppID

2. 必备权限开通

  • 云开发:数据库、云函数、云存储、静态托管
  • 微信支付:API密钥、商户序列号、客户端证书
  • 小程序:服务类类目、支付权限
  • 安全域名:把云开发默认域名加入小程序request域名白名单

二、整体架构(最标准企业架构)

前端小程序
   ↓
云函数(业务逻辑 + 微信支付 + 鉴权)
   ↓
云数据库 / 云存储
   ↓
Web管理后台(静态托管 + 管理员云函数)

一句话总结: 小程序只做展示,所有逻辑、支付、数据库写操作全部放云函数,绝对安全。


三、完整开发流程(按顺序做)

第1步:初始化项目(小程序端)

// app.js
wx.cloud.init({
  env: '你的环境ID',
  traceUser: true
})

第2步:设计数据库(最关键)

标准表结构(直接照抄)

  • users 用户表(openid、昵称、手机号、角色、创建时间)
  • orders 订单表(订单号、openid、金额、状态、支付时间、商品信息)
  • products 商品表
  • admin 管理员表
  • config 系统配置表(支付开关、公告等)

数据库权限设置(安全)

  • 所有写操作必须通过云函数,小程序端只允许读
  • 管理后台用管理员云函数操作全表

第3步:云函数开发(核心)

必备云函数清单

  1. login → 用户登录/自动注册
  2. createOrder → 创建订单 + 统一下单(微信支付)
  3. payNotify → 支付回调(最重要)
  4. getOrderList → 获取订单
  5. adminLogin → 管理后台登录
  6. adminGetData → 管理后台数据接口

云函数通用结构

const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })

exports.main = async (event, context) => {
  const { OPENID } = cloud.getWXContext() // 自动获取用户openid
  // 业务逻辑
  return { code:200, data:... }
}

第4步:微信支付开发(最容易踩坑)

支付流程(标准)

  1. 小程序端请求 → createOrder云函数
  2. 云函数调用微信支付统一下单
  3. 返回支付参数给小程序
  4. 小程序调起wx.requestPayment
  5. 微信支付服务器回调payNotify云函数
  6. 云函数修改订单状态为“已支付”

支付配置(云函数里)

const payConfig = {
  appid: '小程序APPID',
  mchid: '商户号ID',
  key: 'APIv3密钥',
  serialNo: '商户证书序列号',
  privateKey: '商户证书私钥'
}

还可以在云开发中的模板中心,选择小程序支付模板,按照说明填写参数,填写完保存后,就会自动生成云函数,小程序集成就行。

支付必开权限

  • 商户号绑定小程序APPID
  • 云函数添加支付回调信任域名
  • 开启APIv3权限

第5步:云存储(图片/文件)

  • 商品图、头像、凭证都放云存储
  • 云存储安全规则:
    • 仅登录用户可上传
    • 所有图片公开读取

第6步:管理后台(Web+静态托管)

云开发自带静态网站托管,直接部署后台:

  • Vue/Uniapp 后台
  • 管理员登录鉴权(云函数验证角色)
  • 订单管理、商品管理、数据统计

部署方式: 打包 → 上传到云开发静态托管 → 自动生成域名


四、管理后台开发要点

  1. 云开发Web SDK
  2. 管理员账号存在admin
  3. 所有接口必须鉴权
  4. 静态托管域名加入安全来源

五、上线发布流程

  1. 云函数全部上传并部署
  2. 数据库创建索引(加速查询)
  3. 配置安全规则
  4. 小程序代码上传提交审核
  5. 开通云开发按量付费
  6. 配置微信支付正式参数

六、超级重要注意事项(90%的人踩坑)

1. 安全类(必看)

  • 绝对不要在小程序端直接操作数据库
  • 绝对不要把支付密钥放在前端代码
  • 云函数必须校验OPENID,防止伪造请求
  • 管理后台必须加角色鉴权
  • 数据库安全规则必须限制写入权限

2. 微信支付类

  • 支付回调payNotify必须正确签名验证
  • 订单号必须唯一,用Date.now()+随机数
  • 支付成功必须幂等处理,避免重复加款
  • 测试先用沙箱环境

3. 云函数坑

  • 云函数默认超时时间3秒,复杂业务改到20秒
  • 批量操作数据库用db.collection().add()数组
  • 云函数依赖要在文件夹内npm install

4. 数据库坑

  • 单条数据上限1MB
  • 查询单次最多100条
  • 大数据量必须加索引
  • 不要存大文本,放云存储用URL

5. 小程序坑

  • 所有域名必须加入白名单
  • 支付必须添加支付类目录
  • 测试必须用真机调试

6. 管理后台坑

  • 静态托管必须配置安全来源
  • Web端调用云函数必须匿名登录
  • 跨域问题在云开发控制台配置CORS

七、我可以直接给你生成的全套源码

你只要说一声,我可以一次性给你生成:

  1. 全套云函数(登录、创建订单、支付、回调、管理后台接口)
  2. 数据库结构(可直接导入)
  3. 小程序端支付页面代码
  4. 管理后台接口模板
  5. 微信支付配置完整代码

八、一句话总结(最核心)

小程序只负责展示,云函数负责所有业务逻辑与支付,数据库只给云函数写权限,管理后台用静态托管+管理员云函数,安全又稳定。