鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图

鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图

在前面的章节中实现了云捐赠项目的底部导航和分类导航,本讲继续使用云技术丰富首页组件中的功能。这里使用云数据库进行首页组件轮播图的加载。

一、云数据库进行首页组件轮播图的加载

在云捐助项目中,轮播图的数据使用云数据库进行存储,首先登录华为应用市场AppGallery Connect,点击已经创建的项目myjuanproject,进入项目后点击"云数据库"。如下图所示。

点击"云数据库"后在右侧点击"新增"按钮,如下图的界面。

点击"新增"按钮后在出现输入数据库名称的界面,如下图所示。

这里输入数据库名称carousel,然后下一步,再输入轮播图的相关字段,如下图所示。

这里的id为IntAutoIncream的自增长,图片icon字段为String类型,然后下一步选择id做为索引字段,最后的界面选择所有的权限。创建轮播图carousel数据库成功后界面如下图所示。

接下来需要在云数据库中导出js和json文件,详细的操作步骤可以参看前面的"云数据库操作"部分。下载成功的文件分别放在鸿蒙云捐助项目对应的文件夹。导出的carousel.js放在model文件夹中,导出的carousel.json放在rawfile文件夹中,如下图所示。

轮播图云数据库数据的加载逻辑也是需要在登录成功的逻辑中实现,在登录login的组件页引入carousel.json和carousel.js文件。如下图所示。

然后在登录成功的逻辑中之前进行了首页导航数据的云函数加载,这里再添加轮播图云数据库加载功能的实现代码,如下图所示。

代码中使用cloud模块的database数据库方法加载轮播图数据,初始化database时指定存储区为"two"和ObjectTypeInfo的轮播图对象类型。初始化数据库后通过collection()方法的query()方法进行查询,查询后使用orderByDesc("id")方法实现根据id的降序排列,排列后通过limit(3)只取3条记录,这里轮播图只有3个,最后把数据库查询结果get出来。在router路由到首页时也需要传入carousel_boxes的轮播图数据。

为路由添加carousel_boxes的参数把数据库上查询的轮播图数据传递到首页中时,首页可以在调用IndexComponent首页组件时直接使用这个轮播图的数据。如下图所示。

这里获取的路由参数navdata的json数据中有carousel_boxes的键,引用这个键对应的值,把这个值传送到IndexComponent首页组件中的carouse_pics的轮播图变量。最后在首页组件中通过@Prop单向传递接收此参数。代码如下图所示。

接收此参数后,在首页组件的Swiper滑动元素中进行ForEach遍历每一个数据,进行轮播图的展示,代码如下图所示。

需要注意的是,轮播图在华为应用市场AppGallery Connect的数据库中存储的是"two"区。如下图所示。

另外需要注意的是还需要在云数据库中插入3条记录,如下图所示。

后续还会有鸿蒙项目云捐助中捐助模块及其他云功能的精彩,欢迎关注。

相关推荐
搞瓶可乐3 小时前
鸿蒙ArkUI实战之组件;Text组件,Image组件,Button组件,Span组件和TextInput组件的使用场景及使用方法
华为·harmonyos·鸿蒙系统·arkui·组件化开发·基础组件使用
Paraverse_徐志斌3 小时前
MySQL 线上大表 DDL 如何避免锁表(pt-online-schema-change)
数据库·mysql·ddl·mysql锁·锁表·pt-osc
九丘教育4 小时前
【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(15):NaiveExecutor
人工智能·华为·harmonyos
哈哈幸运4 小时前
MySQL运维三部曲初级篇:从零开始打造稳定高效的数据库环境
linux·运维·数据库·mysql·性能优化
愚公搬代码4 小时前
【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)
数据库·爬虫·python
pwzs4 小时前
深入浅出 MVCC:MySQL 并发背后的多版本世界
数据库·后端·mysql
大熊猫今天吃什么4 小时前
【一天一坑】空数组,使用 allMatch 默认返回true
前端·数据库
双叶8365 小时前
(51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)
c语言·数据库·单片机·嵌入式硬件·mongodb·51单片机·nosql
XY.散人5 小时前
初识Redis · C++客户端list和hash
数据库·redis·缓存
码上飞扬5 小时前
深入 MySQL 高级查询:JOIN、子查询与窗口函数的实用指南
数据库·mysql