当前位置: 首页 > article >正文

鸿蒙项目云捐助第二十三讲云捐助项目云首页导航功能的实现

鸿蒙项目云捐助第二十三讲云捐助项目云首页功能的实现

前面完成过云捐赠项目的登录注册功能,这里通过云数据库登录成功后,就会进入到云首页,这里实现云首页的部分功能。

首先把离线项目中的component文件夹,data文件夹及模拟数据的mockjs文件夹拷贝到云项目中,具体操作如下图所示。

再把离线项目中的index首页及isLandComponent捐款岛这两个组件拷入到云捐助项目中。如下图所示。

这里拷贝到云项目中时,都把他们放在云项目中的ets文件夹中。

一般在云项目中,很多数据都是从云主机上面获取的,本地并没有什么数据,这里可以先从mockjs模拟数据中的导航数据开始。如下图所示的导航数据可以改成云数据。

这个数据可以理解成云函数的数据,这里可以建立导航的云函数,在云项目的cloudfunction文件夹中右健创建一个云函数,如下图所示。

这里创建云函数的名字中不能有下划线“_”, 这里的名称只能使用navdata,有下划线的会报错。

另外,在书写去函数时,返回资源不能包括Resource类型,这里用字符串来代替,把“icon”资源中前面的“$r(”去掉,把后面的“)”也去掉。 最后修整之后云函数的返回数据如下图所示。

云函数模拟底部导航分类数据后,把云函数运行一下,如下图所示。

这里使用“run”运行函数的方法需要登录,如果不登录就会有下图所示的提示。

登录帐户后“run”运行函数没有错误的输出内容如下。

运行云函数正常后,把云函数再部署到云端。如下图所示。

部署成功后,右下角会出现“Deploy successful”的字样,表示部署成功,如下图所示。

接下来我们使用代码加载云端的导航数据,

在加载导航数据时,需要结合同于生命周期,这里的生命周期图如下图所示。

根据组件的生命周期图,在方法build之前执行过aboutToAppear,这里就可以通过aboutToAppear执行云函数加载数据。如下图所示。

这里通过模拟器运行结果,看一下是否可以加载导航数据的云函数,运行时注意编辑器右上角的选项,这里必须是entry,才可以运行,如下图所示。

运行后在日志中查找,没有发现数据,这里只能改变思路,把加载导航数据放在登录页面的login方法中,当login登录成功时使用云函数加载数据,再通过组件传给index首页。首先把加载云函数的代码放在login中,如下图所示。

代码中把加载导航的云函数放在登录逻辑返回用户名列表的结果中,如果result.length>0则加载导航navdata的云函数,加载后再通过路由router跳转到首页,在调用首页跳转地,路由需要携带参数,这里router中的params中加入了navdata的导航数据的参数,在index组件接收时通过router.getParams接收navdata的参数,如下图所示代码。

这里把调用的数据放在导航的customTabs自定义底部导航布局中的文字,代码如下图所示。

然后再对custoTabs中的自底义底部导航布局中的图片,代码如下图所示。

这里也可以通过加载成功的数据控制文字的颜色,如下图所示。

使用了云函数的数据后,原来模拟的数据可以去除了,代码如图所示。

最终使用云函数得到的底部导航效果如下图所示。

至此,完成云函数实现云捐助首页的导航效果,后续还会带来华为云技术对云捐助项目其他功能的处理。欢迎关注。


http://www.kler.cn/a/449523.html

相关文章:

  • Flutter动画学习二
  • 再服务器上建立新的编译环境
  • Java 优化springboot jar 内存 年轻代和老年代的比例 减少垃圾清理耗时 如调整 -XX:NewRatio
  • NLP 中文拼写检测开源-01-基于贝叶斯公式的拼写检查器 CSC
  • Ubuntu Netlink 套接字使用介绍
  • 如何解决vscode powershell乱码
  • JavaScript 、ECMAScript、 ECMA-262、TC39??
  • 视频矩阵系统怎么做?深度解析矩阵全链路玩法
  • 解释下什么是面向对象?面向对象和面向过程的区别?
  • 安装milvus以及向量库增删改操作
  • 「下载」2024城市全域数字化转型暨第十四届智慧城市发展水平评估报告
  • ESP32S3 使用LVGL驱动LCD屏(ST7789主控)
  • Leetcode打卡:考场就坐
  • sfnt-pingpong -测试网络性能和延迟的工具
  • Marin说PCB之POC电路layout设计仿真案例---06
  • moviepy将图片序列制作成视频并加载字幕 - python 实现
  • 鸿蒙历史搜索功能:tag标签根据文字宽度自动换行 展示更多
  • 使用VSCode Debugger 调试 React项目
  • 项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”
  • Python import from xx import xx
  • 2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
  • 电脑屏幕有条纹怎么办?电脑屏幕出现条纹解决方法
  • 使用Python的Seaborn库进行数据可视化
  • shell脚本定义特殊字符导致执行mysql文件错误的问题
  • 汽车IVI中控开发入门及进阶(47):CarPlay开发
  • 【unity】【游戏开发】Unity项目一运行就蓝屏报Watch Dog Timeout