unicloud api操作

unicloud api操作

技术博客 admin 119 浏览

unicloud api操作 增删改查

云函数有若干子概念,包括 普通云函数、云对象、公共模块、clientDB的action云函数、uniCloud扩展库。

  • 云函数:通过传统json接口方式和客户端通信,客户端使用uniCloud.callfunction("")调用云函数
  • 云对象:是通过前端导入对象来操作的,客户端使用uniCloud.importObject("")导入云对象。详见云对象

云函数调用

参考文档uniapp.dcloud.net.cn/uniCloud/cf…

js
代码解读
复制代码
// promise方式 uniCloud.callFunction({ name: 'test', // 云函数名称 data: { a: 1 } // 请求参数 }) .then(res => {}); // async await const res = await uniCloud.callFunction({ name: 'test', data: { a: 1 }) // callback方式 uniCloud.callFunction({ name: 'test', data: { a: 1 }, success(){}, // 成功 fail(){}, // 失败 complete(){} // 完成(不管成功与失败) });

云函数实现云数据库基本增删改查

参考文档:JQL数据库操作 | uniCloud

  1. 获取数据库引用

    js
    代码解读
    复制代码
    const db = uniCloud.database()
  2. 获取数据库集合引用

    js
    代码解读
    复制代码
    const collection = db.collection('unicloud-test-714') // uncloud-test-714 为数据表名称
  3. 新增记录

    js
    代码解读
    复制代码
    const res = collection.add({user:'alan'})
    js
    代码解读
    复制代码
    'use strict'; const db = uniCloud.database() // 获取数据库引用 exports.main = async (event, context) => { // 获取集合引用 const collection = db.collection('unicloud-test-714') // 新增数据 const res = await collection.add({user:'alan'}) console.log(res) return { "code":0, "msg":"云函数调用成功" } };
  4. 删除记录

    js
    代码解读
    复制代码
    const res = await collection.doc('60ee51103b7d3500014124c1').remove()
  5. 数据更新

    js
    代码解读
    复制代码
    const res = await collection.doc('60ee52a1827eca0001e56bc4').update({ name:"joob" }) const res = await collection.doc('60ee52a1827eca0001e56bc4').set({ // 如果说获取不到内容,从新进行插入记录的操作 name:"joob", type:"javascript" })

    update与set的区别:

    当没有找到指定记录时,使用update无法进行更新操作,set在没有查找到指定记录的时候,可以进行新增内容的操作(不存在进行创建添加操作)

  6. 数据查找

    js
    代码解读
    复制代码
    // 查询全部 const res = await collection.get() // 指定条件进行查询-id查询 const res = await collection.doc('id').get() // id为需要查询的指定id // 指定条件查询-其他条件进行查询 const res = await collection.where({name:"alan"}).get()

云对象实现云数据库基本增删改查

js
代码解读
复制代码
// 云对象名:todo module.exports = { add(title, content) { // 获取集合unicloud-test-714 const collection = db.collection('unicloud-test-714') // 新增数据 const res = await collection.add({user:'alan'}) return res; }, //delete(){... // update(){... // 其他方法 }

客户端的js中

js
代码解读
复制代码
const todo = uniCloud.importObject('todo') //第一步导入云对象 async function addTodo () { try { const res = await todo.add('title demo', 'content demo') //导入云对象后就可以直接调用该对象的方法了,注意使用异步await uni.showToast({ title: '创建成功' }) } catch (e) { // 符合uniCloud响应体规范 https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=resformat,自动抛出此错误 uni.showModal({ title: '创建失败', content: e.errMsg, showCancel: false }) } }

云存储操作

  1. 使用uni.chooseImage方法进行图片选择获取

    参考地址:uniapp.dcloud.io/api/media/i…

    js
    代码解读
    复制代码
    uni.chooseImage({ count: 1, success(res) { console.log(JSON.stringify(res.tempFilePaths)) } })
  2. 使用uniCloud.uploadFile进行文件上传

    参考文档:uniapp.dcloud.io/uniCloud/st…

    js
    代码解读
    复制代码
    uni.chooseImage({ count: 1, async success(res) { let result = await uniCloud.uploadFile({ filePath:res.tempFilePaths[0], cloudPath:'a.jpg', success(res) { console.log(res) }, fail(err) { console.log(err) } }); } })
  3. 使用uniCloud.deleteFile进行图片删除

    参考文档:uniapp.dcloud.io/uniCloud/st…

    阿里云函数删除不能在客户端进行删除操作,下列代码在云函数中进行使用

    js
    代码解读
    复制代码
    let result = await uniCloud.deleteFile({ fileList:['https://vkceyugu.cdn.bspapp.com/VKCEYUGU-6ce25980-c28e-4e78-bdef-a96eb40ad98b/06a1cb3a-84b7-47a0-b554-8aff299cb255.jpg'], }); console.log(result)

源文:unicloud api操作

如有侵权请联系站点删除!

技术合作服务热线,欢迎来电咨询!