- 博客(55)
- 收藏
- 关注
原创 掌握命令行选项解析:getoptions选项解析器实战技巧与最佳实践
本文介绍了一个优雅的POSIX shell脚本选项解析器getoptions。它支持flag、param、option等选项类型,可生成帮助信息并处理剩余参数。文档详细讲解了安装方法(tar.gz包或手动安装)、基本语法(parser_definition函数、setup配置、选项类型定义)以及使用示例(包括查看版本和帮助信息)。通过hello.sh示例脚本展示了实际应用,该脚本能解析标志选项、带参选项和可选参数选项,并输出解析结果。
2025-12-23 17:55:10
688
原创 纯脚本项目的跨平台适配方法论:getoptions在开源鸿蒙PC平台的实现解析
本文档介绍了将getoptions选项解析器适配到开源鸿蒙PC平台的技术细节。getoptions是一个纯POSIX shell脚本实现的轻量级选项解析工具,支持长/短选项、参数验证和自动帮助生成等特性。适配工作主要包括构建系统集成、Shebang修正、路径适配和HNP包配置,最终生成可在鸿蒙终端运行的脚本版本。项目采用Makefile构建,通过build_ohos.sh脚本实现自动化打包,为鸿蒙生态提供了专业的shell脚本开发支持。
2025-12-23 17:53:52
544
原创 命令行esh模板引擎实战技巧与最佳实践
esh是一个轻量级模板引擎,支持在模板中嵌入和执行Shell命令。本文系统介绍了esh的安装、语法特性、使用示例和高级功能。主要内容包括:通过tar包或手动方式安装esh;基础语法如变量替换、控制结构和注释;实际应用示例展示条件判断、循环和模板包含;高级功能如错误处理和环境配置。esh适用于动态生成配置文件等场景,支持从标准输入读取和输出到文件,提供了灵活的模板化处理方案。
2025-12-19 09:55:19
689
原创 命令行esh在开源鸿蒙PC平台的工程实践
本文介绍了轻量级模板引擎 esh 在开源鸿蒙PC平台的适配过程。esh 是一个纯 Shell 脚本实现的模板引擎,具有 POSIX 兼容、零依赖等特点。适配工作主要包括构建脚本设计、HNP包配置和路径适配等,无需修改核心代码。构建输出为 HNP 包和 tar.gz 压缩包,支持两种安装方式。技术亮点包括零编译适配、POSIX 兼容性和轻量级实现。最终成功将 esh 移植到开源鸿蒙PC平台,为开发者提供了完整的跨平台移植参考方案。
2025-12-19 09:53:10
808
1
原创 命令行critic.sh测试框架与代码覆盖率分析深度解析
《critic.sh:Bash测试框架与代码覆盖率实践》 摘要: critic.sh是一个轻量级Bash测试框架,支持测试套件定义、断言验证和代码覆盖率分析。本文档详细介绍了该工具的安装方法(支持tar.gz包和手动安装两种方式)、基础语法(包括测试套件定义、断言函数使用)以及实际应用场景(函数测试、命令行工具测试等)。特别展示了其核心功能——通过LCOV和HTML格式生成代码覆盖率报告,帮助开发者识别未测试代码。
2025-12-19 09:52:03
830
原创 命令行critic.sh在开源鸿蒙PC平台的实现解析
critic.sh是一个轻量级Bash测试框架,本文详细介绍了其在开源鸿蒙PC平台的适配过程。该项目作为纯Bash脚本,无需编译,主要适配工作包括:创建包装脚本自动查找Bash解释器、确保路径兼容性、配置HNP打包等。构建脚本实现了跨平台部署逻辑,支持自动检测Bash 4.1+环境。该适配为鸿蒙生态提供了专业的Bash测试工具,支持代码覆盖率分析,提升了脚本开发质量。文章从架构分析到实现细节,完整展示了纯脚本项目的跨平台移植方法论。
2025-12-19 09:49:42
1051
原创 m4宏处理器在鸿蒙PC上的应用指南
本文介绍如何在鸿蒙PC上安装和使用官方适配的m4宏处理器工具。m4作为Unix/Linux系统中的重要文本处理工具,支持宏处理、文本生成等功能,是构建系统的基础依赖。由于鸿蒙PC的安全限制,必须将工具打包为HNP(HarmonyOS Native Package)格式才能使用。文档详细说明了HNP包的打包方法,包括下载预构建包、创建配置文件、设置安装目录结构等步骤,并提供了手动打包脚本示例。通过HNP包安装的m4工具可与鸿蒙PC的包管理系统集成,确保安全可靠的使用体验。
2025-12-16 10:44:35
1358
原创 GNU make在鸿蒙PC上的使用方法
本文档介绍了为OpenHarmony平台适配的GNU make工具ohos-make的安装与使用方法。由于鸿蒙PC的安全限制,必须将工具打包为HNP(HarmonyOS Native Package)格式才能使用。文档详细说明了从下载预编译包到创建HNP配置文件的完整打包流程,包括目录结构准备、配置文件编写和打包脚本示例。此外,还对比了鸿蒙PC与其他平台(开发板、容器)在使用方式上的差异,并强调了HNP包在系统集成和安全方面的优势。
2025-12-16 10:42:58
811
原创 命令行ninja在鸿蒙PC上的使用方法
摘要: 本文介绍了专为OpenHarmony平台适配的ohos-ninja构建工具,详细说明其HNP包打包、安装与使用方法。ninja作为高效构建工具,适用于鸿蒙PC(aarch64-linux-ohos)开发场景,支持快速增量构建。由于鸿蒙PC安全限制,需通过HNP格式安装(路径为/data/service/hnp/),文中提供了从预构建包下载、配置hnp.json到打包脚本的完整流程,并对比了鸿蒙开发板与容器的不同使用方式。通过官方HNP包可确保系统兼容性与安全性,提升开发效率。
2025-12-16 10:41:09
813
原创 Perl在鸿蒙PC上的使用方法
Perl(Practical Extraction and Report Language)是一种功能强大的编程语言,由 Larry Wall 开发。它以文本处理能力著称,被誉为"Unix 的瑞士军刀"。
2025-12-16 10:39:54
786
原创 官方适配完的命令行ruby在鸿蒙PC上的使用方法
本文档介绍了为OpenHarmony平台适配的Ruby解释器ohos-ruby的安装与使用方法。主要内容包括:Ruby语言特性概述、HNP包的必要性及优势、HNP包打包配置步骤、安装流程、Ruby脚本运行示例以及gem包管理操作。针对鸿蒙PC的系统安全限制,文档详细说明了如何将Ruby预构建包转换为符合规范的HNP格式,并提供了从下载、配置到打包的完整指南。同时涵盖了常见问题解答和最佳实践建议,帮助开发者在鸿蒙系统上高效使用Ruby语言及其丰富生态。
2025-12-16 10:37:58
1173
原创 命令行日记利器:jrnl命令行工具在鸿蒙PC上的完整适配实战
本文介绍了如何将命令行日记工具jrnl从Python生态系统移植到开源鸿蒙PC平台。jrnl是一款支持自然语言日期解析、标签管理、加密保护等功能的终端笔记工具。移植面临Python版本要求高、依赖较多等挑战,最终采用"运行时包装脚本+静态依赖打包+依赖版本隔离"的组合方案解决。构建脚本包含环境检测、依赖安装、文件复制等关键步骤,确保在OpenHarmony PC平台上稳定运行。
2025-12-15 18:40:04
853
原创 开源许可证生成利器:choosealicense-cli在鸿蒙PC上的完整适配实战
本文介绍了将choosealicense-cli工具适配到鸿蒙PC平台的过程。choosealicense-cli是一个Python命令行工具,用于快速生成和管理开源许可证。文章详细说明了项目背景、功能特点、技术栈、环境准备步骤和项目结构分析。重点包括:工具的核心功能(许可证生成、信息查询等)、鸿蒙平台适配目标(支持aarch64架构、打包HNP格式)、开发环境配置(Python3.4+、鸿蒙SDK安装)以及项目架构分析(纯Python实现,依赖click和requests库)。
2025-12-15 18:38:27
604
原创 让终端输出更美观:term_grid网格布局工具在OpenHarmony PC上的完整适配实战
本文介绍了将Rust编写的term_grid终端网格布局工具适配到鸿蒙PC平台的完整过程。文章包含背景介绍、环境准备、项目结构分析、问题诊断与解决方案等核心内容。重点解决了命令行工具入口缺失、API使用错误和交叉编译架构不匹配等关键技术问题,最终实现了在OpenHarmony PC上运行term_grid工具的目标。项目采用Cargo构建系统,支持aarch64-linux-ohos架构,并生成HNP格式安装包,为终端文本格式化提供了高效的解决方案。
2025-12-15 18:02:50
850
原创 深度实战:Rust交叉编译适配OpenHarmony PC——terminal_size完整适配案例
本文介绍了将terminal_size命令行工具适配到鸿蒙PC平台的详细过程。terminal_size是一个用Rust编写的跨平台终端尺寸检测库,支持Linux、macOS、Windows等系统。适配工作包括:环境准备(安装Rust和鸿蒙SDK)、项目结构调整(添加命令行入口和配置)、交叉编译配置(使用OHOS工具链)以及打包发布。最终实现了一个可在鸿蒙PC上运行的终端尺寸检测工具,支持多种输出格式和错误处理。该工具可用于终端UI布局自适应、文本格式化等场景,具有类型安全、高性能和跨平台等优势。
2025-12-15 18:01:00
713
原创 Electron for 鸿蒙PC - 番茄工作法计时器适配问题排查与解决方案
本文记录了将Pomotroid番茄工作法计时器适配到鸿蒙PC平台时遇到的技术挑战及解决方案。主要问题包括:OpenSSL兼容性问题(通过添加环境变量解决)、node-sass不支持ARM64架构(替换为sass包)、webpack-cli版本不兼容(改用webpack API)、模块找不到错误(手动复制依赖并修改解析逻辑)以及contextBridge API错误(调整暴露方式)。针对每个问题,文档提供了详细的原因分析和具体解决方案,并附有注意事项
2025-12-02 10:08:38
1112
原创 Electron for 鸿蒙PC - 番茄工作法计时器应用完整适配实践
本文介绍了将Pomotroid番茄工作法计时器适配到鸿蒙PC平台的技术实现。项目基于Electron for 鸿蒙PC框架,完成了应用集成、资源管理、多语言支持等功能。关键实现包括:禁用硬件加速确保兼容性,配置无边框窗口,通过IPC通信实现Remote模块支持,以及WebSocket进程间通信。项目保留了原版全部功能,包括17种主题、计时提示音、系统托盘等特性,并新增了简体中文支持。技术栈整合了Electron、Vue.js、WebSocket等核心技术,为鸿蒙PC平台提供了完整的番茄工作法应用解决方案。
2025-12-02 10:07:07
1118
原创 Electron for 鸿蒙PC - MarkRight应用完整适配实践
本文介绍了将MarkRight(一款GitHub风格Markdown编辑器)适配到HarmonyOS PC平台的过程。通过Electron for HarmonyOS框架,重点解决了四个技术难点:1)自定义ClojureScript IPC通信系统的适配,实现了消息序列化与进程间通信;2)修复了图片路径处理逻辑,支持相对路径、绝对路径和HTTP图片;3)Shell模块访问权限配置;4)BrowserWindow窗口预加载脚本注入优化。最终实现了MarkRight在鸿蒙PC上的完整功能运行,包括代码高亮、实时
2025-11-28 10:47:57
430
原创 Electron for 鸿蒙PC - Markdown表格编辑功能完整实现方案
本文详细介绍了将Abricotine的Markdown表格编辑功能适配到鸿蒙PC平台的完整实现方案。该方案基于CodeMirror编辑器和celldown.js表格处理库,提供了全面的表格操作功能: 表格创建:支持2x2到5x5多种尺寸表格创建,智能处理空行和光标定位 行列操作:实现行/列的增删功能(上下左右四个方向) 对齐设置:提供左/中/右对齐及清除对齐功能 表格美化:包含表格格式化功能 技术架构采用CodeMirror+celldown.js组合,通过自定义扩展层实现表格API。
2025-11-28 10:46:15
664
原创 Electron for 鸿蒙PC - 文件夹打开防重复调用机制完整方案
摘要: 本文分析了鸿蒙PC平台适配Electron应用Abricotine时出现的文件夹重复打开问题。当用户点击打开配置/临时/应用文件夹时,同一路径会被打开两次,严重影响用户体验。根本原因是IPC监听器重复注册和缺少防重复调用机制。解决方案包括:清除旧IPC监听器、路径标记防重机制、超时自动清除标记、错误处理保障等。通过openingPaths对象记录正在打开的路径,结合setTimeout自动释放标记,确保同一路径短时间内不会被重复打开。
2025-11-28 10:44:07
372
原创 Electron for 鸿蒙PC - 文件系统权限处理与createDir降级策略完整方案
摘要: 本文针对Abricotine在鸿蒙PC平台适配时遇到的files.createDir()权限问题(EPERM错误),提出系统化解决方案。通过分析HarmonyOS严格的权限模型(沙箱目录完全访问/用户目录需授权/系统目录禁止),优化原函数逻辑:新增权限检查工具canCreateDirectory(),实现静默失败、备选目录降级、功能降级等策略。最终方案在权限不足时返回null而非抛出异常,确保应用稳定运行,同时兼容目录已存在等边缘场景,为HarmonyOS文件操作提供标准化错误处理范式。
2025-11-28 10:42:47
291
原创 Electron for 鸿蒙PC - require.main.require()路径解析问题完整解决方案
摘要 在将Abricotine适配到鸿蒙PC平台时,遇到模块加载路径解析错误问题。require.main.require("./creator.js")从app/目录而非app/app/目录解析路径,导致模块找不到。经分析发现,这是由于Node.js的require.main指向入口文件main.js,而应用代码实际位于app/app/目录。
2025-11-28 10:41:08
369
原创 Electron for 鸿蒙PC - 状态栏菜单嵌套扁平化与Click事件处理完整方案
本文介绍了Electron应用在鸿蒙PC平台适配过程中遇到的状态栏菜单嵌套层级限制问题及解决方案。由于鸿蒙系统状态栏菜单不支持三级及以上嵌套,导致多级菜单无法正常显示。针对这一问题,文章提出了一套菜单扁平化方案:通过递归处理将多级菜单转换为二级结构,将子菜单标题移至subTitle字段,并使用menuCode标识菜单项实现点击识别。方案包含数据转换、递归扁平化处理和事件响应机制三个关键环节,最终实现了在不改变功能逻辑的前提下兼容鸿蒙系统限制。该方案为开发者提供了解决类似平台适配问题的参考思路。
2025-11-27 18:34:57
712
原创 Electron for 鸿蒙PC - 文档重新加载路径保存机制完整方案
本文详细记录了Abricotine在鸿蒙PC平台适配过程中遇到的文档重新加载问题及其解决方案。当用户点击"重新加载"时,文档内容会丢失且需要重新打开文件。经过分析发现,问题根源在于重新加载会清空窗口内容,但未保存文档路径信息。文章提出了完整的解决思路:通过主进程保存文档路径,在重新加载后恢复内容;优化IPC通信机制确保路径传输;调整CodeMirror刷新策略保证内容正确显示。该方案有效解决了数据丢失风险,提升了用户体验,为Electron应用在鸿蒙平台的适配提供了实践参考。
2025-11-27 18:33:22
355
原创 Electron for 鸿蒙PC - HTML导出功能完整适配方案(路径处理、权限管理、CSS内联与浏览器预览)
本文分析了Abricotine在鸿蒙PC平台适配HTML导出功能时遇到的问题,包括路径处理错误、权限限制、图片复制失败、CSS文件创建失败和浏览器预览失效等。通过深入剖析问题根源,提出了完整的解决方案:优化路径处理为绝对路径、实施权限检查和降级策略、采用CSS内联方案确保样式显示、改进浏览器预览的临时文件访问机制。文章还总结了鸿蒙PC文件系统的权限限制和最佳实践,为Electron应用在鸿蒙平台的HTML导出功能适配提供了系统性的解决思路。
2025-11-27 18:31:12
433
原创 Electron for 鸿蒙PC - 动态UI中文化的性能优化
本文介绍了在鸿蒙PC适配MarkText时,如何通过MutationObserver API实现第三方Vue组件的动态文本国际化。面对无法修改源码、文本动态渲染等挑战,传统方案如定时轮询或事件监听均存在不足。文章详细阐述了MutationObserver的工作原理及其适合此场景的优势,包括异步批量回调、精准监听DOM变化等特性。通过建立文本替换映射表、编写替换函数,并利用MutationObserver监听侧边栏DOM变化,实现了自动化的中英文替换。
2025-11-27 09:24:03
593
原创 Electron for 鸿蒙PC - 纯前端模态对话框实现方案
本文记录了MarkText在鸿蒙PC适配过程中遇到的对话框性能问题及优化方案。原代码使用BrowserWindow创建子窗口导致打开设置对话框需要300-500ms,用户明显感知卡顿。分析发现鸿蒙PC创建窗口的系统调用开销特别大。通过改用纯前端HTML/CSS模态框方案,实现了以下优化: 性能提升30倍:响应时间从300ms降至10ms 内存占用减少:从50-100MB降至1-5MB 实现更简单:仅需HTML/CSS/JavaScript 完美兼容鸿蒙PC
2025-11-27 09:22:35
363
原创 Electron for 鸿蒙PC - Native模块Mock与降级策略
多个 Native 模块无法编译。MarkText 依赖的keytar(密码管理)、(键盘映射)、ced(编码检测)等 C++ 扩展模块在鸿蒙 PC 上全部编译失败,导致应用无法启动。本文将详细记录我们如何通过Mock 和降级策略完美解决这一问题,在不修改原有业务逻辑的前提下,让应用在鸿蒙 PC 上正常运行。关键词:鸿蒙PC、Electron适配、Native模块、C++ Addon、Mock、降级策略、跨平台兼容。
2025-11-26 09:19:43
440
原创 Electron for 鸿蒙PC - DOM初始化时机与多重保险机制
本文记录了将MarkText适配到鸿蒙PC平台时遇到的DOM初始化问题及其解决方案。在鸿蒙PC上,DOM初始化时机不稳定,导致自定义菜单栏有时无法正常显示。通过分析发现,单一的事件监听方式(如DOMContentLoaded)不可靠,而固定延迟也不够智能。
2025-11-26 09:18:00
793
原创 Electron for 鸿蒙PC - Webpack PublicPath 动态设置完整方案
摘要:本文记录了将MarkText适配到鸿蒙PC平台时遇到的资源加载问题及解决方案。由于鸿蒙PC的应用资源路径与标准Electron应用不同,导致Webpack静态配置的publicPath失效,所有图片、字体等资源文件加载404。通过分析路径差异和Webpack原理,提出**运行时动态设置publicPath**的方案:在主进程获取真实应用路径后,利用did-start-loading事件注入初始化脚本,拦截__webpack_require__.p的赋值,确保资源路径前缀在Webpack执行前被正确设置
2025-11-25 11:37:07
1003
原创 Electron for 鸿蒙PC - IPC通信替代Remote模块实践
摘要 本文记录了将MarkText应用从Electron的Remote模块迁移到IPC通信的实践过程。原应用在鸿蒙PC平台上因Remote模块导致性能下降、内存泄漏和随机崩溃等问题。解决方案包括:1) 分析Remote模块的缺陷;2) 设计基于IPC的通信架构;3) 通过preload脚本安全暴露API;4) 实现四种IPC通信模式。迁移后应用性能显著提升,内存占用减少75%,文件对话框响应时间从500ms降至50ms,解决了鸿蒙PC兼容性问题,同时提高了应用安全性。
2025-11-25 11:34:33
752
原创 Electron for 鸿蒙PC 窗口问题完整解决方案
本文总结了将Electron应用适配鸿蒙PC平台时面临的窗口管理挑战及解决方案。核心问题包括窗口创建错误、多窗口限制、Dock栏功能冲突等。通过采用单窗口模式+内容切换策略,结合延迟显示、标志管理、多层配置拦截等技术手段,实现了稳定运行。关键措施包括:修改窗口配置延迟显示、使用loadURL切换内容而非创建新窗口、配置单实例模式、清空快捷方式菜单等。这些实践为Electron应用在鸿蒙平台的适配提供了可行方案,确保了应用在严格窗口限制下的正常运行。
2025-11-20 19:10:46
1139
原创 Electron for 鸿蒙PC - 菜单栏完整开发指南:从原生菜单到自定义菜单的实现
本文介绍了基于Electron框架开发鸿蒙PC系统菜单栏的实现方法。内容涵盖原生菜单栏的基本结构、菜单项类型、键盘快捷键设置以及二级目录嵌套实现,特别针对鸿蒙系统的扁平化一级菜单限制进行了适配。文章还展示了跨平台菜单样式自动调整功能,包括10级嵌套菜单在Mac/Windows/Linux平台的展示效果。提供了完整的语言切换菜单示例代码,演示了如何通过Menu API构建菜单模板、处理菜单点击事件以及实现菜单状态同步。最后介绍了原生菜单与自定义HTML菜单的两种实现方式及其适用场景。
2025-11-19 18:12:22
935
原创 Electron for HarmonyOS_PC KeeWeb 密码管理器开源鸿蒙PC开发实践
本文介绍了将KeeWeb密码管理器适配到HarmonyOS PC平台的技术方案。项目基于Electron for HarmonyOS框架,成功实现了KeeWeb的全部功能移植,包括密码管理、云存储同步、TOTP支持等核心功能。
2025-11-18 18:27:16
1093
原创 Electron for HarmonyOS_PC Swifty 密码管理器适配开源鸿蒙PC开发实践
本文介绍了Swifty密码管理器在HarmonyOS PC平台上的适配过程。项目基于Electron for HarmonyOS框架,实现了完整的密码管理功能,包括登录信息存储、TOTP支持、Google Drive同步等。
2025-11-18 13:02:22
768
原创 Qt for HarmonyOS ListWidget 组件开源鸿蒙开发实践
本文介绍了一个基于HarmonyOS平台的Qt开发项目,主要实现了一个包含列表组件(ListView/GridView)的应用程序。项目支持列表和图
2025-11-17 14:00:00
1640
原创 Qt for HarmonyOS Slider 组件开源鸿蒙开发实践
本文介绍了基于Qt在HarmonyOS平台开发的RGB颜色选择器项目。项目通过三个Slider控件控制红绿蓝颜色通道,实现实时颜色预览和RGB数值输入的双向绑定。
2025-11-17 09:28:03
1185
原创 Qt for HarmonyOS 3D图片轮播组件开源鸿蒙开发实战
本文介绍了基于Qt Quick/QML在HarmonyOS平台开发的3D图片轮播组件。该组件通过7个位置的层级布局营造3D视觉效果,支持自动轮播、交互控制和参数调节等功能。核心实现包括:1) 使用模运算实现循环轮播逻辑;2) 通过预定义布局数组配置不同位置的大小、透明度和层级;3) 采用Timer组件实现自动轮播控制;4) 使用Behavior和NumberAnimation实现平滑动画效果。项目结构清晰,包含主界面、核心组件和资源文件,可作为Qt与HarmonyOS结合的UI开发参考案例。
2025-11-15 14:44:24
761
原创 Qt for HarmonyOS 验证码组件开源鸿蒙开发实战
本文介绍了一个基于Qt/QML框架开发的可视化验证码组件,专为HarmonyOS应用设计。该组件支持随机生成4位字母数字混合验证码(含大小写),每个字符采用不同颜色显示,并提供可选的点状干扰背景。通过QML的Repeater组件和JavaScript随机数生成实现核心功能,具备双击刷新验证码的交互能力。
2025-11-15 14:37:22
1157
原创 Qt for HarmonyOS 动画效果开源鸿蒙开发实战
本项目基于Qt/QML框架实现了8种HarmonyOS动画效果,包括阴影动画、头像闪烁、淡化动画等。采用QML声明式动画API,通过PropertyAnimation、SequentialAnimation等技术实现流畅的视觉体验。项目特性包含组件化设计、响应式适配和精确动画控制,展示了Qt在HarmonyOS动画开发中的优势。核心实现结合多层阴影渲染、透明度变换和动态组件创建,为HarmonyOS应用提供了丰富的动画效果库。
2025-11-14 09:08:05
1025
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