美文网首页
【三】10分钟精通微信小程序 | 光速入门

【三】10分钟精通微信小程序 | 光速入门

作者: 红色火苗 | 来源:发表于2019-03-22 10:35 被阅读0次

    云数据库

    image.png

    一:查询云数据库中的数据

    // 1. 获取数据库引用
    const db = wx.cloud.database()
    // 2. 构造查询语句
    // collection 方法获取一个集合的引用
    // where 方法传入一个对象,数据库返回集合中字段等于指定值的 JSON 文档。API 也支持高级的查询条件(比如大于、小于、in 等),具体见文档查看支持列表
    // get 方法会触发网络请求,往数据库取数据
    db.collection('books').where({
      publishInfo: {
        country: 'United States'
      }
    }).get({
      success(res) {
      // 输出 [{ "title": "The Catcher in the Rye", ... }]
        console.log(res)
      }
    })
    

    云存储

    云开发提供了一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云存储功能。

    在小程序端可以分别调用 wx.cloud.uploadFile 和 wx.cloud.downloadFile 完成上传和下载云文件操作。下面简单的几行代码,即可实现在小程序内让用户选择一张图片,然后上传到云端管理的功能
    二:

    // 让用户选择一张图片
    wx.chooseImage({
      success: chooseResult => {
        // 将图片上传至云存储空间
        wx.cloud.uploadFile({
          // 指定上传到的云路径
          cloudPath: 'my-photo.png',
          // 指定要上传的文件的小程序临时文件路径
          filePath: chooseResult.tempFilePaths[0],
          // 成功回调
          success: res => {
            console.log('上传成功', res)
          },
        })
      },
    })
    

    上传完成后可在控制台中看到刚上传的图片。

    三:云函数

    云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。

    小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appidopenid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。

    比如我们如下定义一个云函数,命名为 add ,功能是将传入的两个参数 a 和 b 相加:

    // index.js 是入口文件,云函数被调用时会执行该文件导出的 main 方法
    // event 包含了调用端(小程序端)调用该函数时传过来的参数,同时还包含了可以通过 getWXContext 方法获取的用户登录态 `openId` 和小程序 `appId` 信息
    const cloud = require('wx-server-sdk')
    exports.main = (event, context) => {
      const {userInfo, a, b} = event
      const {OPENID, APPID} = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
      const sum = a + b
    
      return {
        OPENID,
        APPID,
        sum
      }
    }
    

    在开发者工具中上传部署云函数后,我们在小程序中可以这么调用:

    wx.cloud.callFunction({
      // 需调用的云函数名
      name: 'add',
      // 传给云函数的参数
      data: {
        a: 12,
        b: 19,
      },
      // 成功回调
      complete: console.log
    })
    // 当然 promise 方式也是支持的
    wx.cloud.callFunction({
      name: 'add',
      data: {
        a: 12,
        b: 19
      }
    }).then(console.log)
    

    推荐微信小程序阅读:

    【十一】 10分钟精通微信小程序 | 云函数管理端
    【十】 10分钟精通小程序 | 云函数异步返回结果
    【九】10分钟精通微信小程序 | 云函数
    【八】 10分钟精通微信小程序云存储 | 云存储
    【七】10分钟精通微信小程序 | 增删改查
    【六】10分钟精通微信小程序 | 增删改查
    【五】10分钟精通微信小程序 | 云数据库增删改查
    【四】10分钟精通微信小程序 | 云控制台
    【三】10分钟精通微信小程序 | 光速入门
    【二】10分钟精通微信小程序云开发 | 多图上传并存储路径到云数据库
    【一】10分钟精通微信小程序 | 获取用户openid

    相关文章

      网友评论

          本文标题:【三】10分钟精通微信小程序 | 光速入门

          本文链接:https://www.haomeiwen.com/subject/srqlvqtx.html