← 返回首页

如何从 0 开始搭建、部署并上线一款微信小程序

📝 _

一、准备阶段

开发微信小程序前,需要先准备基础账号和开发环境。

首先进入微信公众平台注册小程序账号。注册完成后,在小程序后台获取 AppID。AppID 是小程序的唯一身份,后续在微信开发者工具中创建项目时需要使用。

然后下载并安装微信开发者工具。开发者工具用于编写代码、调试页面、上传代码、管理云开发环境等。

如果小程序需要保存用户数据,例如用户信息、家庭数据、订单数据、任务记录等,建议开启微信云开发。云开发可以提供数据库、云函数、云存储等能力,不需要自己单独购买服务器,适合个人开发者和早期项目快速上线。

二、创建小程序项目

打开微信开发者工具,选择“新建项目”。

填写项目名称、本地目录和 AppID。项目类型选择“小程序”。如果使用云开发,可以勾选“使用云开发”。

创建完成后,一个基础小程序项目通常包含以下文件:

app.js
app.json
app.wxss
pages/
project.config.json

其中:

app.js 是小程序全局逻辑文件。
app.json 用于配置页面路径、窗口样式、底部导航等。
app.wxss 是全局样式文件。
pages 目录用于存放各个页面。
project.config.json 是项目配置文件。

三、设计产品功能

在写代码前,需要先明确小程序的核心功能。

例如一款家庭补货小程序,可以规划以下功能:

微信登录
创建家庭
加入家庭
发布补货提醒
家庭成员认领购买
标记购买完成
查看历史记录
个人中心

功能不宜一开始做得太复杂。建议先完成最核心流程:

登录 -> 创建家庭 -> 发布提醒 -> 成员认领 -> 完成任务

等主流程跑通后,再逐步增加通知提醒、历史统计、权限管理等功能。

四、搭建页面结构

小程序通常由多个页面组成。可以按照功能划分页面,例如:

pages/index/index        首页,展示补货清单
pages/family/family      家庭页面,创建或加入家庭
pages/history/history    历史记录页面
pages/mine/mine          我的页面,展示账号和设置

然后在 app.json 中注册页面:

{
  "pages": [
    "pages/index/index",
    "pages/family/family",
    "pages/history/history",
    "pages/mine/mine"
  ]
}

如果需要底部导航,可以配置 tabBar

{
  "tabBar": {
    "color": "#777777",
    "selectedColor": "#16785F",
    "backgroundColor": "#ffffff",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "清单"
      },
      {
        "pagePath": "pages/family/family",
        "text": "家庭"
      },
      {
        "pagePath": "pages/history/history",
        "text": "记录"
      },
      {
        "pagePath": "pages/mine/mine",
        "text": "我的"
      }
    ]
  }
}

五、接入微信云开发

如果项目需要数据库,就需要接入云开发。

在微信开发者工具中打开“云开发”,创建云环境。创建完成后会得到一个云环境 ID,例如:

cloud1-xxxxxx

然后在 app.js 中初始化云开发:

App({
  onLaunch() {
    wx.cloud.init({
      env: "你的云环境ID",
      traceUser: true
    })
  }
})

这样小程序前端就可以调用云数据库和云函数。

六、设计数据库集合

数据库集合可以理解为数据表。不同业务数据应该放到不同集合中。

例如家庭补货小程序可以设计这些集合:

users             用户信息
families          家庭信息
family_members    家庭成员
supply_tasks      补货任务
common_items      常用物品

示例结构如下:

users

{
  "openid": "用户openid",
  "nickname": "用户昵称",
  "avatarUrl": "头像",
  "createdAt": "创建时间"
}

families

{
  "name": "我们家",
  "creatorOpenid": "创建者openid",
  "inviteCode": "邀请码",
  "createdAt": "创建时间"
}

family_members

{
  "familyId": "家庭ID",
  "openid": "成员openid",
  "role": "owner",
  "nicknameInFamily": "我",
  "notifyEnabled": true
}

supply_tasks

{
  "familyId": "家庭ID",
  "itemName": "米",
  "quantity": "一袋",
  "status": "pending",
  "createdBy": "发布人openid",
  "claimedBy": "",
  "createdAt": "创建时间"
}

七、编写云函数

云函数用于处理登录、创建家庭、加入家庭、发布任务等核心逻辑。

常见云函数包括:

login
createFamily
joinFamily
getHomeData
addSupplyTask
claimSupplyTask
cancelClaim
completeSupplyTask
getHistoryData

例如 login 云函数负责获取用户身份并写入用户表。

云函数的好处是:重要逻辑放在云端执行,更安全,也更方便统一管理数据库权限。

上传云函数时,在微信开发者工具中右键云函数目录,选择:

