微信小程序云开发学习指南(一)
1、云开发
开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
2、云开发的准备工作
新建云开发项目
新建项目选择一个空目录,填入 AppID,选择 后端服务 “小程序-云开发”,点击创建即可。
云开发小程序与普通 小程序的不同点:
(1)不可以使用 测试号,必须填写AppID;
(2)project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录
(3)cloudfunctionRoot 指定的目录有特殊的图标
(4)云开发能力从基础库 2.2.3 开始支持开通云开发,并创建环境
新建项目后,点击开发者工具【云开发】,进入云开发控制台,如下图,我们在进行云开发之前,需要先创建一个云开发环境。模拟体验云开发小程序功能
开通创建环境后,即可以开始在模拟器上操作小程序体验云开发提供的部分基础能力演示查看控制台
(1)运营分析:查看云开发监控、配额使用量、用户访问情况
(2)数据库:可以查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等
(3)存储管理:查看和管理存储空间
(4)云函数:查看云函数列表、配置、日志
云函开发控制台,如图
云函数列表,如图:
- 销毁云开发环境
3、云开发提供的支持
支持 | 作用 | 说明 |
---|---|---|
云函数 | 无需自建服务器 | 在云端运行的 代码,微信私有协议天然鉴权,开发者只需编写自己的业务逻辑即可 |
数据库 | 无须自建数据库 | 可以在小程序前端操作,也能在云函数中读写的 JSON 数据库 |
存储 | 无需自建存储 | 在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 |
云调用 | 原生微信服务集成 | 基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力 |
3-1 云函数
云端运行环境为 Node.js,开发时请安装 Node.js
和 npm
。
使用云开发需在云函数目录中安装 wx-server-sdk
安装命令npm install --save wx-server-sdk
project.config.json配置文件中,
小程序项目主目录:miniporgram/
云函数所在目录:cloudfunctions/
使用云开发的项目结构
部署云函数
<!--pages/myCloud/index.wxml-->
<view><button type="primary" bindtap="addData">添加数据</button><button type="primary" bindtap="deleteData">删除数据</button><button type="primary" bindtap="updateData">更新数据</button><button type="primary" bindtap="getData">查询数据</button><button type="primary" bindtap="changeData">获取云端数据</button>
</view>
点击相应的按钮,对数据库数据执行对应的操作,如图:
云函数入口文件 dataOpera.js
如果入口文件有修改,需要手动设置更新,选中该入口文件,右击【云函数增量上传:更新文件】
const cloud = require('wx-server-sdk');
cloud.init(); //初始化必须在引入模块之后const db = cloud.database();
const _ = db.command;// 云函数入口函数
exports.main = async (event, context) => {try {return await db.collection("clouddata").where({// 年龄大于18的age:_.gt(18)}).update({data:{// 如果年龄大于18,就给该条数据添加字段info,并赋值"成年了"info:"成年了"}})} catch (error) {console.log(error);}
}
云函数目录下配置文件
3-2 数据库
云开发提供了一个 JSON 数据库,数据库中的每条记录都是一个 JSON 格式的对象。
一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,
数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
如图所示:
(1)添加数据到数据库中
// 添加数据到集合中addData(){db.collection("clouddata").add({data:{// name:"托尼",// age:23,// sex:"男",// height:"180cm"name:"John",age:26,sex:"男",height:"182cm"}}).then(res=>{console.log(res);});},
数据库中添加了一条新的记录如下图:
(2)删除数据库中数据
// 删除数据deleteData(){db.collection("clouddata").doc("ee99daee5ee717f30016d74934ac0c17").remove({data:{name:"汤姆"}}).then(res=>{console.log(res);})}
控制台显示已成功删除一条记录
(3)更新数据库中的数据
// 更新数据updateData(){// .doc("")中的字符串是每条数据的id// 将id为e984b69a5ee71c67001a50be49d54d19的数据中age的值修改为18db.collection("clouddata").doc("e984b69a5ee71c67001a50be49d54d19").update({data:{age:18},success:res=>{console.log(res);}});},
更新之前的数据
更新之后的数据
(4)查询数据
// 查询数据getData(){// 获取单条数据记录 db.collection("clouddata").doc("ab79f8175ee745730016feb77d917ede").get({success:res=>{console.log("单条记录",res);}}) // 获取多条数据记录db.collection("clouddata").where({_openid:"oUONt5fLycxm4CytuY1TEKWTTSyE"}).get({success:res=>{console.log("多条记录",res);}})// 获取数据库中年龄大于20的记录db.collection("clouddata").where({// 注意:数据库中字段的数据类型,在对数据库进行修改/更新操作时,// 先看一下确认数据库中字段的数据类型,避免不必要的错误。比如age是number类型,这里要注意age:_.gt(20)}).get({success:res=>{console.log(res);}})},
获取单条记录
获取多条记录
微信小程序云开发学习指南(一)相关推荐
- 微信小程序--云开发学习
这两周因为没有布置任务,主要进行微信小程序云开发的学习 ················· 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的原生 ...
- 微信小程序云开发学习
1.参考视频教程:微信小程序云开发基础到实战 云数据库 云函数 云存储 云调用[新视觉]_哔哩哔哩_bilibili 2.参考笔记: 本来想自己做一份笔记的,后来发现已经有人做了份非常不错的笔记了,再 ...
- 2021微信小程序云开发学习路线【视频加笔记】
从零开始学习小程序开发,小程序云开发的学习资料和路线!!想入门小程序请看下面内容~ 包括:云数据库,云函数,云托管,小程序云开发和服务器开发的项目实战,零基础学习JavaScript,小程序语法,cm ...
- 微信小程序云开发 mysql_微信小程序云开发学习笔记(一)云数据库
云开发配置的环境:cloud-learning 云开发环境初始化准备 需要: APPID 操作: 在创建项目时,填入APPID并选择不使用云函数 进入到开发者页面,点击左上角的云开发并选择开通 设置云 ...
- 微信小程序云开发学习(一)/ 设置云开发 与 数据查询
1.创建项目 这里我选的第二个 :不使用云服务,生成的目录和正常的小程序目录一样,然后自己新建一个云环境的目录 cloud,填上自己的appid 如果选了第一种 小程序与开发的话 ,目录他自会自动生成 ...
- 微信小程序云开发学习笔记
(官网) 1.创建小程序选择云开发 对应的环境 在app.js中配置环境Id //app.js App({onLaunch: function () {if (!wx.cloud) {console. ...
- 微信小程序云开发学习笔记(二)云函数
一.创建一个云开发的小程序 1. 如下图所示创建小程序 2. 删除无关文件 删除前: 删除后: 3. 删除无关代码 index.wxml index.wxss 内的代码全部清空,index.js保留如 ...
- 微信小程序云开发学习笔记No.03——(文件存储)
上传文件 wx.cloud.uploadFile //回调风格的API上传文件,会返回一个uploadTask对象 const uploadTask = wx.cloud.uploadFile({cl ...
- 个人微信小程序云开发总结心得
文章之前: 先附上通过微信小程序云开发做出的两个小程序,有兴趣的朋友可以微信扫码进去看看,欢迎登录学习 . 框架采用移动端常用UI: Vant 微信云开发官方文档:微信开发文档 相关的npm包导入方法 ...
最新文章
- spark-scheduled调度算法
- Cisco产品线一览
- Python程序全局观--以温度转换为例
- 一机一码加密软件_加密软件还有哪些功能?
- JAVA程序设计心得001
- 实现mvcc_一文读懂 etcd 的 mvcc 实现
- PowerDesigner V16.5 安装教程以及汉化(数据库建模)
- zookeeper能做什么?
- 3.2 指数型生成函数
- paa 计算机语言,Paa Robertingeri
- SpringSecurity安全框架的笔记
- Android自带的抓包工具tcpdump
- 线性代数分块矩阵公式
- 国内外从事CV相关的企业
- 21.iozone的使用与介绍
- 微信扫一扫地标识别技术揭秘
- 网络共享查看其他计算机取消密码,Win7局域网访问需要密码 win7取消共享密码的方法...
- 服务器项目混淆,压缩和混淆node.js服务端代码
- 轮廓图编程-自定义QChartView
- elementUI使用v-for创建无限级导航栏—— 递归组件
热门文章
- RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation——精读笔记
- 2048小游戏项目总结
- Windows安装mysql-8.0.30-winx64.zip
- 100个标题模板,让你分分钟写出10万+爆文!
- 北京工作居住证办理条件及用途
- 如何远程公司 居家办公日渐常态 企业如何做好远程办公
- python压缩pdf_【转】PDF 用python 压缩
- 打印U盘文件计算机有记录吗,技术员教你win10系统查看打印机打印历史记录的问题...
- html中banner属性,banner是什么
- docker:配置 Docker 加速器