【微信小程序】微信小程序——云开发

微信小程序——云开发

前言

云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
官方文档:点击前往

微信小程序提供的云开发主要是云数据库、云存储和云函数。使用方法如下:


一、云开发环境配置

需要在app.js中配置如下信息

    wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        env: 'xiaoxuedi-xxxx',
        traceUser: true,
      })

二、云数据库

云数据库界面
微信小程序提供的云数据库为非关系型数据库,存储方式为key-value。

① 需要注意的是云数据库的权限,是非常严格的,设置有问题的话会导致数据无法读取到

② 数据库一次最多可以读取20条数据

以上两个问题都可以通过下面的云函数来解决

云数据库的使用方法(js):

1.增

//.add
const db = wx.cloud.database()
db.collection('集合名').add({
    data:{
        key:value
    },
    success(res){
        console.log(res)
    }
})    

2.删

//.remove
const db = wx.cloud.database()
db.collection('集合名').where({
   key:value 
}).remove({
    success(res){
        console.log(res)
    }
})

3.改

//.update
const db = wx.cloud.database()
db.collection('集合名').where({
   key:value 
}).update({
    date:{
        key:newValue
    },
    success(res){
        console.log(res)
    }
})

4.查

//.get
const db = wx.cloud.database()
db.collection('集合名').where({
   key:value 
}).get({
    success(res){
        //查询结果的数据 -> res.data
        console.log(res.data)
    }
})
//条件查询
const db = wx.cloud.database()
db.collection('集合名').where({
   progress:_.gt(30)
/*
查询指令	说明
eq	等于
neq	不等于
lt	小于
lte	小于或等于
gt	大于
gte	大于或等于
in	字段值在给定数组中
nin	字段值不在给定数组中
*/
逻辑指令 说明
and     与
or      或
}).get({
    success(res){
        //查询结果的数据 -> res.data
        console.log(res.data)
    }
})

云数据库在确认目标时有以下两个方法

1.通过 .doc

//_id为云数据库为数据自动生成的唯一suo'yin
db.collection('xxx').doc('_id')

2.通过 .where

//通过对某个特定值进行限定达到筛选的目的,类似sql语句中的where
db.collection('xxx').where({
    key:value
})

三、云存储

上传得到fileID可用于后面的下载和删除

1.上传

//文件路径相同时覆盖
wx.cloud.uploadFile({
  cloudPath: 'example.png',
  filePath: '', // 文件路径
  success: res => {
    // get resource ID
    console.log(res.fileID)
  },
  fail: err => {
    // handle error
  }
})

2.下载

wx.cloud.downloadFile({
  fileID: 'a7xzcb',
  success: res => {
    // get temp file path
    console.log(res.tempFilePath)
  },
  fail: err => {
    // handle error
  }
})

3.删除

wx.cloud.deleteFile({
  fileList: ['a7xzcb']    //fileID
}).then(res => {
  // handle success
  console.log(res.fileList)
}).catch(error => {
  // handle error
})

四、云函数

首先需要在project.config.json中对云函数的根目录进行配置

"cloudfunctionRoot": "cloudfunctions/"

然后新建云函数
右键->上传并部署:云端安装依赖

1.云函数操作云数据库

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({env: 'xiaoxuedi-xxxx'})    //需要对确定环境

// 云函数入口函数
exports.main = async (event, context) => {
  return await cloud.database().collection('record').get({    //await异步
    success(res){
      return res
    },
    fail(err){
      return err
    }
  })
}

2. 云函数操作云存储

//下载
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

exports.main = async (event, context) => {
  const fileID = 'xxxx'
  const res = await cloud.downloadFile({
    fileID: fileID,
  })
  const buffer = res.fileContent
  return buffer.toString('utf8')
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值