uncloud API操作
# unicloud api操作
# 云函数调用
参考文档:https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=clientcallfunction
// promise方式
uniCloud.callFunction({
name: 'test', // 云函数名称
data: { a: 1 } // 请求参数
})
.then(res => {});
// callback方式
uniCloud.callFunction({
name: 'test',
data: { a: 1 },
success(){}, // 成功
fail(){}, // 失败
complete(){} // 完成(不管成功与失败)
});
# 云函数实现云数据库基本增删改查
# 1. 获取数据库引用
const db = uniCloud.database()
获取数据库集合引用
const collection = db.collection('unicloud-test-714') // uncloud-test-714 为数据表名称
新增记录
const res = collection.add({user:'alan'})
'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":"云函数调用成功" } };
删除记录
const res = await collection.doc('60ee51103b7d3500014124c1').remove()
数据更新
const res = await collection.doc('60ee52a1827eca0001e56bc4').update({ name:"joob" }) const res = await collection.doc('60ee52a1827eca0001e56bc4').set({ // 如果说获取不到内容,从新进行插入记录的操作 name:"joob", type:"javascript" })
update与set的区别:
当没有找到指定记录时,使用update无法进行更新操作,set在没有查找到指定记录的时候,可以进行新增内容的操作(不存在进行创建添加操作)
数据查找
// 查询全部 const res = await collection.get() // 指定条件进行查询-id查询 const res = await collection.doc('id').get() // id为需要查询的指定id // 指定条件查询-其他条件进行查询 const res = await collection.where({name:"alan"}).get()
# 云存储操作
使用uni.chooseImage方法进行图片选择获取
参考地址:https://uniapp.dcloud.io/api/media/image?id=chooseimage
uni.chooseImage({ count: 1, success(res) { console.log(JSON.stringify(res.tempFilePaths)) } })
使用uniCloud.uploadFile进行文件上传
参考文档:https://uniapp.dcloud.io/uniCloud/storage?id=clouduploadfile
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) } }); } })
使用uniCloud.deleteFile进行图片删除
参考文档:https://uniapp.dcloud.io/uniCloud/storage?id=clouddeletefile
阿里云函数删除不能在客户端进行删除操作,下列代码在云函数中进行使用
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)