创建一个云对象 cloudObj1
云对象跟云函数一样,也是通过export向外暴露一个对象
_before是运行云对象的预处理,不用删
下面的可以全部删掉
// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
module.exports = {
_before: function () { // 通用预处理器
},
/**
* method1方法描述
* @param {string} param1 参数1描述
* @returns {object} 返回值描述
*/
/*
method1(param1) {
// 参数校验,如无参数则不需要
if (!param1) {
return {
errCode: 'PARAM_IS_NULL',
errMsg: '参数不能为空'
}
}
// 业务逻辑
// 返回结果
return {
param1 //请根据实际需要返回值
}
}
*/
}
保留这些就是最基础的云对象
module.exports = {
_before: function () { // 通用预处理器
},
}
写一个获取数据的方法,并在前端调用
// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
const db=uniCloud.database()
module.exports = {
_before: function () { // 通用预处理器
},
async get(){
return await db.collection("article").get()
}
}
云函数需要引入使用,引入的名字就是自定义的那个对象名 引过来之后,就是云对象的大括号里面的内容,在云对象里面通过export向外暴露的部分
<template>
<view class="content">
<image class="logo" src="/static/logo.png"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
</view>
</template>
<script>
// 引入云对象
const cloudObj1=uniCloud.importObject("cloudObj1")
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
this.getData();
},
methods: {
getData(){
// cloudObj1就是一个对象,里面有方法
cloudObj1.get().then(res=>{
console.log(res);
})
return;
uniCloud.callFunction({
name:"cloudFun1",
data:{
num:2
}
}).then(res=>{
console.log(res);
})
}
}
}
</script>
<style>
</style>
云对象传参
通过云对象中的函数接收参数
在前端get中传递一个实参,在云对象中通过函数接收参数
methods: {
getData(){
// cloudObj1就是一个对象,里面有方法
cloudObj1.get(3).then(res=>{
console.log(res);
})
在get方法中接收参数
const db=uniCloud.database()
module.exports = {
_before: function () { // 通用预处理器
},
async get(num){
return await db.collection("article").limit(num).get()
}
}
写一个添加数据的方法
// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
const db=uniCloud.database()
module.exports = {
_before: function () { // 通用预处理器
},
// 获取数据方法
async get(num){
return await db.collection("article").limit(num).get()
}
// 新增数据方法
// 在对象在写一个箭头函数,赋值给一个变量名
add: async ()=>{
await db.collection("article").add({
title:"测试标题",
content:"测试内容"
})
}
}
现在因为引入进来了,使用方法还是对象名.方法名
onLoad() {
this.getData();
cloudObj1.add().then(res=>{
console.log(res);
})
},
刷新页面后,数据就被添加到数据库中了