微信小程序开发从入门到发布全过程

本文主要介绍如何从零开始搭建微信小程序并发布的过程。Git项目地址
扫码体验Demo小程序
gh_befcdcf5b827_258.jpg

一、申请账号

根据官方文档和指引填写信息和提交相应的材料,申请拥有自己的小程序账号。

二、下载微信开发者工具

微信开发者工具支持Windows和MacOS,选择对应版本下载安装即可。

三、新建云开发小程序项目

  • 打开开发者工具选择新建项目
  • AppID在微信公众平台->开发->开发设置中获取
  • 后端服务选择小程序·云开发

微信小程序开发从入门到发布全过程_第1张图片

四、开通云开发、创建环境

在开发者工具工具栏左侧,点击“云开发”打开云控制台,并根据提示开通云开发、创建云环境。

微信小程序开发从入门到发布全过程_第2张图片

五、配置环境

在app.js中使用`wx.cloud.init()`初始化云开发, env为环境ID(开发者工具栏->云开发->设置->环境设置->环境ID)
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        env: 'test-develop-il4iu',
        traceUser: true
      })
    }
  }
})

六、创建首页

微信小程序开发从入门到发布全过程_第3张图片

  • 在miniprogram->pages文件夹下新建index文件夹,再在index文件夹上右键选择新建Page,输入index,则得到index.js(js)、index.json(页面配置)、index.wxml(html)、index.wxss(css)四个文件。
    微信小程序开发从入门到发布全过程_第4张图片
  • 在app.json中加入index路径(pages/index/index)
  • 代码详见Git
  • 本项目已下好对应的组件,如需其它的请在该 组件地址 下载

七、创建添加用户信息云函数

微信小程序开发从入门到发布全过程_第5张图片

  • 在cloudfunctions文件夹右键选择新建Node.js云函数,输入addUser
  • 在cloudfunctions文件夹右键选择新建Node.js云函数,common
  • 在cloudfunctions文件夹右键选择新建Node.js云函数,输入modelFunc
  • 在三个云函数目录(addUser,common, modelFunc)下执行依赖 npm install --save wx-server-sdk@latest, 每次新建云函数后都要在对应目录下执行
  • 云函数之间使用async awit方式同步调用,云函数不能用require文件方式直接调用方法,要用cloud.callFunction
  • 获取北京时间的方法为 当前时间 + (格林威治时间和本地时间之间的时差) - 时差, 即getTime() + getTimezoneOffset() * 60 * 1000 - (-8 * 60 * 60 * 1000)
  • 数据库插入记录用db.collection('user').add(), 更新记录用db.collection('user').doc(userId).update()
  • 代码详见Git

八、本地云函数调试

  • 选择云开发环境,右击cloudfunctions选择当前环境为你创建的云开发环境。
  • 开启云函数本地调试,右击cloudfunctions选择开启云函数本地调试,选择云函数(如addUser), 点击开启本地调试。备注:在本地运行时如果云函数还没有上传到服务器时,则所有云函数都要开启本地调试才能访问到数据
  • 编译小程序,回到开发者工具,在开发者工具栏中选择爬虫(编译)按钮编译。

微信小程序开发从入门到发布全过程_第6张图片

微信小程序开发从入门到发布全过程_第7张图片

九、云函数上传云服务器

  • 将cloudfunctions文件夹的所有云函数依次右击选择上传云端并部署:云端部署依赖。一定要一个个的慢慢传,一个传完了再上传下一个
  • 上传代码,在开发者工具栏中选择上传。

    微信小程序开发从入门到发布全过程_第8张图片

十、发布上线小程序

  • 提交审核,微信公众管理后台->管理->版本管理->开发版本->提交审核
  • 发布,审核通过后再审核版本中点击发布

十一、数据库表结构

user表

字段 类型 名称 举例
_id string id(自动生成) 9832423jdd34o232o423
openid string 用户唯一标志 oiouwiwqe1231dadsdas
username string 用户名 zhangsan
create_at string 创建时间 2020-05-10 11:00:00
update_at string 更新时间 2020-05-10 11:00:00
{        
    "_id":"9832423jdd34o232o423",
    "openid":"haksdasodasda89819283120312",
    "username":"zhangsan",
    "create_at":"2020-05-10 16:32:13",
    "update_at":"2020-05-10 16:32:13"
}

subject表

字段 类型 名称 举例
_id string id(自动生成) 9832423jdd34o232o423
question string 问题 烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?
option array 选项 -
- key string 选项 Key A
- value string 选项值 从中间开始烧
answer string 答案 C
analysis string 解析 两头一起烧,烧完就是半小时
position number 位置,用来排序 1
status string 状态(1-发布,0-未发布) 1
create_at string 创建时间 2020-05-10 11:00:00
update_at string 更新时间 2020-05-10 11:00:00
{
    "question":"一个男科学家回忆说:他和他的爱人去南极考察,但是他中途中了雪盲,什么都看不到。所以他们在南极游荡,最后只能生吃企鹅来维持生命。但是他爱人最后还是没有挺住,最后死了。他一个人继续走了一天,最后被救了回去。第二年他特意去企鹅店吃企鹅,为了纪念他的妻子,但是回来后竟然自杀了。为什么?",
    "option":[{"key":"A","value":"知道答案"},{"key":"B","value":"不知道答案"}],
    "answer":"A",
    "analysis":"味道不一样,知道在南极吃的是他爱人的肉",
    "status":"1",
    "position":27,
    "create_at":"2020-05-07 15:46:36",
    "update_at":"2020-05-07 15:46:36"
}

record表

字段 类型 名称 举例
_id string id(自动生成) 9832423jdd34o232o423
user_id string user表_id oiouwiwqe1231dadsdas
answer_fail array 失败的subject表_id ["2f826e24"]
answer_success array 成功的subject表_id ["2f826e24"]
create_at string 创建时间 2020-05-10 11:00:00
update_at string 更新时间 2020-05-10 11:00:00
{
    "_id":"05f2c36f5eb8b748008593f308ae5027",
    "user_id":"5e847ab25eb8b730009716265940755f",
    "answer_success":["2NqPCHgKe4Gej83LAK6tDq44OCGrQhgzFSGrU4ItYJqi1zlB"],
    "answer_fail":["2NqPCHgKe4Gej83LAK6tDq44OCGrQhgzFSGrU4ItYJqi1zlB"],
    "create_at":"2020-05-11 10:24:08",
    "update_at":"2020-05-11 10:24:21"
}

你可能感兴趣的:(微信小程序,微信开发)