上传并部署:云端安装依赖

上传成功后,前端就可以通过以下方式调用:

wx.cloud.callFunction({
  name: "login",
  data: {}
})

八、连接前端和云端

前端页面不能只是展示 UI,还需要和云数据库、云函数连接。

例如用户点击“创建家庭”按钮时,前端应该调用 createFamily 云函数:

wx.cloud.callFunction({
  name: "createFamily",
  data: {
    name: "我们家",
    nicknameInFamily: "我"
  }
})

云函数创建成功后,数据库中应该新增家庭记录和成员记录。

首页加载时,可以调用 getHomeData 获取当前家庭、成员、补货任务和常用物品。

整个数据流程应该是:

用户操作页面
-> 前端调用云函数
-> 云函数读写数据库
-> 返回结果给前端
-> 页面刷新显示最新数据

九、配置数据库权限

开发阶段可以先使用较宽松的权限,方便测试。

例如:

所有用户可读写

等功能跑通后,正式上线前需要收紧权限。

更安全的做法是:

用户只能读写自己相关的数据
重要写入操作通过云函数完成

对于正式项目,建议大部分数据库写入都通过云函数完成,前端只负责调用接口,不直接随意写数据库。

十、调试核心流程

上线前必须完整测试主流程。

建议按以下顺序测试:

1. 微信登录是否成功
2. users 集合是否写入用户数据
3. 创建家庭是否成功
4. families 是否新增家庭数据
5. family_members 是否新增成员数据
6. 首页是否能识别已加入家庭
7. 是否能发布补货任务
8. supply_tasks 是否新增任务
9. 是否能认领任务
10. 是否能标记完成

如果某一步失败,要优先检查:

云函数是否上传成功
云环境 ID 是否正确
数据库集合是否存在
数据库权限是否允许读写
openid 是否正确获取
前端是否调用了正确云函数

十一、完善小程序资料

功能完成后,需要进入微信公众平台完善小程序资料。

通常需要填写:

小程序名称
小程序头像
小程序简介
服务类目
经营内容说明
版本描述
测试账号
隐私保护指引

例如家庭补货工具可以这样描述:

本小程序用于家庭日用品缺货备忘、补货提醒和成员认领管理。用户可记录米、油、纸巾等待购买物品,家庭成员同步查看并认领,不涉及商品销售、交易撮合或配送服务。

如果没有账号密码登录,可以填写:

测试账户:无需测试账号,微信授权登录后即可使用。
测试密码:无需密码。

十二、上传代码

在微信开发者工具中点击“上传”。

上传时需要填写版本号和版本描述,例如:

版本号:1.0.0
版本描述:当前版本支持微信登录、创建家庭、加入家庭、发布补货提醒、成员认领和完成记录等功能。

上传成功后,代码会进入微信公众平台的小程序后台。

十三、提交审核

进入微信公众平台后台,找到“版本管理”。

选择刚刚上传的开发版本,点击“提交审核”。

提交审核前,需要确认:

小程序名称和简介已填写
头像已上传
服务类目已选择
隐私协议已配置
页面可以正常打开
核心功能可以正常使用
没有测试文字或无效按钮
没有违规内容

如果小程序涉及用户信息、订阅消息、定位、支付等能力,需要按照要求补充对应说明。

十四、审核通过后发布

审核通过后,小程序后台会出现“发布”按钮。

点击发布后,小程序正式上线,用户就可以通过微信搜索、扫码、分享等方式访问。

上线后还需要持续观察:

用户是否能正常进入
云函数是否报错
数据库是否正常写入
页面是否有卡顿
用户反馈是否集中在某个功能

十五、上线后的优化方向

第一版上线后,不要急着做太多复杂功能。可以先优化体验。

例如:

减少用户点击步骤
优化首页视觉
增加常用物品
支持家庭邀请分享
增加订阅消息提醒
增加历史记录
优化成员认领状态
增加异常提示

产品早期最重要的是让核心功能稳定可用。

对于家庭补货类小程序,最关键的体验是:

发现缺货 -> 一键提醒 -> 家人认领 -> 避免重复购买

只要这条流程顺畅,小程序就具备了真实使用价值。

总结

从 0 开始上线一款微信小程序,可以按照以下流程推进:

注册小程序账号
安装微信开发者工具
创建项目
设计页面和功能
开通云开发
创建数据库集合
编写云函数
连接前端和云端
测试核心流程
完善小程序资料
上传代码
提交审核
审核通过后发布

小程序开发不是一次完成的,而是先把核心功能跑通,再不断优化体验。第一版不需要追求功能很多,但必须保证主流程稳定、数据可靠、用户能看懂并愿意使用。

评论