尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Harmony鸿蒙实战开发-博客新闻app「首页、广场、体系、公众号、我的、登录注册、并可收藏进行查看」【源码在文末】
Harmony鸿蒙实战开发-博客新闻app「首页、广场、体系、公众号、我的、登录注册、并可收藏进行查看」【源码在文末】文章目录Harmony鸿蒙实战开发-博客新闻app「首页、广场、体系、公众号、我的、登录注册、并可收藏进行查看」【源码在文末】一、运行演示1、首页2、广场3、体系4-1、公众号界面4-2、公众号内容5、我的-未登录6、登录注册提醒7、登录注册8、我的-登录后9、收藏内容二、部分代码三、源码运行工具DevEco Studio一、运行演示1、首页2、广场3、体系4-1、公众号界面4-2、公众号内容5、我的-未登录6、登录注册提醒7、登录注册8、我的-登录后9、收藏内容二、部分代码import router from ohos.router import promptAction from ohos.promptAction import Api from ../net/Api import UserService, { User } from ../service/UserService import { LoadState, PageLoading } from ../widget/PageLoading import { TitleLayout } from ../widget/TitleLayout class UserInfo { name: string level: string rank: string point: string } Component export struct Mine { State loadState: LoadState LoadState.SUCCESS; State showLoading: boolean false; State title: string ; private unLoginInfo: UserInfo { name: 未登录, level: , rank: , point: } State userInfo: UserInfo this.unLoginInfo; State isLogin: boolean false; private userObserver (user?: User) { if (user) { this.isLogin true; this.userInfo { name: user.nickname, level: user.level, rank: user.rank, point: user.coinCount.toString() } } else { this.isLogin false; this.userInfo this.unLoginInfo } } aboutToAppear() { UserService.get().addUserObserver(this.userObserver); let user UserService.get().getUser(); this.userObserver(user); } aboutToDisappear() { UserService.get().removeUserObserver(this.userObserver); } clickUrl( url: string ) { router.pushUrl({ url: pages/WebPage, params: { url: url } }); } async logout() { let res await promptAction.showDialog({ title: 提示, message: 确认退出登录, buttons: [ { text: 确认, color: $r(app.color.main) }, { text: 取消, color: $r(app.color.text_h2) } ] }) if (res.index 0) { await Api.get().logout(); UserService.get().clearUser(); } } build() { PageLoading({ loadState: $loadState, showLoading: $showLoading }) { Column() { TitleLayout({ title: $title, isJustShowStatusBar: true }) Column() { Image($r(app.media.icon_fly)) .objectFit(ImageFit.Cover) .clip(new Circle({ width: 100, height: 100 })) // .borderWidth(20) // .borderColor(Color.Gray) // .borderRadius(20) .width(100) .height(100) Text(this.userInfo.name) .fontColor($r(app.color.text_h1)) .fontSize(17) .margin({ top: 16 }) Row({ space: 5 }) { Text(LV this.userInfo.level) .fontColor($r(app.color.white)) .fontSize(15) .backgroundColor($r(app.color.green)) .padding({ left: 4, top: 2, right: 4, bottom: 2 }) Text(排名 this.userInfo.rank) .fontColor($r(app.color.white)) .fontSize(15) .backgroundColor($r(app.color.blue)) .padding({ left: 4, top: 2, right: 4, bottom: 2 }) } .margin({ top: 16 }).visibility(Visibility.None) Row({ space: 5 }) { Text(博客地址) .fontColor($r(app.color.white)) .fontSize(15) .backgroundColor($r(app.color.green)) .padding({ left: 4, top: 2, right: 4, bottom: 2 }) //Text(Ddup this.userInfo.rank) //.fontColor($r(app.color.white)) //.fontSize(15) //.backgroundColor($r(app.color.blue)) //.padding({ left: 4, top: 2, right: 4, bottom: 2 }) } .onClick(() this.clickUrl(https://blog.csdn.net/m0_63324772)) .margin({ top: 16 }) Row({ space: 5 }) { Text(GitHub地址) .fontColor($r(app.color.white)) .fontSize(15) .backgroundColor($r(app.color.green)) .padding({ left: 4, top: 2, right: 4, bottom: 2 }) //Text(androideoe this.userInfo.rank) //.fontColor($r(app.color.white)) //.fontSize(15) //.backgroundColor($r(app.color.blue)) //.padding({ left: 4, top: 2, right: 4, bottom: 2 }) } .onClick(() this.clickUrl(https://blog.csdn.net/m0_63324772)) .margin({ top: 16 }) } .margin({ top: 30 }) .alignItems(HorizontalAlign.Center) .onClick((e) { UserService.get().checkLogin() }) Row() { Text(我的积分) .layoutWeight(1) .fontSize(15) .fontColor($r(app.color.text_h1)) Text(this.userInfo.point) .fontSize(15) .fontColor($r(app.color.text_h1)) } .width(100%) .height(50) .margin({ top: 50 }) .alignItems(VerticalAlign.Center) .padding({ left: 16, right: 16 }) .backgroundColor($r(app.color.white)) .onClick((e) { UserService.get().checkLogin() }) Row() .width(100%) .height(0.5) .backgroundColor($r(app.color.divider)) Row() { Text(我的收藏) .layoutWeight(1) .fontSize(15) .fontColor($r(app.color.text_h1)) Image($r(app.media.ic_arrow_right)) .fillColor($r(app.color.text_h1)) .width(20) .height(20) } .width(100%) .height(50) .alignItems(VerticalAlign.Center) .padding({ left: 16, right: 16 }) .backgroundColor($r(app.color.white)) .onClick((event) { UserService.get().checkLogin(() { router.pushUrl({ url: pages/CollectList }) }) }) if (this.isLogin) { Column() { Button(退出登录, { type: ButtonType.Capsule }) .width(100%) .fontSize(15) .fontColor($r(app.color.white)) .backgroundColor($r(app.color.red)) .onClick((e) { this.logout(); }) } .width(100%) .margin({ top: 50 }) .padding({ left: 16, right: 16 }) } } .width(100%) .height(100%) } } }三、源码相关鸿蒙项目点此专栏通过百度网盘分享的文件…zip 链接百度网盘 请输入提取码文件已经加密请点击下方名片获取源码或Lvnvn0508
RELATED

相关推荐

AMCT PyTorch 蒸馏量化接口 create_distill_model 完全指南:将浮点模型改造为可蒸馏的量化压缩模型

AMCT PyTorch 蒸馏量化接口 create_distill_model 完全指南:将浮点模型改造为可蒸馏的量化压缩模型

AMCT PyTorch 蒸馏量化接口 create_distill_model 完全指南:将浮点模型改造为可蒸馏的量化压缩模型 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 导读 本文介绍 CANN AMCT&#xff…

📅 2026/9/18 14:00:23
Nacos 适配达梦和人大金仓:国产数据库方言与SPI插件落地

Nacos 适配达梦和人大金仓:国产数据库方言与SPI插件落地

1. 为什么 Nacos 原生跑不起来达梦和人大金仓先说结论:Nacos 的配置中心和命名空间元数据是持久化到关系型数据库里的,而官方只给了 Derby 和 MySQL 两套方案。Derby 是内嵌的,只在单机演示场景下用;真正上生产基本都是 MySQL。问…

📅 2026/9/18 13:55:23
超声图像CNN分类实践:甲状腺结节良恶性诊断的完整工程流程

超声图像CNN分类实践:甲状腺结节良恶性诊断的完整工程流程

简介:这是一份面向医学影像处理、深度学习与机器学习研究者的学术文献,聚焦基于卷积神经网络的甲状腺结节超声图像良恶性分类问题。资源为PDF格式,共1个文件,大小约2.87MB,内容源自《中国医学装备》2020年3月第17卷第3…

📅 2026/9/18 13:55:23
MORE NEWS

更多资讯

📰

MiroFish:基于 Miro Web SDK 的协作白板多人养鱼应用

第一次看到 MiroFish 这个名字,我脑子里蹦出来的第一反应是"这玩意儿大概是把白板当鱼缸养鱼"。后来跟几个做团队协作工具的朋友聊过之后,发现这个判断基本没错,而且它比想象中更有嚼头。MiroFish 是一套跑在协作白板上的多人养鱼互…

📰

基于BP神经网络与SVM的生物炭土壤水分预测建模与MATLAB实现

简介:针对半干旱区施加生物炭后土壤水分预测这一农业水资源管理问题,一份学术论文PDF系统比较了BP神经网络与SVM支持向量机两种建模方案的适用性。文档以黄土高原固原生态站小区定位试验为基础,介绍了不同种类与比例生物炭施加处理下的土壤含…

📰

flutter doctor 检查不过?Cursor 的模型通道改走 TaoToken 再排查鸿蒙环境

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

镜筒量产平面度一致性偏差:光学轮廓仪诊断与工艺整治

第一批首件上光学轮廓仪,端面平面度 0.72 μm,图纸公差 2 μm,余量看着很舒服。我当时心里是稳的。结果连续做完 50 件,抽检的时候有 11 件落在 1.8 μm 到 3.1 μm 之间,同一件拆下来重新装夹再测,数字又变…

📰

WinPE环境下360系统急救箱深度技术解析

1. 项目概述:为什么非得在WinPE里跑360系统急救箱?你有没有遇到过这种情况:电脑一开机就卡在蓝屏,或者刚进桌面就弹出一堆广告窗口,任务管理器打不开,杀毒软件根本启动不了——这时候你心里清楚&#xff0c…

📰

5分钟上手Swift编程语言中文版:DocC本地预览与快速开始教程

5分钟上手Swift编程语言中文版:DocC本地预览与快速开始教程 【免费下载链接】the-swift-programming-language-in-chinese 中文版 Apple 官方《Swift 编程语言》 项目地址: https://gitcode.com/gh_mirrors/th/the-swift-programming-language-in-chinese 本…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