企业网站分为哪三种类型wordpress主题制作的书

张小明 2025/12/28 18:15:33
企业网站分为哪三种类型,wordpress主题制作的书,专业网站建设全包,手表欧米茄官网我将从鸿蒙Electron应用的“原生能力融合”角度切入#xff0c;以实用的“系统托盘与桌面通知增强”为核心案例#xff0c;兼顾开发效率与用户体验#xff0c;适合CSDN开发者快速上手。 鸿蒙Electron实用技巧#xff1a;系统托盘与原生通知深度适配 发布平台#xff1a;CS…我将从鸿蒙Electron应用的“原生能力融合”角度切入以实用的“系统托盘与桌面通知增强”为核心案例兼顾开发效率与用户体验适合CSDN开发者快速上手。鸿蒙Electron实用技巧系统托盘与原生通知深度适配发布平台CSDN作者XXX标签鸿蒙、Electron、系统托盘、原生通知、桌面应用前言桌面应用的“原生感”直接影响用户体验而系统托盘与通知是核心交互入口。本文聚焦鸿蒙桌面端特性通过实战案例讲解Electron应用如何适配鸿蒙系统托盘、自定义通知样式并集成“后台运行”“快捷操作”等实用功能代码简洁可直接复用。一、核心价值为什么要做鸿蒙原生适配Electron默认的系统托盘与通知在鸿蒙桌面端会出现“风格割裂”问题——比如通知样式与系统不一致、托盘图标模糊。适配后可实现视觉统一托盘图标、通知样式完全贴合鸿蒙桌面设计规范功能增强支持鸿蒙通知的点击跳转、托盘右键菜单快捷操作后台稳定关闭主窗口后通过托盘保持应用后台运行符合桌面使用习惯。适配前提鸿蒙桌面端系统版本≥3.0Electron版本≥25.x支持Linux托盘特性优化。二、快速初始化环境与基础配置2.1 项目搭建与依赖# 新建项目mkdirharmony-tray-democdharmony-tray-demonpminit -y# 安装核心依赖仅需Electronnpminstallelectron27.3.0 --save-dev2.2 准备鸿蒙风格资源为适配鸿蒙视觉需准备托盘图标2种尺寸16x16px用于托盘32x32px用于高分屏建议为PNG格式透明图标通知图标与鸿蒙系统通知图标风格统一可使用系统默认图标或自定义。在项目根目录创建resources文件夹放入图标资源示例命名tray-16.png、tray-32.png。三、实战开发系统托盘与通知核心实现核心功能鸿蒙风格系统托盘含右键菜单、自定义原生通知、窗口关闭后托盘常驻、点击托盘恢复窗口。3.1 主进程核心代码main.jsconst{app,BrowserWindow,Tray,Menu,Notification,ipcMain}require(electron);constpathrequire(path);letmainWindownull;// 主窗口实例lettraynull;// 系统托盘实例// 判断是否为鸿蒙系统基于Linux内核特性functionisHarmonyOS(){returnprocess.platformlinux(process.env.OS_VERSION?.includes(HarmonyOS)||fs.existsSync(/etc/harmonyos-release));}// 创建主窗口functioncreateMainWindow(){mainWindownewBrowserWindow({width:600,height:400,title:鸿蒙Electron托盘演示,icon:path.join(__dirname,resources/tray-32.png),// 窗口图标webPreferences:{preload:path.join(__dirname,preload.js),contextIsolation:true}});mainWindow.loadFile(index.html);// 关闭窗口时隐藏到托盘不退出应用mainWindow.on(close,(e){if(app.quitting){mainWindownull;}else{e.preventDefault();mainWindow.hide();// 发送托盘通知showHarmonyNotification(应用后台运行,点击系统托盘可恢复窗口);}});}// 创建鸿蒙风格系统托盘functioncreateHarmonyTray(){// 根据屏幕DPI选择合适的托盘图标consttrayIconPathprocess.screen.getPrimaryDisplay().scaleFactor1?path.join(__dirname,resources/tray-32.png):path.join(__dirname,resources/tray-16.png);traynewTray(trayIconPath);tray.setToolTip(鸿蒙Electron演示);// 鼠标悬浮提示// 托盘右键菜单鸿蒙风格简洁实用consttrayMenuMenu.buildFromTemplate([{label:恢复窗口,click:(){mainWindow.show();if(mainWindow.isMinimized())mainWindow.restore();}},{label:发送测试通知,click:()showHarmonyNotification(测试通知,这是适配鸿蒙的原生通知)},{type:separator},// 分隔线{label:退出应用,click:(){app.quittingtrue;app.quit();}}]);tray.setContextMenu(trayMenu);// 点击托盘图标切换窗口显示/隐藏tray.on(click,(){if(mainWindow.isVisible()){mainWindow.hide();}else{mainWindow.show();mainWindow.restore();}});}// 显示适配鸿蒙的原生通知functionshowHarmonyNotification(title,body){// 鸿蒙系统自定义通知样式constnotificationOptions{title,body,icon:path.join(__dirname,resources/tray-32.png),// 通知图标silent:false// 开启通知声音};// 针对鸿蒙系统的特殊配置利用Linux通知服务特性if(isHarmonyOS()){notificationOptions.tagharmony-electron-demo;// 通知分组标识notificationOptions.actions[{type:button,text:打开应用}];// 通知按钮}constnotificationnewNotification(notificationOptions);// 通知点击事件notification.on(click,(){mainWindow.show();mainWindow.restore();});// 通知按钮点击事件鸿蒙系统notification.on(action,(){mainWindow.show();mainWindow.restore();});notification.show();}// 应用生命周期管理app.on(ready,(){createMainWindow();createHarmonyTray();// 应用启动后发送欢迎通知showHarmonyNotification(应用已启动,系统托盘已常驻关闭窗口不退出);});// 所有窗口关闭时退出macOS特殊处理app.on(window-all-closed,(){if(process.platform!darwin)app.quit();});// 激活应用时恢复窗口app.on(activate,(){if(BrowserWindow.getAllWindows().length0)createMainWindow();elsemainWindow.show();});// 接收渲染进程的通知请求ipcMain.handle(show-notification,(_,title,body){showHarmonyNotification(title,body);return{status:success};});3.2 预加载脚本preload.js安全暴露通知调用API隔离主进程与渲染进程const{ipcRenderer,contextBridge}require(electron);// 暴露API给前端contextBridge.exposeInMainWorld(harmonyTray,{showNotification:(title,body)ipcRenderer.invoke(show-notification,title,body)});3.3 前端交互界面index.html简洁界面提供手动发送通知的入口展示核心功能说明!DOCTYPEhtmlhtmllangzh-CNheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0title鸿蒙托盘与通知演示/titlestylebody{font-family:HarmonyOS Sans SC,sans-serif;/* 鸿蒙系统默认字体 */display:flex;flex-direction:column;align-items:center;justify-content:center;height:90vh;margin:0;background-color:#f7f8fa;color:#333;}.container{text-align:center;padding:20px;background:white;border-radius:12px;box-shadow:0 2px 10pxrgba(0,0,0,0.1);}h1{color:#0a58ca;/* 鸿蒙主题色 */margin-bottom:20px;}.btn{padding:10px 20px;margin:10px;border:none;border-radius:6px;background-color:#0a58ca;color:white;font-size:16px;cursor:pointer;transition:background 0.3s;}.btn:hover{background-color:#084298;}.tip{margin-top:20px;color:#666;font-size:14px;text-align:left;}/style/headbodydivclasscontainerh1鸿蒙系统托盘演示/h1buttonclassbtnidnotify-btn发送自定义通知/buttonbuttonclassbtnidminimize-btn最小化到托盘/buttondivclasstipp✅ 功能说明/pp1. 关闭窗口后应用将在系统托盘常驻/pp2. 点击托盘图标可恢复窗口/pp3. 右键托盘可打开快捷菜单/pp4. 通知支持点击跳转至应用/p/div/divscript// 绑定按钮事件document.getElementById(notify-btn).addEventListener(click,async(){consttitle自定义通知;constbody当前时间${newDate().toLocaleString()};awaitwindow.harmonyTray.showNotification(title,body);});document.getElementById(minimize-btn).addEventListener(click,(){// 最小化窗口Electron API需通过预加载脚本暴露此处简化处理window.close();// 触发主窗口close事件隐藏到托盘});/script/body/html四、关键适配细节鸿蒙系统专属优化4.1 托盘图标适配鸿蒙桌面端支持高分屏自适应通过screen.getPrimaryDisplay().scaleFactor判断DPI自动选择16px/32px图标避免模糊。4.2 通知样式优化图标统一使用与托盘一致的图标保持视觉连贯通知分组通过tag属性将应用通知分组避免通知杂乱交互增强添加“打开应用”按钮符合鸿蒙通知交互习惯。4.3 窗口关闭逻辑适配鸿蒙用户习惯“关闭窗口≠退出应用”通过自定义close事件拦截窗口关闭改为隐藏到托盘仅通过“退出应用”菜单触发真正退出。五、运行与测试附效果截图配置启动脚本修改package.jsonscripts: { start: electron . }启动应用执行npm start观察效果截图1应用主界面- 展示鸿蒙风格字体与按钮视觉统一截图2系统托盘- 托盘图标清晰右键菜单显示快捷操作截图3原生通知- 通知样式与鸿蒙系统融合含“打开应用”按钮截图4后台运行- 关闭窗口后托盘常驻发送通知提示。六、打包与分发鸿蒙桌面端专属配置6.1 安装打包工具npminstallelectron-builder --save-dev6.2 配置package.json打包参数{build:{appId:com.harmony.electron.tray,productName:HarmonyTrayDemo,directories:{output:dist},linux:{target:deb,// 鸿蒙桌面端支持deb格式icon:resources/tray-32.png,category:Utility,// 应用分类鸿蒙应用市场识别desktop:{Comment:鸿蒙Electron托盘演示工具,Keywords:harmony;tray;notification,StartupWMClass:harmonytraydemo// 避免多实例启动}},extraResources:[resources/**/*]// 打包图标资源}}6.3 执行打包npmrun build打包完成后在dist目录获取deb包在鸿蒙桌面端双击即可安装托盘功能完全保留。七、常见问题与解决方案问题现象解决方案托盘图标模糊确保提供两种尺寸图标通过scaleFactor动态选择通知无声音设置notificationOptions.silent为false检查鸿蒙系统通知音量关闭窗口后应用退出确认主窗口close事件拦截逻辑正确未设置app.quitting为true
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

