电子部分常用功能的实现

  

(windowds下测试,其他系统未测)

1,系统托盘图标,

主要。js:

const  Tray =,要求(“电子”).Tray;   const  Menu =,要求(“电子”).Menu;   let 托盘;   时间=tray  new 托盘(__dirname  +,/构建/img/程序);//系统托盘图标   tray.setToolTip (miaoLian.in);//鼠标放到系统托盘图标上时的技巧;   const  menu =, Menu.buildFromTemplate([,,//,定义右建菜单   ,,,{标签:“主”页,,点击:,goHomeHandle},   ,,,{标签:“注册”,,点击:,registerHandle},   ,,,{标签:“注销”,,点击:,logoutHandle},   ,,,{标签:,“退”出,,点击:,closeHandle}   ]);   tray.setContextMenu(菜单);//应用右建菜单   tray.on(“点击”,function (),{,//左键单击时显示窗口   ,,,mainWindow.show ();   });

2,渲染线程向主要线程发送消息

渲染线程:你的正常项目中的文件

主要线程:电子要求必须有的main.js文件;


主要。js:

//接收消息   const  ipcMain =,要求(“电子”).ipcMain;   ipcMain.on (“closeWindow”, function  (), {,//closeWindow ,可自己随意定义   ,,,app.quit ();   });   ipcMain.on(“最小化”,function  (), {,//minimize 可自己随意定义   ,,,mainWindow.hide ();   });

项目XX。js:

//发送消息   const  ipcRenderer =, global.require .ipcRenderer(“电子”);   minimizeBtnClickHandle (), {   ,,,ipcRenderer.send(最小化)//,和接收消息的字符串对应   };

3,主要线程向渲染线程发送消息

主要。js:

//发送消息   const  BrowserWindow =, electron.BrowserWindow;   let 主窗口;   时间=mainWindow  new  BrowserWindow ({, XX: XX, XX: XX});   function  closeHandle(),{,,,,,//见(1)系统托盘图标中右键菜单中的退出选项   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//,closeFunc 可自己随意定义,与接收消息对应即可   ,,,mainWindow.webContents.send (“closeFunc”),,   }

项目XX。JS:

//接收消息   const  ipcRenderer =, global.require .ipcRenderer(“电子”);   ipcRenderer.once (closeFunc, this.closeHandle.bind(这));   closeHandle (), {   ,,,/*自己的逻辑处理*/,,,,ipcRenderer.send (“closeWindow”);   }


4,打开默认浏览器并跳转到指定网页

const  shell =,要求(“电子”).shell;   shell.openExternal (“https://miaolian.in”);

另:

中电子的API不是在任何文件中都可以用的。

有一部分只能在主要线程中用,比如ipcMain

有一部分只能在渲染线程中用,比如ipcrenderer

还有一部分是通用的,比如壳。

更多详情见文档:http://electron.atom.io/docs/

中文文档:https://github.com/electron/electron/tree/master/docs-translations/zh-CN


电子部分常用功能的实现