云开发三大基础能力

  • 云函数:运行在微信服务器上的函数,处理微信相关操作有天然优势,如获得用户信息异常方便(以前服务端解析很麻烦)
  • 数据库:一个小程序可以直接操作的JSON数据库,可以直接操作数据库,不在需要服务端了。
  • 存储:用来存储文件和图片

阅读本文之前最好对微信小程序有基本的了解,这个能够更加方便理解,如果能有一点点数据库知识那就更好了

云函数(配置)

  第一步: project.config.json 中进行添加字段 "cloudfunctionRoot": "cloudfunctions/"  这个字段主要是为了指定存放云函数的文件夹 "cloudfunctions/"

  第二步: app.json 中添加 "cloud": true 指定是云开发模式

  第三步: 添加云函数

  第四步:添加对应的函数后,会下载依赖,这一步玩过node及npm的都知道,就是下载依赖,现在下载的是微信小程序官方的sdk。。。

    等下载完成后,点开云开发控制台的云函数一栏就会发现函数名称已经有了test这个云函数了。。。具体看下图所示:

    这个test云函数就是我们刚刚添加的云函数,此时在开发者工具中打开test目录下的index.js文件,就可以进行返回我们需要返回的内容。。。如下:测试

    这里如果是利用了获取授权的按钮之后就会在return中返回用户登录后的openId和appId,所以我们就return默认的event对象以及context(上下文)对象。主要是为了看看小程序默认提供的对象包含了什么,我们可以用什么???

    保存完了,还不够因为这个云函数我们都说了是小程序提供的服务平台来运行我们做的类似于接口的函数,所以我们必须得上传(每一次的更改操作都要上传☞),具体看下图:

等待上传完毕,在pages下index.wxml中需要做的是

<button open-type="getUserInfo" bindgetuserinfo="getUserInfgo">授权登录</button>

    由于获取授权需要配合点击后js的操作,所以在index.js中添加对应的getUserInfo的方法,并且注意这里的wx.cloud.callFunction方法,因为这是调用云函数的方法。

