- 博客(47)
- 资源 (3)
- 收藏
- 关注
原创 10项目总结与优化方向-鸿蒙PC端Electron开发
本文总结了开源鸿蒙PC社区英语学习项目的架构与技术实现。项目采用分层架构设计,包含UI层、业务逻辑层、数据层和系统能力层,核心功能包括手写识别、OCR接入和单词学习。技术栈涵盖ArkUI框架、ArkTS语言、Canvas绘图、百度OCR API等。文章回顾了关键设计决策,如Stack三层结构优化手写体验,以及touchMove事件处理提升性能。项目已完成10篇系列教程,提供完整源码和优化方向参考。
2026-05-12 17:01:34
59
原创 09词根分解与水印展示-鸿蒙PC端Electron开发
本文介绍了开源鸿蒙PC社区中英语学习应用的词根分解与水印展示功能。文章首先回顾了WordPart数据结构,展示了如何将单词拆解为词根词缀并标注含义。接着详细设计了三种词根类型的颜色编码方案,通过不同背景色和文字色区分前缀、词根和后缀。然后介绍了使用ArkUI的@Builder装饰器实现可复用的词根分解行组件,包括颜色辅助方法和ForEach循环处理。最后讲解了如何将词根分解信息集成到应用的水印层中,位于Stack布局的特定层级。该功能帮助用户通过构词法理解单词,提升记忆效率。
2026-05-12 16:59:36
185
原创 08单词切换与底部导航-鸿蒙PC端Electron开发
本文介绍了开源鸿蒙PC社区中单词默写功能的实现,重点讲解了单词切换与底部导航的设计。通过状态管理区分响应式与非响应式数据,优化性能表现。详细说明了prevWord/nextWord切换方法的边界检查逻辑,以及切换时清空画布的必要性。底部导航按钮遵循特定设计规范,使用Blank()实现右对齐布局,确保交互流畅性和视觉一致性。该实现为英语学习应用提供了高效便捷的单词切换体验。
2026-05-12 16:58:09
171
原创 07答案比对与反馈UI-鸿蒙PC端Electron开发
文章摘要: 本文介绍了开源鸿蒙PC项目中手写识别的答案比对与反馈UI实现。通过normalize()函数标准化OCR识别结果和正确答案,解决了大小写、空格、标点等导致的误判问题。比对逻辑分为三种状态:正确(绿色✓)、错误(红色✗并显示正确答案)、无识别内容(黄色警告)。反馈浮层采用Stack布局,定位在画布左上角,确保清晰可见且不干扰书写。错误时显示正确答案的设计强化了纠错学习功能,提升了用户体验。
2026-05-12 16:52:21
152
原创 06百度OCR手写识别接入-鸿蒙PC端Electron开发
本文介绍了在开源鸿蒙项目中接入百度OCR手写识别服务的实现过程。针对华为端侧OCR存在的稳定性问题,作者选择百度OCR作为替代方案,详细阐述了其优势(稳定识别、专门优化手写、免费额度等)。文章包含完整的实现代码,包括获取Access Token、图片格式转换(PixelMap转Base64)以及英文手写识别接口调用等关键步骤,并提供了网络权限配置、性能优化建议等实用技巧。该方案解决了手写单词识别问题,为后续答案比对功能奠定了基础。
2026-05-12 16:43:07
334
原创 05手写画布实现-鸿蒙PC端Electron开发
本文介绍了在开源鸿蒙PC社区中实现手写画布功能的关键技术。主要内容包括: Canvas组件基础使用,包括创建渲染上下文、抗锯齿设置和ID属性配置 画笔参数优化,详细说明了线条端点、连接处样式和笔宽选择 触摸绘图的核心优化方案,通过分段绘制解决性能卡顿问题 三层Stack结构设计,实现白底背景、水印文字和透明画布的叠加显示 关键属性hitTestBehavior的作用,确保触摸事件穿透水印层到达画布 文章提供了完整的代码示例和性能对比分析,特别强调了绘图性能优化的实现原理。
2026-05-12 16:40:59
345
原创 04极速划词页面实现-鸿蒙PC端Electron开发
鸿蒙PC单词学习App开发实战(四):极速划词页面实现 本文介绍了鸿蒙PC单词学习App中极速划词页面的实现,主要包含以下内容: 页面布局设计:采用左右分栏结构,左侧为Tab导航栏,右侧为单词卡片网格 Tab导航实现: 包含"极速划词"和"默写单词"两个功能选项 使用条件渲染切换不同内容区 设计了选中/未选中状态的不同样式 单词卡片组件: 左右分栏布局,左侧显示单词和音标,右侧显示释义 实现点击显示/隐藏中文释义的交互 使用数组管理单词的显示状态 网格布局: 将单词数
2026-05-12 16:27:37
321
原创 03主入口页面与导航结构-鸿蒙PC端Electron开发
本文介绍了HarmonyOS应用开发中的页面路由机制和主入口页面实现。主要内容包括:1)HarmonyOS的路由系统工作原理及API使用;2)NativeListPage的完整布局结构,包含标题栏、功能卡片、搜索栏和单词列表;3)功能卡片实现细节,如渐变色背景和阴影效果;4)实时搜索功能的实现方法;5)列表渲染优化技巧,包括ForEach和LazyForEach的使用场景;6)常用布局技巧和主题色应用。文章为开发者提供了HarmonyOS应用开发的实用指导,并预告下篇将实现极速划词页面功能。
2026-05-12 16:11:21
338
原创 02数据模型与单词仓库-鸿蒙PC端Electron开发
本文介绍了开源鸿蒙PC社区单词学习App的数据模型设计与实现。主要内容包括:1. 设计VocabularyWord核心数据模型,包含单词基本信息、词根分解等结构;2. 采用Repository模式创建SpeedWordRepository和HandwritingWordRepository两个数据仓库,分别管理不同场景的单词数据;3. 详细说明在ArkTS中使用数据仓库的方法和注意事项,包括状态管理、数组变更处理等;4. 规划了从JSON文件、Preferences到网络API等后续数据层扩展方向。通过先设
2026-05-12 15:38:36
397
原创 01环境搭建与项目创建-鸿蒙PC端Electron开发
《HarmonyOS+Electron单词学习App开发指南》摘要:本文详细介绍了从零开始搭建单词学习App的开发环境与项目创建流程。内容包括DevEco Studio安装配置、Node.js环境设置、真机调试准备等开发环境搭建步骤;解析了基于electron框架的项目目录结构;提供了两种项目创建方式(模板克隆和现有项目开发),并说明首次运行的注意事项和常见问题解决方案。文章还介绍了关键的配置文件如app.json5和module.json5的作用,为后续开发数据模型和功能实现奠定基础。
2026-05-12 13:11:57
267
原创 从 0 到 1的第一步
文章摘要:本文介绍了基于Node.js和TypeScript构建AI应用的基础环境配置与开发流程。首先需要安装Node.js和npm,创建项目并安装核心依赖(langchain、dotenv等)。重点讲解了API Key配置、TypeScript环境设置,以及创建最小可运行的AI Agent示例代码。开发过程遵循从简到繁的原则:先实现基础功能,再逐步添加工具链、系统提示、工作流等高级功能。学习路径建议从理解基础模型对象开始,逐步掌握工具、提示、链式调用等概念,最终过渡到LangGraph工作流的应用。
2026-04-28 11:12:52
211
原创 【果一下】鸿蒙APP上架了
关于【果一下】已经全部开发完成并且在鸿蒙应用市场完成上架,希望开发朋友们能帮忙下载一下,非常感谢。https://appgallery.huawei.com/app/detail?id=com.lsy.fruit&channelId=SHARE&source=appshare
2026-04-16 13:45:44
69
原创 【收尾以及复盘】flutter开发鸿蒙APP之今日选择吃什么水果弹出框
本文介绍了一个Flutter实现的底部弹出式水果选择对话框组件。该弹窗采用圆角卡片设计,包含标题栏(带关闭按钮)、2列网格布局的水果选项(每项含图片和名称)和底部提示文字。核心实现使用showDialog显示透明背景弹窗,通过GridView构建水果网格,每个水果卡片支持点击选择并返回数据。组件具有良好交互性,支持点击外部关闭,返回选中的水果信息供后续处理。完整代码结构清晰,可直接集成到项目中实现美观实用的水果选择功能。
2026-02-06 01:41:21
334
原创 【收尾以及复盘】flutter开发鸿蒙APP之成就徽章页面
本文介绍了一个成就徽章展示页面的Flutter实现方案。页面采用两列网格布局展示10个等级徽章,已解锁徽章显示为彩色,未解锁显示为灰色半透明。顶部显示已解锁数量(如3/10),底部展示下一级徽章进度提示。实现要点包括:1.数据结构采用BadgeData类管理徽章信息;2.支持从API获取数据并合并排序,失败时使用本地默认数据兜底;3.通过图标映射实现不同状态的视觉区分;4.采用GridView构建2列网格布局
2026-02-06 00:56:47
1056
6
原创 【收尾以及复盘】flutter开发鸿蒙APP之本月数据统计页面
摘要:本文介绍了一个基于Flutter开发的用户打卡数据可视化页面,包含以下核心功能:1)顶部4个统计卡片展示今日摄入、连续打卡等关键指标;2)中间柱状图展示月度打卡趋势,支持点击查看每日详情;3)底部环形图统计水果类别占比。页面采用StatefulWidget管理多个数据源,通过Future.wait并行加载4个API接口数据。技术实现包含自定义柱状图、环形图绘制、下拉刷新等功能,数据结构使用DataStatistics、CalendarDate等模型类存储打卡信息。页面布局采用响应式设计,适配不同屏幕尺
2026-02-06 00:35:47
717
原创 【收尾以及复盘】flutter开发鸿蒙APP之打卡日历页面
本文介绍了一个打卡日历页面的实现方案,主要包括以下功能: 顶部月份切换器支持左右切换查看不同月份 日历网格显示打卡情况(绿色表示已打卡,淡绿色表示未打卡) 当天日期有绿色边框高亮 底部统计卡片展示本月打卡数据 核心实现包括: 日期计算和网格渲染 数据加载和状态管理 统计信息计算 通过API获取打卡数据并展示
2026-02-05 23:56:27
625
原创 【开源鸿蒙跨平台开发先锋训练营】DAY15~DAY19为开源鸿蒙跨平台应用全面集成添加核心场景-注册页面
本文介绍了Flutter注册页面的开发实现,包含手机号、密码和验证码输入功能。页面采用白色背景,包含标题区、输入表单(带图标和样式)、验证码发送按钮(含倒计时功能)、操作按钮(返回登录和立即注册)以及隐私政策同意选项。通过状态管理控制密码可见性、验证码倒计时和隐私政策勾选状态,并实现了表单验证逻辑。注册成功后跳转至主页面,失败则显示错误提示。整体采用绿色(#4CAF50)作为主题色,搭配灰阶文本和浅灰色背景。
2026-01-30 21:37:57
1018
原创 【开源鸿蒙跨平台开发先锋训练营】DAY15~DAY19为开源鸿蒙跨平台应用全面集成添加核心场景-登录页面
本文介绍了登录页面的开发实现,包含手机号/密码输入、隐私政策同意等核心功能模块。通过Flutter框架实现UI组件开发,包括带图标和状态控制的输入框、可切换显示/隐藏的密码框、隐私政策复选框等交互元素。代码展示了表单验证逻辑、API调用流程,以及登录成功后用户信息保存和页面跳转处理。整体采用绿色(#4CAF50)作为主色调,搭配灰色系文字。
2026-01-30 21:12:25
316
原创 【开源鸿蒙跨平台开发先锋训练营】DAY15~DAY19为开源鸿蒙跨平台应用全面集成添加核心场景-水果详情页面
本文详细介绍了水果详情页面的开发实现,采用卡片式布局设计,包含顶部导航栏、水果头部信息、营养功效、主要功效和营养成分等模块。文章阐述了数据模型设计(Fruit、NutritionItem、Feature类),并提供了完整的页面实现代码,包括基础页面框架、各卡片组件的构建方法以及GridView的配置参数。特别推荐了页面使用的配色方案(主色调为0xFF4CAF50的浅绿色系),最后邀请开发者加入开源鸿蒙跨平台社区。整个页面设计简洁美观,功能完整,有效展示水果的各类详细信息。
2026-01-30 20:44:28
834
原创 【开源鸿蒙跨平台开发先锋训练营】DAY8~DAY13底部导航栏Tab选项卡4-我的
本文介绍了一个Flutter个人主页的开发实现。页面采用StatefulWidget构建,包含三个主要组件:用户信息卡片(展示头像、用户名和打卡天数)、统计卡片(显示累计打卡、连续打卡和完成率)和功能菜单(提供打卡日历、数据统计、徽章查看和退出登录入口)。目前使用模拟数据,仅实现了退出登录功能。页面采用绿色系配色方案(主色#4CAF50),使用SingleChildScrollView支持滚动,布局采用白色卡片式设计,通过Container和BoxDecoration实现圆角效果。各功能模块采用独立Widg
2026-01-30 20:09:02
450
原创 【开源鸿蒙跨平台开发先锋训练营】DAY8~DAY13底部导航栏Tab选项卡3-打卡记录
本文介绍了一个水果打卡记录页面的Flutter实现方案。页面采用StatefulWidget管理状态,顶部导航栏包含"全部记录"筛选按钮。核心功能包括:1)按时间倒序展示打卡记录,今日记录标红点;2)每条记录显示时间、水果图片、名称和数量;3)点击可跳转详情页。技术实现上使用ListView.builder优化长列表性能,通过GestureDetector处理点击事件,并设计了包含圆点标识、水果图片和数量信息的卡片式UI。目前采用假数据模拟,预留了对接真实API的接口。页面配色采用浅灰背
2026-01-30 19:35:44
158
原创 【开源鸿蒙跨平台开发先锋训练营】DAY8~DAY13底部导航栏Tab选项卡2-首页
本文介绍了水果打卡App首页开发的核心功能实现。主要包含轮播图展示和打卡系统两大模块:1)轮播图使用carousel_slider组件实现自动播放,支持图片点击预览和动态指示器;2)打卡系统通过状态管理切换未打卡/已打卡状态,包含UI样式变化(背景色、标签文字等)和交互逻辑(记录打卡时间、选择水果等)。代码示例展示了轮播图配置、状态切换逻辑及动态UI渲染的实现细节,使用Flutter框架实现了完整的交互式界面。
2026-01-30 19:07:04
223
原创 【开源鸿蒙跨平台开发先锋训练营】DAY8~DAY13底部导航栏Tab选项卡1
本文介绍了Flutter应用中实现底部导航栏的完整步骤:1)准备8张图标图片(选中/未选中状态各4个);2)创建图片路径常量类统一管理资源;3)构建首页、打卡和我的页面组件;4)开发自定义底部导航栏项组件,支持图标切换和动画效果;5)实现主页面框架,集成IndexedStack管理页面切换;6)修改应用入口使用MainPage作为首页。整个方案采用模块化设计,通过常量管理资源路径,自定义组件实现平滑过渡效果,最终构建出包含四个选项卡的底部导航栏结构。
2026-01-24 15:35:39
364
原创 【开源鸿蒙跨平台开发先锋训练营】Day4~6 实现上拉加载下拉刷新能力
介绍了为解决接口数据不足问题而采用的新接口设计方案,该接口支持分页查询水果信息,包含页码、每页数量和水果类别三个参数。详细说明了接口返回的数据结构,包括水果基本属性、营养成分和功效等信息。重点阐述了在鸿蒙手机上使用Flutter实现下拉刷新和上拉加载功能的代码实现,通过RefreshIndicator组件和分页逻辑控制数据加载,当刷新时重置页码并替换列表,加载更多时追加数据。
2026-01-15 23:50:26
73
原创 【开源鸿蒙跨平台开发先锋训练营】Day3 支持鸿蒙的Flutter请求网络,实现列表功能
本文介绍了在Flutter开发鸿蒙应用时如何进行网络请求。主要使用第三方库http进行HTTP请求,并详细说明了各平台的网络权限配置方法:鸿蒙需在module.json5中添加权限,安卓需修改AndroidManifest.xml,macOS需配置entitlements文件。文章提供了完整的网络请求封装示例,包括HttpClient类、ApiResponse模型和API配置,并展示了如何实现礼物列表的请求与展示。最后给出了一个Flutter新手入门示例,演示了从网络请求到UI显示的全流程,包括状态管理、主
2026-01-14 16:49:13
467
原创 【开源鸿蒙跨平台开发先锋训练营】Day2 在flutter创建鸿蒙跨平台项目并将代码提交至AtomGit平台自建公开仓库全流程
atomgit项目提交指南:1)在atomgit创建项目并获取地址;2)生成访问令牌;3)使用基础Git命令(init/add/commit等)初始化项目;4)关联远程仓库(remote add origin);5)通过包含令牌的URL设置认证(remote set-url);6)执行分支管理(branch -M)和推送(push);7)处理特定文件(README.md/.gitignore)的添加、提交和移除(rm --cached)。注意强制推送(--force)需谨慎使用。完整流程包含14-16步的.
2026-01-13 11:06:04
485
2
原创 小程序-主题
<view class="theme-view home-view"> <view class="theme-view-item" wx:for="{{themeArr}}" wx:key> <image class="theme-view-item-img" src="{{item.url}}" mode='aspectFill'></image> <text class="theme-view-item-text"&g...
2021-09-23 09:48:01
696
原创 小程序-搜索框
<view class="titleBar-view " style="margin-top:{{heightTop}}px"> <view class="titleBar-input"> <image class="titleBar-img" src="../../images/home/search.png" mode="aspectFit"></image> <text class="titleBar-text...
2021-09-23 09:46:24
147
原创 小程序-首页小列表查看更多
<view class="brand-view home-view"> <view class="brand-view-head"> <view> <text class="brand-view-head-text">热搜品牌 </text> <image class="brand-view-head-img" src="../../images/home/hot.png"></im...
2021-09-23 09:44:49
285
原创 小程序-轮播图
<!-- 滑动轮播图 --><swiper class='swiper-img-view home-view' indicator-dots='{{indicatorDotsTrue}}' circular='true' interval="3000" duration="500 "> <block wx:for="{{images}}" wx:key> <swiper-item> <image src="{{ite...
2021-09-23 09:42:41
129
原创 小程序-标签2
<view class="home-pool-view-all"> <view class="home-pool-item"> <view class="home-pool-tag-item" wx:for="{{poolArr }}">{{item.text}}</view> </view> </view>.home-pool-view { margin-bottom: 20rpx...
2021-09-23 09:40:38
119
原创 小程序-标签
<view class="home-tag-view-all home-view "> <view class="home-tag-view "> <view class="home-tag-item" wx:for="{{textArr}}">{{item.text}}</view> </view></view>.home-tag-view-all{ margin-bottom: 20rpx;...
2021-09-23 09:39:00
121
原创 小程序-tab
.home-nav-view { background: #ffffff; padding: 0rpx 30rpx 0rpx; line-height: 66rpx; padding-top: 15rpx; height: 96rpx; margin-bottom: 20rpx;}.home-nav-list { color: #4A4A4A;}.home-nav-cur { font-size: 28rpx; font-weight: bold;...
2021-09-23 09:37:22
147
原创 25岁的我
25岁的我 很失败 一事无成 无房无车无存款 今年我父亲发生意外 很严重 虽然 现在暂时稳定了 但是迟早会复发 因为这个事情 让我发现 我是一个多么失败的人 我这个人毫无优点 自以为是 心比天高 怒其不争 可笑又可恨的一个人 连自己唯一的亲人都保护不了 我简直是一个很可恶的人 虽然天天打电话但是实际上却不知道怎么和父亲交流总是让年迈的父亲让自己担心 有理想却不肯付出全部努力去做 整天把时间浪费 把年华虚度 25岁的我 怎么会是这个样子 很讨厌现在的自己 想过死亡 但做不到 因为软弱 看吧 我就是这样的人..
2021-09-23 09:32:42
180
原创 出现NaN,有哪些可能原因?
用字符串或者undefined去计算的时候也会出现NaN下面是实验------------------------------------------------------------------------------------------------------parseInt实际上是解析可解析部分,如果你需要严格解析,自然用Number。但是如果你可能希望放宽一点标准,那parseInt更好。...
2021-08-04 13:04:19
3077
原创 关于input 键盘右下方confirm-type=‘search‘ 点击事件【小程序】
bindconfirm='confirmTap' 用bindconfirm示例<input confirm-type='search' bindconfirm='confirmTap' placeholder="输入课本名称 出版社 年级" class='bookss-input'></input>confirmTap:function(){console.log(event.detail.value);},...
2021-05-26 17:51:51
1040
原创 加载中-全局加载中进度条【vue】
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-05-26 17:43:37
316
httpRequest网络请求
2016-02-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