登录社区云,与社区用户共同成长
邀请您加入社区
以上就是鸿蒙 ACL 权限申请的全过程:**先搞清判定规则,别凭印象申请;二进制证书个人不可得,断了「随包自带运行时」的念想;最后 3 项受限权限一次通过。**如果你也在做鸿蒙上架,这套「先判定、再精准申请、申请原因咬住官方约束」的思路可以直接抄。下一篇我写App 上架合规踩坑:被 AppGallery 打回 12 条整改,从商标撞名到 ArkWeb 合规,一条条踩过去。关注公众号并设为星标,别错
react-native-crypto-js 为纯 JS 实现,无需鸿蒙原生适配,但上游包因打包裁剪导致 HmacMD5 调用时报错。交付版通过补全 RFC 2104 定义的 HMAC-MD5 实现(复用内置 MD5 与 WordArray),修复该问题。验证显示其输出与 Node.js crypto.createHmac('md5') 完全一致,共覆盖 90 组测试用例。实际支持算法包括 MD5
承接上篇运行时拆解:这套 Electron-on-鸿蒙应用在真机上怎么调试、怎么自动化?三板斧——主进程 inspector、uitest、hilog 探测,外加一个「为什么 Playwright 驱动不了它」的真相。
拆解 harmonypc-electron——原生 SO + ArkTS 桥接三件套 + XComponent 渲染面,以及本工程是怎么适配它的。
在鸿蒙PC上通过ElectronEgg运行Go服务,需解决二进制签名与沙箱权限两大难题:首先用HNP打包并签名可执行文件,确保XPM放行;其次适配鸿蒙沙箱目录权限,将HOME环境变量指向可写路径,并修改Go程序逻辑优先读取HOME而非系统用户目录。关键步骤包括:使用process.env.HOME覆盖、监听子进程输出排查问题、本地replace替换第三方依赖源码以实现定制化修复。项目已开源至Ato
dialog.showErrorBox 在主进程调用时,弹出的是操作系统原生对话框,由系统绘制并置顶显示,虽看似在 Vue 界面中,实为独立于 Chromium 渲染体系的窗口层。两者分属不同渲染机制:系统框由 OS 绘制,Vue 页面由 Chromium 渲染,不共享 DOM 与样式。若需真正“在 Vue 中显示”,应通过 IPC 将错误信息传至渲染进程,由 Vue 组件自定义弹窗。本质是“叠加
本文介绍在鸿蒙PC平台基于Electron+ArkWeb构建InterModeller概念建模应用的完整实践,实现SVG水平树布局、深度颜色编码、双击内联编辑、三视图联动及本地JSON持久化等核心功能。采用Electron Web层与鸿蒙HAP壳分离架构,通过精简IPC通信与三防策略(禁用硬件加速、异常捕获、窗口配置优化)确保稳定运行。项目预置6大领域种子模型,支持跨平台开发与部署,助力教育场景中
Zettlr:从零趟底座,崩在 libelectron 版本、深色主题、preload 后缀,每个坑都是新知识;:克隆骨架,组装成本五处文件改动,新坑只剩 sandbox 白屏一类平台级问题;下一个 Electron 应用:大概只剩"判依赖死刑 → 塞产物 → 改 bundleName"三步。原生模块的死刑判决要看"耦合深度"。深耦合如 Zettlr 的 nodehun 只能抽引擎绕行;边界耦合如
本文基于 Electron 与鸿蒙 HAP 壳工程,实现 Kibana 本地化数据可视化应用。通过 Chart.js 渲染多维图表,结合本地 JSON 持久化与自研查询解析,完成数据 CRUD、聚合计算及仪表盘动态渲染。针对鸿蒙平台特性,采用“三防”策略(防崩溃、防白屏、防故障)优化窗口配置,实现跨平台兼容。项目开源于 AtomGit,支持在鸿蒙 PC 上运行,为日志分析与运维监控提供轻量级解决方
开源鸿蒙PC社区推出Dyad应用适配项目,基于Electron架构实现跨平台迁移。通过保留原生React/Vite/Electron代码,外挂HarmonyOS HAP宿主,完成渲染、IPC、SQLite、PTY终端及Git等核心功能适配。适配版本支持2in1与平板设备,真机测试验证了冷启动、系统目录选择、工程导入及多模型配置等关键流程,初步打通本地AI开发链路,展现OpenHarmony Ele
本文介绍在鸿蒙PC平台基于Electron壳方案,从零构建轻量级多标签文本编辑器Notepadqq的完整过程。项目采用Electron Web层+鸿蒙HAP壳架构,集成CodeMirror实现语法高亮,支持多标签管理、正则查找替换、自定义菜单与视图控制,并针对鸿蒙环境优化稳定性,解决GPU白屏、XComponent崩溃等问题。代码开源,欢迎加入鸿蒙PC社区共建。
本文记录KDevelop基于Electron壳适配鸿蒙PC平台的全流程。通过Electron + CodeMirror架构,实现多语言代码编辑与文件管理,严格规避鸿蒙WebEngine禁用的API,利用11个IPC通道完成主进程文件系统操作,最终在鸿蒙5.0+环境下成功运行,为开源鸿蒙生态提供轻量级开发工具支持。
<span>确认</span></div>${escapeHtml// 确认对话框 function confirmCustom(msg) {<div class="modal-header"><span>确认</span>
本文介绍在鸿蒙PC平台基于Electron构建KDE风格轻量级SVN只读浏览工具kdesvn,通过HTTP/WebDAV协议实现零依赖的SVN通信,支持仓库浏览、语法高亮、日志检索与版本对比,集成Catppuccin Mocha深色主题,采用Electron+鸿蒙HAP壳架构,适配arm64-v8a,助力开源鸿蒙生态发展。
本文基于Electron与鸿蒙HAP壳工程,实现VSCodium轻量代码编辑器在鸿蒙PC平台的迁移。采用CodeMirror替代Monaco,构建文件管理、语法高亮、实时预览等核心功能,通过IPC通信实现跨进程文件操作,完成从开发到部署的全流程适配。项目开源,欢迎加入鸿蒙PC社区共建。
本文将 Pylint 静态分析能力基于 Electron 适配至鸿蒙 PC 平台,实现纯前端运行的 Python 代码检查工具。通过 JavaScript 模拟 AST 与正则匹配,完成 14 条规则检查,支持语法高亮、多文件管理与 10 分制评分。严格规避鸿蒙兼容限制,采用三栏布局与双层编辑器结构,确保毫秒级响应。项目开源于 AtomGit,欢迎加入鸿蒙 PC 社区共建。
鸿蒙 PC 起步阶段,桌面应用生态里最缺的就是"生产力刚需":办公套件有了,IDE 有了,但一款像样的 Markdown 学术写作工具一直空缺。Zettlr 是这个领域的明星开源项目——面向学术写作、采用 Zettelkasten 卡片盒笔记法、支持引用管理和多格式导出,由德国开发者 Hendrik Erz 维护,技术栈是 Electron + Vue 3 + TypeScript + CodeM
零依赖设计:扫描引擎仅使用 Node.js 内置的 net/http/dns 模块,无需 npm 安装任何第三方包,天然兼容鸿蒙沙盒环境真实协议交互:8 条漏洞检测规则全部基于真实 TCP/HTTP 协议交互,不使用模拟数据,确保扫描结果可验证并发控制策略:默认并发 10 + 主机间 50ms 调度间隔,在扫描效率与鸿蒙平台稳定性之间取得平衡防重入机制:所有 Socket 回调统一使用 done
开源鸿蒙PC社区推出适配CodeQL的安全分析工具,解决ArkTS与HarmonyOS JSON5配置的静态分析难题。通过三层架构(HAP应用、分析服务、适配包),实现真机上“导入项目—建库—运行查询—定位告警—导出结果”的全流程闭环。支持29条安全规则,可检测明文传输、敏感信息硬编码等风险,结果精准映射至原始.ets文件。当前版本为0.1.0,基于HTTP服务调用CLI,已验证于鸿蒙PC真机,助
最近在搞electron+vue项目,有几个业务需要用到vue和Electron通信,于是打开了electron官网,跟着敲代码,但是用到contextBridge去暴露electron的时候,在控制台调用window.electron一直为undefined。当contextIsolation 属性是false的时候一直会报错这个。(个人感觉electron官网写的很垃圾,很不友好)找问题找了一
Electron打包报错解决方案:主进程与渲染进程分离 在Electron+Vue3项目中,打包后出现"Cannot find module"错误主要原因是主进程与渲染进程代码混用。关键解决方法: 检查package.json:确保"main"字段指向编译后的主进程文件(如dist-electron/main.js) 分离进程代码: 主进程(electron
是应为没有导入const path = require('path');这个问题是文件没有导入相关的以来包所产生的问题。找到文件的根路径导入。
2:查看接口请求地址是否存在(不要请求拦截器里面打印buseURL,打印的是最新的但是接口请求的不是)原因:接口请求地址是空值或者是无效的,electron会进行处理。1:查看自己的buseURL初始值。
以上⽅式我们其实是重新打开了某个app, 但是更多的时候,我们是期望测试⼀个已经打开的app,试想⼀下如下的场景,某个app需要登录,登录的⽅式⼜⽐较复杂,扫码登录或者短信登录,或者有验证码,但是如果成功登录以后,⼀段时间以后再次打开就不会进⼊到登录界⾯,此时,我们不希望每次运⾏⽤例的时候,都重新登录,这时,我们就需要使⽤ selenium 来测试⼀个打开着的应⽤。接下来我们来写⼀个简单的测试,就
Electron版本为20.0.2,Electron中nodeIntegration设置为true后控制台任报错:require is not define
由于好奇Electron技术加上著名的markdown编辑器Typora宣布收费,于是就想借着开源的bytemd实现自己的markdown编辑器,顺便记录下在使用Electron中的踩的一些坑
本地测试自己的node插件是好的。发布后下载到本地使用就报这个函数没找到解决方法:出现上述的问题主要原因是addon没有导出。即C++封装好后没有使用js export 出来
首先绝对不能用Windows环境打包!不能!不能!不能!因为只会出现你永远无法解决的error!可以使用macos和Linux环境,Ubuntu和centOS也不一样。树莓派系统运行的话!不要!打包deb!(超大声!)appimage可执行文件就可以了。打包过程坑太多,网络环境要好,yarn,npm都要换淘宝源。error报错都忘记截图了,后续再更新吧……如果你有electron-buil...
electron 直接打包 vue的dist包 无法获取cookie
用python编写脚本启动electron应用时,指定了electron应用exe文件路径,指定了user-data-dir,配置是对应的driver路径。打印出resolve、cwd是执行Python脚本的路径。将node_modules文件夹放入python脚本当前目录后,可以正常执行,不报错了。修改js为绝对路径后,可以正常执行不报错。应用可以正常启动,但是执行到某些步骤时报js错误。查看根
配置一下就可以了mainWindow = new BrowserWindow({webPreferences: {webSecurity: false},})原地址:https://blog.csdn.net/kukudelaomao/article/details/87092063
原本好好的使用着。然后我大改动编了electron的源码。格式环境变量。导致node_gyp编译自己的addon插件的时候居然gg了处理方法:1.执行命令npm install -g node-gyp2、根据1步骤中安装生成的目录。npm_config_node_gyp=C:\Program Files\nodejs\node_modules\node-gyp\bin\node-gyp.jscmd
// 主进程const {app, BrowserWindow, ipcMain} = require('electron')app.on('ready', () => {// 新建窗口const win = new BrowserWindow()// 开启开发工具win.webContents.openDevTools()// 窗口加载页面win....
结合本次问题解决过程,总结出 Electron 32+ 版本中 webview 嵌套页面下载功能的核心实现步骤,适用于 a 标签 target=‘_blank’ 打开下载链接的场景:核心实现步骤在渲染进程中,监听 webview 的 did-attach 事件,获取 webview 的 webContentsId,并通过 IPC 通信发送到主进程;});主进程通过 webContents.from
Web SCADA 最大的痛点是**“吃资源”**。Chrome 内核的每个 Tab 都是内存杀手,而 Node.js 的单线程机制在处理高频 Modbus 轮询时容易阻塞。除了跑得快,还要跑得稳。是运行现代 Web SCADA 系统的**“甜点级”**硬件。
本文介绍了如何在Electron应用中解决跨域问题的配置方法。通过在app.whenReady()回调中添加命令行参数,可以完全禁用同源策略(--disable-web-security)、关闭SameSite Cookie的严格模式(--disable-features SameSiteByDefaultCookies)以及忽略证书错误。同时提供了隐藏应用菜单的代码示例。这些配置有助于在打包We
使用electron-vite命令创建的项目。在index.html文件中存在如下代码。将其删除即可解决问题。
打开vue.config.js找到pluginOptions -> electronBuilder -> externals添加better-sqlite3。
可以使用@quick-start/electron创建项目,npm create @quick-start/electron。
loadFile 不会自动处理 HTTP 请求和响应头中的 Cookies,因为它是从本地文件系统加载内容的,而不是通过网络请求。开始我也是这么想的。但是打包后改成url地址,必然要起一个sever服务,那么electron是可以使用http网络模块起vue3打包后的dist文件夹静态http服务的。(我是使用vite自动生成路由的,后面改成导入路由,倒是不报错了,但是页面是白屏。改造的部分不仅于
【代码】electron线上跨域问题。
谷歌浏览器升级之后,出于安全考虑,cookie的SameSite属性默认值由None变为Lax,对于跨域的请求,禁止携带cookie。不要使用 cookie 来存储 token 等信息,采用浏览器的 localStorage 和 seesionStorage 来存储。Cookie的SameSite属性用来限制第三方 Cookie,从而减少安全风险。它可以设置三个值:Strict、Lax、None。
这个东西弄了一个小时,真服了,这个npm以及还有这个报错,这个报错同样跟上面的是一样的,都是引用源的问题。
其他electron打包后运行类似这种cannot find module ‘XXX’的报错,基本也是因为开发依赖模块未打包进去导致。2、本项目vue.config.js文件是创建vue项目时默认存在的,该文件依赖的模块非必须的,也可以修改不依赖该模块即可。也就是问题出在electron打包后,仔细排查问题所在,在electron主入口文件中依赖了vue.config.js文件。这个模块,所以el
在preload文件夹下的index.js中为了测试写了‘console.log('打印');’正确引入后的结果如下。这样就解决了报错问题啦!
但为什么添加了vue-router它就报错呢,其实是因为路由里面加载了这个页面,而且默认页面就是这个,所以看起来就像是添加了vue-router才导致的报错,其实不然!2.path-browserify这种方案,应该是要在代码中进行修改,这个本人就没去实验了,因为控制台报错点击进去是electron源代码报错。根据第2点,仔细思考了一番,是不是在渲染的代码里面使用了electron相关的包;Ele
解决app.asar****** :Not a Directory 问题
electron
——electron
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net