uni-app是一款跨平台的移动应用开发框架,通过uni-app开发出的应用可以同时在各种主流的移动设备上运行。其中,云函数和云数据库是uni-app中非常重要的一部分,它们为开发者提供了强大的数据存储和处理能力。
云函数是指在云端运行的JavaScript函数,可以通过 uniCloud 实现。uniCloud 是DCloud推出的一款云开发解决方案,基于云原生的架构设计,可以提供诸如云函数、定时触发器、消息队列、云存储、云数据库等服务。
云数据库是指完全基于云服务的数据库,可以通过 uniCloud 进行访问和管理。uniCloud 基于阿里云 ApsaraDB for MongoDB 构建,具有高性能、高可靠性、易于扩展等特点。
1.首先创建一个新的项目,并启用uniCloud(以阿里云为例)
2.然后右键关联云服务空间
3.创建服务空间
进入uniCloud控制台进行注册,首次登录后需要使用身份证实名验证才可使用,新用户可以免费使用一个月的服务空间,过期后需要付费使用
4.成功后右键打开uniCloud文件夹,找到cloudfunctions,再次右键新建云函数
云函数名newtable
5. 右键打开uniCloud Web控制台
6. 点击进入云数据库,新建一个表,并在里面写入数据
我以一张图片链接为例
7.然后在刚刚新建的云函数里写入连接代码,云函数中可操作数据库,并将结果返回。
我这里只用了查询的语句,可以直接查看表里的全部数据,但要在前端引出你想要的数据
云函数常用的语句
连接数据库:uniCloud.collection('数据表名')
查询:uniCloud.collection('数据表名').get() 或 uniCloud.collection('数据表名').all()
条件查询:uniCloud.collection('数据表名').where({条件}).get()
修改:uniCloud.collection('数据表名').update({'要修改的字段':'修改的值'})
添加:uniCloud.collection('数据表名').add('字段':'要添加的值')
删除:uniCloud.collection('数据表名').where({条件}).remove()
排序:uniCloud.collection('数据表名').orderBy('字段','asc | desc').get()
uni-app中的云函数和云数据库为开发者提供了非常便捷的云开发解决方案,可以使开发者专注于应用程序本身的开发,并实现更多的功能。
'use strict';
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
var db=uniCloud.database();
var list = await db.collection('shoptable').get();
return{code:200,list,msg:"成功"};
//返回数据给客户端
};
8.再去到页面内写引入代码,来渲染出云端数据(下面是示例代码)
<template>
<view class="index">
<view class="classify">
<view class="list" v-for="(item,index) in newtables" :key="index">
<image :src="item.picture" mode=""></image>
<text>{{item.name}}</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
newtables:[],
}
},
onShow() {
this.ToNew()
},
onLoad() {
},
methods: {
ToNew(){
uniCloud.callFunction({
name:"newtable",
success: (res) => {
console.log(res);
this.newtables=res.result.list.data;
}
})
},
}
}
</script>
<style lang="scss">
</style>
在前端页面使用 uniCloud.callFunction()来访问云函数。
methods里的name一定要写要你要渲染的云函数的名字
9.然后点击运行,下面是运行效果,可以看出已经取得云端数据并渲染出来了
10.再修改一下样式
这里是样式的代码
<style lang="scss">
.index{
.classify{
margin-top: 50px;
.list{
display: flex;
align-items: center;
flex-direction: column;
image{
width: 518rpx;
height: 734rpx;
}
}
}
}
</style>
这样就完成了云数据库的链接和渲染,这次就分享到这里了