小程序云开发

1 创建环境

(1)设置云函数路径

project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录
cloudfunctionRoot 指定的目录有特殊的图标
(2)创建环境
在这里插入图片描述
一般30秒后初始化完成,最多支持2个环境,建议为test和release
界面如下:
在这里插入图片描述

2 数据库

简介
可以创建多个数据库,都为json结构,数据库由集合组成(表,json数组),而集合中的记录则为json结构
数据库API
数据库API分为3个操作步骤:
获取数据库引用、构造查询/更新条件、发出请求

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

存储
通过
wx.cloud.uploadFile 和 wx.cloud.downloadFile 完成上传和下载云文件操作
云函数
云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。

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

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

3 实际操作

上传login云函数
右键上传程序目录下的login,完成上传
之后可以根据提示执行添加、查询、删除操作
同时可以通过管理页面手动插入记录,但需要注意的是:需要给与其它用户读的权限,否则无法读取

增删改查
初始化后,即可对集合做各种操作,这里的or为模糊命令,为多个条件命中一个即可

	const db = wx.cloud.database(); //{env: '环境ID'}
    const _ = db.command;
    db.collection('vocabs').where(_.or(ids)).get({
      success: res => {
        console.log('[数据库] [查询记录] 成功: ', res.data)
      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '查询记录失败'
        })
        console.error('[数据库] [查询记录] 失败:', err)
      }
    })
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值