深圳网站建设九曲网班级网页设计作品

EmotiVoice在语音广告制作中的应用潜力与营销价值 在智能音箱每早播报天气、车载系统提醒行程、短视频里突然响起促销信息的今天,声音正悄然成为品牌触达用户的新前线。传统语音广告依赖专业配音演员录制——成本高、周期长、难以复用,更别提为不同人群“…

张小明 2025/12/26 3:13:41 网站建设

手机网站图片优化wordpress安装主题ftp

目录 1.两数之和 a.核心思想 b.思路 c.步骤 2.两个浮点类型不可以直接判断相等以及解决方案 a.例子1 b.例子2 c.解决方案 1.两数之和 1. 两数之和 - 力扣(LeetCode)https://leetcode.cn/problems/two-sum/description/ class Solution { publi…

张小明 2025/12/26 3:13:39 网站建设

python做网站有优势wordpress redis自动

在当下的内容生态中,头条问答汇聚了海量用户生成的问答数据,这些数据涵盖了用户的兴趣偏好、问题诉求、内容互动等多维度信息,是洞察用户行为、挖掘内容价值的重要资源。而 Pandas 作为 Python 生态中核心的数据处理库,凭借其高效…

张小明 2025/12/25 23:39:29 网站建设

国外做的好看的网站设计手机app设计软件有哪些

macOS窗口管理终极方案:3步打造你的专属工作空间 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否曾经在复杂的多任务工作中感到力不从心&…

张小明 2025/12/26 3:13:39 网站建设

保定集团网站建设商标设计网站图

目录已开发项目效果实现截图关于我系统介绍开发技术路线核心代码参考示例本项目开发思路结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 Python油田土地档案管理系统_u0vz7897 …

张小明 2025/12/25 15:47:54 网站建设

游戏类网站备案国外优秀flash网站

Portainer高效CI/CD流水线完整指南:从基础部署到进阶自动化 【免费下载链接】portainer Portainer: 是一个开源的轻量级容器管理 UI,用于管理 Docker 和 Kubernetes 集群。它可以帮助用户轻松地部署、管理和监控容器,适合用于运维和开发团队。…

张小明 2025/12/25 7:24:17 网站建设