UniCloud提供了多种方式来访问云端数据和执行云函数。选择合适的方式取决于项目需求和开发习惯。推荐使用callFunction和clientDB方式,因为它们更安全、高效且具有更简洁的代码。同时,不需要额外注册域名,这提供了额外的安全性。
传统RESTful:
适用情况:需要使用传统的RESTful接口进行数据交互的情况,例如使用HTTP请求来获取数据。特点:通常需要注册域名和处理HTTP请求,不如UniCloud方式安全和高效。callFunction云函数:
适用情况:适用于在UniApp客户端通过uniCloud.callFunction(functionname)调用云函数的情况。特点:相对传统方式更安全,不会暴露域名和IP地址,不易受到攻击,代码简洁,开发高效。
客户端调用
// 在UniApp客户端中调用云函数 uniCloud.callFunction({ name: 'functionname', // 云函数名称 data: { // 传递给云函数的参数 key1: 'value1', key2: 'value2' }, success: function(res) { // 云函数调用成功 console.log('云函数调用成功', res.result); }, fail: function(err) { // 云函数调用失败 console.error('云函数调用失败', err); } });
云对象(importObject):
适用情况:用于UniApp客户端通过uniCloud.importObject(functionname)调用云对象的情况。特点:与传统方式相比,代码更简洁,开发更高效,UniApp 3.4版本起支持。
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 }) } }
clientDB:
适用情况:用于UniApp客户端通过调用uniCloud.database()API来访问云端数据的情况。特点:推荐使用,UniApp 3.4版本起支持,与传统方式相比,更方便,代码更简洁。
客户端调用
// 获取云端数据库引用 const db = uniCloud.database(); // 获取集合(表)的引用 const collection = db.collection('collectionName'); // 替换为实际集合名称 // 查询数据 collection.where({ // 查询条件 key: 'value' }).get().then(res => { // 查询成功 console.log('查询成功', res.data); }).catch(err => { // 查询失败 console.error('查询失败', err); });
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?