注意: 首先创建uniapp项目,并使用云函数,之后进行关联你的服务空间
1、 打开HBulider X 左上角文件 ---> 新建 ---> 项目(默认就是uniapp的项目),vue的版本根据你自己的情况进行选择,这里使用v3,启用unicloud默认阿里云(因为是免费的可以供我们学习使用),之后创建
![](https://img.haomeiwen.com/i3294333/a318c42c415ecffb.png)
2、 打开unicloud的后台管理进行创建一个服务空间(https://unicloud.dcloud.net.cn/)
3、 在你创建好的文件中,第一个unicloud右键关联云服务空间
请求云函数的方式有三种
1、使用云函数
![](https://img.haomeiwen.com/i3294333/35dd14b5b0a25942.png)
- 在图中的文件右键新建一个云函数,(默认创建的就是云函数)
- 在云函数文件的index.js中
'use strict';
const db = uniCloud.database()
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
const { type } = event
console.log(type);
switch (type){
case 'get':
homeList是服务空间中数据库创建的表名(见下方的图片)
return await db.collection('homeList').get()
break;
default:
break;
}
//返回数据给客户端
return event
};
![](https://img.haomeiwen.com/i3294333/334a3dc2b4820c95.png)
-
页面中使用(name就是创建云函数的文件名)
image.png
2、使用云对象
![](https://img.haomeiwen.com/i3294333/35dd14b5b0a25942.png)
![](https://img.haomeiwen.com/i3294333/2d0921fc3ec55dbd.png)
- 在图中的文件右键新建一个云函数,选择云对象
- 创建好的云对象文件中(跟我们使用js在对象中的写法是一样的)
const db = uniCloud.database()
module.exports = {
_before: function () { // 通用预处理器
},
async get(){
return await db.collection('homeList').get()
}
}
- 在页面中进行调用
<script>
const cloudObj = uniCloud.importObject('cloudObj')//云对象的文件名
export default {
setup(){
const init = ()=>{
cloudObj.get().then(res=>{
console.log(res);
})
}
init()
return{
}
}
};
</script>
3、在前端页面中使用云函数(可以在前端的页面中使用云函数中的api直接进行读取数据库)
- 在页面中直接使用(会报错,让我们创建一个文件)
<script>
const db = uniCloud.database()
export default {
setup(){
const init = ()=>{
db.collection('homeList').get().then(res=>{
console.log(res);
})
}
init()
return{
}
}
};
</script>
-
在database文件,右键,下载所有的DB Schema (这个就是我们的每个数据表都有一个默认的表结构)
image.png
![](https://img.haomeiwen.com/i3294333/eaccad07aca6c64a.png)
- 在当前调用的数据表文件中将可读属性改为true就可了
{
"bsonType": "object",
"required": [],
"permission": {
"read": true,//可读
"create": false,//可写
"update": false,//可修改
"delete": false//可删除
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
}
}
}
网友评论