getUserInfo: function(e){wx.cloud.callFunction({name: "test",//这里填写云函数的名字data: {userInfo: e // 这里是把参数e直接传给test函数处理},success: res => {console.log(res) // 返回的文本如下图所示:},fail: err => {console.log(err)}})}

可以看到输出的信息中会返回用户的openId以及appId还有对应云函数认证的信息。。。具体的实际可以自行测试查看

数据库

     1.插入数据

//首先  要实例一个数据库对象let db = wx.cloud.database();
db.collection('test').add({data: {count: 1},success: res => {// 在返回结果中会包含新创建的记录的 _idthis.setData({counterId: res._id,count: 1})wx.showToast({title: '新增记录成功',})console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)},fail: err => {wx.showToast({icon: 'none',title: '新增记录失败'})console.error('[数据库] [新增记录] 失败:', err)}})

这是利用添加数据的方法进行添加的数据,此时可以在云开发控制台看到对应得数据:下图

 2.删除数据

//删除数据:
const db = wx.cloud.database()removeData:function(){db.collection('test').doc(this.data._id).remove({success: res => {wx.showToast({title: '删除成功',})this.setData({counterId: '',count: null,})},fail: err => {wx.showToast({icon: 'none',title: '删除失败',})console.error('[数据库] [删除记录] 失败:', err)}})},

3.修改数据

//修改数据const db = wx.cloud.database()updateData:function(){const newCount = 1000db.collection('test').doc(this.data._id).update({data: {count: newCount},success: res => {console.log(res)this.setData({count: newCount})wx.showToast({title: '修改记录成功',})},fail: err => {icon: 'none',console.error('[数据库] [更新记录] 失败:', err)}})    },

    4.查询数据

//查询数据const db = wx.cloud.database()getData:function(){db.collection('test').where({_openid: this.data.openid}).get({success: res => {this.setData({queryResult: JSON.stringify(res.data, null, 2)})console.log('[数据库] [查询记录] 成功: ', res)},fail: err => {wx.showToast({icon: 'none',title: '查询记录失败'})console.error('[数据库] [查询记录] 失败:', err)}})}

在数据库操作之前需要利用云函数login获取对应的openId, 获取方法请细看上方云函数test部分。。。

存储

上传图片

// 上传图片doUpload: function () {// 选择图片wx.chooseImage({count: 1,sizeType: ['compressed'],sourceType: ['album', 'camera'],success: function (res) {wx.showLoading({title: '上传中',})const filePath = res.tempFilePaths[0]// 上传图片const cloudPath = 'my-image' + filePath.match(/\.[^.]+?$/)[0]wx.cloud.uploadFile({cloudPath,filePath,success: res => {console.log('[上传文件] 成功:', res)app.globalData.fileID = res.fileIDapp.globalData.cloudPath = cloudPathapp.globalData.imagePath = filePathwx.navigateTo({url: '../storageConsole/storageConsole'})},fail: e => {console.error('[上传文件] 失败:', e)wx.showToast({icon: 'none',title: '上传失败',})},complete: () => {wx.hideLoading()}})},fail: e => {console.error(e)}})},

上传成功后在控制台查看下图

云开发已经基本上完成,当然云存储也可以存储json文件,然后请求静态数据~~~看自己的需要了。

微信小程序云开发操作全解相关推荐

  1. 微信小程序云开发 操作数据库-新增一条数据

    数据库 API 分为小程序端和服务端两部分,小程序端 API 拥有严格的调用权限控制,开发者可在小程序内直接调用 API 进行非敏感数据的操作.对于有更高安全要求的数据,可在云函数内通过服务端 API ...

  2. 微信小程序云开发 操作数据库-简单数据的查询

    查询数据(方式1,小程序的API) const db = cloud.database() const products = db.collection('products') products.ge ...

  3. 微信小程序云开发 操作数据库-数据的批量更新

    提示:批量更新仅能在云函数内进行 文档: 创建云函数 编写云函数,将数据库的price改成1 然后右键上传云函数. 调用云函数 将所有color为red的price更改为2

  4. 微信小程序云开发 操作数据库-数据的批量删除

    批量删除仅能在云函数内进行 新建云函数 安装依赖 编写云函数代码 删除所有color=red的数据 最后上传并部署,就可以在页面中调用了 调用:

  5. 微信小程序云开发入门(二)-数据库详解

    微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...

  6. python操作微信小程序云端数据库_微信小程序云开发之数据库操作

    本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { ...

  7. 微信小程序云开发数据库操作

    1.在app.js中初始化云环境 // app.js App({onLaunch() {//初始化云服务if (!wx.cloud) {console.error('请使用 2.2.3 或以上的基础库 ...

  8. 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件)

    微信小程序云开发--常用功能2:操作云数据库一键批量导入数据(导入json文件) 今天我们要添加100条数据.下面的过程是先创建一条记录,然后导出这条数据看json文件中是如何编辑字段的,然后仿照这个 ...

  9. 微信小程序云开发入门(图文详解)

    以下内容是我第一次微信小程序云开发的一次记录,从真正的0基础入门,到基本掌握一些内容. 其中遇到的一些问题,和根据网上 的一些资料,整理出来真正可用的,实测可行的源代码. 以下放出我的github源码 ...

最新文章

  1. .NET 面试题总结 (附有参考答案) 第2部分
  2. 美军称五角大楼遭网络袭击 2.4万份敏感文件被盗
  3. curl参数为多维数组时提示数组到字符串的转换问题
  4. nginx 安装、操作命令、基本配置与参数说明
  5. C#下的Windows服务通用壳程序(二)
  6. 辽宁交通高等专科学校有计算机专业吗,辽宁省交通高等专科学校可以转专业吗,辽宁省交通高等专科学校新生转专业政策...
  7. 53 年 IT 老兵详谈传统网络到互联网的演变史
  8. c语言斐波那契数列递归数组,C语言数据结构学习:递归之斐波那契数列
  9. java计算机毕业设计小区宠物管理系统源码+系统+数据库+lw文档
  10. 数值计算及matlab实现,用MATLAB实现数值计算
  11. 《王垠、赵海平列传(1)》:“成为最伟大的计算机科学家!”
  12. 华为服务器清除系统密码,华为服务器重置密码
  13. 历尽磨难,探索未来生活的2014年
  14. git 推送出现 “fatal: The remote end hung up unexpectedly“ 解决方案
  15. JS之 获取日期方法
  16. android 排他button,javascript排他思想
  17. i.MX6ULL系统移植 | 移植NXP官方linux4.1.15内核
  18. 软考中级哪个证最好考?
  19. ACM简单题——不能被3整除的数
  20. android 点击按钮来回切换图片

热门文章

  1. mac 备份文件 太大 时间机器_Mac 时间机器 Time Machine 备份速度太慢的解决方法
  2. 小程序之定位签到打卡=>腾讯地图SDK
  3. Androd高清平板应用推荐之挖财2.0
  4. 14_自定义ItemDecoration实现qq好友列表分组效果
  5. CuteFTP、FlashFXP、FileZilla 基本应用比较
  6. 第3章 Pandas数据处理(3.7-3.8)_Python数据科学手册学习笔记
  7. mysql memory 与redis_memory和redis
  8. java火焰评测_JAVA性能分析之使用火焰图
  9. python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...
  10. kingcms php 列表页bug,kingcms最新版sql注入漏洞