【OpenHarmony/HarmonyOs 】数学知识库收藏管理:标签筛选、详情弹窗与近场分享数据准备

发布时间:2026/8/29 22:17:53

【OpenHarmony/HarmonyOs 】数学知识库收藏管理:标签筛选、详情弹窗与近场分享数据准备
【OpenHarmony/HarmonyOs 】数学知识库收藏管理标签筛选、详情弹窗与近场分享数据准备项目类型OpenHarmony / HarmonyOS ArkTS 数学学习应用项目名称数学视界对应主题近场快传、全场景智慧生活、隐私保护方案关键词ArkTS、收藏系统、知识库、标签筛选、详情弹窗、结构化数据 一、为什么收藏系统不只是“加个爱心”在数学视界项目中收藏系统不是简单地把某个条目标记为喜欢而是一个个人数学知识库。用户可以收藏公式知识点趣味百科图形方案历史内容自定义笔记。这就让收藏系统具备了更大的扩展空间本地复习标签筛选详情查看编辑备注删除整理近场分享备份恢复元服务“最近收藏”入口。所以这篇文章重点写FavoritesPage.ets如何把收藏做成结构化知识库。二、收藏页面状态分类、标签、搜索、排序收藏页的状态比较完整StateselectedCategory: string 全部Statecategories: string[] [全部,公式,知识点,趣味百科,图形,历史,自定义]StateallTags: string[] [全部,几何,代数,三角,函数,概率,导数,常数,基础,趣味百科,画板]StateselectedTag: string 全部StatesearchKeyword: string StatesortType: string 最新StateviewMode: string listStatefavorites: FavoriteItem[] []StatefilteredFavorites: FavoriteItem[] []这说明收藏页支持多维度管理按分类看按标签看按关键词搜按最新/最早/名称/分类排序列表视图和网格视图切换。对学习应用来说这些能力比单纯“收藏/取消收藏”更有价值。三、FavoriteItem收藏条目的统一结构全局收藏类型定义在AppState.etsexport interface FavoriteItem {id:stringtype:stringtitle:stringcontent:stringcategory:stringicon:stringbgColor:stringaccentColor:stringnote:stringtags:string[] createdAt:numberupdatedAt:numbergraphData?:stringthumbnail?:string}这个结构的亮点是它能统一承载多种内容公式type formula知识点type knowledge图形type graph可带graphData自定义笔记type custom。尤其是graphData字段它为后续近场快传数学图形方案做了准备。分享时不一定要传图片可以传结构化数据。四、筛选逻辑分类、标签、关键词组合过滤收藏页的核心筛选逻辑如下private doFilter(): void {let result: FavoriteItem[] this.favoritesif (this.selectedCategory! 全部) { result result.filter((item: FavoriteItem): boolean item.category this.selectedCategory) } if (this.selectedTag! 全部 this.selectedTag! ) { result result.filter((item: FavoriteItem): boolean item.tags.indexOf(this.selectedTag) 0 ) } if (this.searchKeyword.trim() ! ) { const kw: string this.searchKeyword.toLowerCase() result result.filter((item: FavoriteItem): boolean item.title.toLowerCase().indexOf(kw) 0 || item.content.toLowerCase().indexOf(kw) 0 || item.note.toLowerCase().indexOf(kw) 0 ) } this.filteredFavorites result }这个逻辑非常适合个人知识库想看公式选“公式”想看函数相关内容选“函数”标签想找某个关键词直接搜索标题、内容、备注多个条件可以叠加。五、排序让知识库更容易整理收藏页支持四种排序if(this.sortType 最新) { result.sort((a: FavoriteItem,b: FavoriteItem):numberb.createdAt - a.createdAt ) }elseif(this.sortType 最早) { result.sort((a: FavoriteItem,b: FavoriteItem):numbera.createdAt - b.createdAt ) }elseif(this.sortType 名称) { result.sort((a: FavoriteItem,b: FavoriteItem):numbera.title.localeCompare(b.title,zh-CN) ) }elseif(this.sortType 分类) { result.sort((a: FavoriteItem,b: FavoriteItem):numbera.category.localeCompare(b.category,zh-CN) ) }这些排序方式对应不同学习场景最新复习最近收藏最早回顾长期积累名称按知识点查找分类整理知识结构。六、添加收藏自定义内容也能进入知识库收藏页支持用户手动添加内容addFavorite(): void {if(this.addTitle.trim() ) {this.showToast(⚠️ 请输入标题)return}if(this.addContent.trim() ) {this.showToast(⚠️ 请输入公式/内容)return}constparsedTags: string[] this.addTags.split(/[,]/) .map((t: string): string t.trim()) .filter((t: string): boolean t !)constnewItem: FavoriteItem { id: Date.now().toString(), type:this.addCategory 公式?formula:custom, title:this.addTitle.trim(), content:this.addContent.trim(), category:this.addCategory, icon: iconMap[this.addCategory] ??, note:this.addNote.trim() !?this.addNote.trim() :用户收藏, tags: parsedTags, createdAt: Date.now(), updatedAt: Date.now(), } AppState.addFavorite(newItem) }这让收藏页不仅能接收系统内置公式、百科、画板也能接收用户自己的笔记。七、编辑与详情弹窗收藏需要可维护收藏详情弹窗展示了标题、分类、内容、备注、标签Text(this.selectedItem.title)Text(this.selectedItem.category · this.formatDate(this.selectedItem.createdAt))Text(this.selectedItem.content)Text(this.selectedItem.note||暂无备注)标签展示ForEach(this.selectedItem.tags, (tag:string) {Text(tag).fontSize(12).fontColor(#FF7A8A).backgroundColor(this.getIconBg(#FFE8F0)) .borderRadius(10)})底部提供编辑和删除Button(✏️ 编辑) .onClick(() {this.showDetailDialog falsethis.openEditDialog(this.selectedItem!) }) Button(️ 删除) .onClick(() {this.removeFavorite(this.selectedItem!.id)this.showDetailDialog false})知识库不是越多越好也需要整理。编辑和删除能力能让用户保持收藏质量。八、近场分享为什么结构化收藏很重要如果后续接入近场快传收藏系统可以直接作为分享数据来源interface FavoriteSharePackage {version:numbertype:stringtitle:stringcontent:stringcategory:stringnote:stringtags:string[] graphData?:string}比如分享一条公式分享一篇趣味百科分享一个图形画板方案分享一组标签下的知识点。结构化分享比截图更适合学习场景因为接收方可以继续编辑、收藏和复习。九、隐私保护收藏默认留在本地收藏内容可能包含用户的学习重点、错题备注、个人笔记所以它也属于需要保护的学习数据。当前项目的收藏管理是本地状态refreshFavorites(): void { this.favorites AppState.favoritesthis.doFilter() }默认不上传、不共享、不做 AI 识图。用户主动触发分享时再生成结构化数据包是更稳妥的方式。十、全场景扩展收藏可以成为学习资产中心收藏页后续可以扩展到多个场景场景用法元服务展示最近收藏的公式近场快传分享公式卡片或图形方案备份恢复换机保留个人知识库今日复习从收藏中抽取一条知识点学习报告统计收藏分类分布这说明收藏系统不是附属功能而是学习资产中心。十一、总结这篇文章贴合近场快传、全场景智慧生活和隐私保护主题重点是数学视界的收藏知识库。核心实现包括 用FavoriteItem统一承载公式、知识点、百科、图形和自定义内容 用分类、标签、关键词组合筛选 支持最新、最早、名称、分类排序 用详情弹窗展示内容、备注和标签✏️ 支持编辑和删除方便维护知识库质量 通过graphData为图形方案分享做准备 默认本地管理用户主动触发时再分享。对数学学习 App 来说收藏系统的价值不只是“喜欢”。它真正承载的是用户长期积累的学习资产。

相关新闻

大模型评测与AI产品质量保障:第21篇 传统基准测试实战(二):GSM8K、MATH 与 TruthfulQA

大模型评测与AI产品质量保障:第21篇 传统基准测试实战(二):GSM8K、MATH 与 TruthfulQA

2026/8/24 11:34:51

IT策士 10余年一线大厂经验,专注大模型测试、AI产品质量保障与职场进阶。我会在各个平台持续发布最新文章,助你少走弯路。上一篇我们拆解了 MMLU 和 HellaSwag,一个测"知识储备",一个测"常识推理"。但大模型最…

Playwright 项目脚手架与多项目管理

Playwright 项目脚手架与多项目管理

2026/8/26 2:17:06

🧠 一、核心问题理解 在学习 Playwright 自动化过程中,经常会遇到两个问题: 1. npx playwright init 是什么? 2. 多个项目(网报A / CRM)怎么管理? 3. 是否需要复制脚手架?&#x1f6…

数字图像处理 2.7 节:像素邻接与连通性辨析,4邻域/8邻域在OpenCV中的3种实现对比

数字图像处理 2.7 节:像素邻接与连通性辨析,4邻域/8邻域在OpenCV中的3种实现对比

2026/8/27 6:59:35

像素邻接与连通性在OpenCV中的3种实现方法深度解析引言:为什么像素关系如此重要当我们第一次接触数字图像处理时,往往会被各种炫目的滤镜和特效吸引。但真正决定图像处理质量的基石,却是那些看似枯燥的基础概念——比如像素间的邻接关系和连通…

Voicebox七大TTS引擎选型指南:按场景选出最合适的引擎

Voicebox七大TTS引擎选型指南:按场景选出最合适的引擎

2026/8/29 22:11:02

Voicebox七大TTS引擎选型指南:按场景选出最合适的引擎 【免费下载链接】voicebox The open-source AI voice studio. Clone, dictate, create. 项目地址: https://gitcode.com/GitHub_Trending/voicebox1/voicebox Voicebox 是一款开源的本地 AI 语音工作室&…

2019前端校招笔试全解析:JavaScript/ES6与工程化考点拆解

2019前端校招笔试全解析:JavaScript/ES6与工程化考点拆解

2026/8/29 22:11:02

2019年这个时间节点,正好卡在前后端分离已经全面普及、但工程化体系还没完全固化的阶段。那年校招笔试,前端开发工程师的题目风格很有代表性:JavaScript基础仍然是绝对主角,ES6新特性已经大量出现在考题里,CSS布局题依…

校园二手交易系统:Python+Django+MySQL高并发实战

校园二手交易系统:Python+Django+MySQL高并发实战

2026/8/29 22:11:02

简介:校园二手交易平台是典型的轻量级Web应用,其核心涉及Web开发基础概念(如MVC架构、用户认证、文件上传)、数据库设计原理(关系建模、索引优化、事务一致性)及真实场景下的工程权衡。技术价值在于将Djang…

回顾2015腾讯前端笔试:那些经典基础题如今还重要吗?

回顾2015腾讯前端笔试:那些经典基础题如今还重要吗?

2026/8/29 22:11:02

2015年的春招季,移动端刚刚全面爆发,React还在普及早期,Vue还只有1.0,ES6的推进也才刚刚开始。在这个时间点上,腾讯的前端笔试练习卷可以说非常有代表性。前几天整理网盘,翻出了这套题,重新看了…

为什么AI写的界面总有一股廉价感?UI Skills教你彻底告别AI Slop

为什么AI写的界面总有一股廉价感?UI Skills教你彻底告别AI Slop

2026/8/29 22:11:02

为什么AI写的界面总有一股廉价感?UI Skills教你彻底告别AI Slop 【免费下载链接】ui-skills Skills for Design Engineers 项目地址: https://gitcode.com/GitHub_Trending/ui/ui-skills 如果你让AI写一个落地页,十有八九会得到:紫色渐…

触宝2017校招前端笔试复盘:事件循环、缓存与手写编程题深度解析

触宝2017校招前端笔试复盘:事件循环、缓存与手写编程题深度解析

2026/8/29 22:01:02

说起来有点意思,前几天整理硬盘翻出一份老存档,是当年参加触宝科技2017秋季校招笔试的记录。那会儿“客户端前端”这个叫法还没有后来那么细的分工,移动端H5、混合应用、内嵌WebView正是最热闹的阶段,校招笔试也卡在最微妙的节点上…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/29 10:22:10

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/28 7:34:42

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

四款热门降AI工具测评:研究生和本科生怎么选?

四款热门降AI工具测评:研究生和本科生怎么选?

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

论文降AI率免费攻略:自查、提示词与工具推荐

论文降AI率免费攻略:自查、提示词与工具推荐

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

2026/8/29 0:09:39

前言:预算有限的企业更关心投入能否形成可持续的品牌资产。评估北京GEO优化服务商时,不能只比较单篇内容或单月报价,还要看是否能够把问题词、官网、信源和监测串成完整链路。本期重点放在预算配置、试点范围和交付边界,帮助企业先…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…