start.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. const electron = require('electron');
  2. const path = require('path');
  3. const url = require('url');
  4. const ipc = electron.ipcMain;
  5. const app = electron.app;
  6. const BrowserWindow = electron.BrowserWindow;
  7. let mainWindow,BrowserHistory,BrowserFeedback;
  8. ipc.on('window-all-closed', function () {//退出
  9. app.quit();
  10. });
  11. ipc.on('hide-window', function () {//小化
  12. mainWindow.minimize();
  13. });
  14. ipc.on('show-window', function () {//最大化
  15. mainWindow.maximize();
  16. });
  17. ipc.on('orignal-window', function () {//还原
  18. mainWindow.unmaximize();
  19. });
  20. function createWindow() {
  21. mainWindow = new BrowserWindow({//游览器窗口
  22. width: 10000,
  23. height: 5000,
  24. minWidth: 1080,
  25. minHeight :1080,
  26. frame: false,
  27. });
  28. mainWindow.loadURL(url.format({
  29. pathname: path.join(__dirname, 'browser.html'),
  30. protocol: 'file:',
  31. slashes: true
  32. }));
  33. // mainWindow.webContents.openDevTools();
  34. mainWindow.on('closed', function () {
  35. mainWindow = null
  36. });
  37. BrowserHistory = new BrowserWindow({//历史记录
  38. width: 800,
  39. height:800,
  40. minWidth: 800,
  41. minHeight :800,
  42. frame: false
  43. })
  44. BrowserHistory.loadURL(url.format({
  45. pathname: path.join(__dirname, 'history.html'),
  46. protocol: 'file:',
  47. slashes: true
  48. }));
  49. // BrowserHistory.hide();
  50. ipc.on('BrowserHistory-show-window', function () {//显示
  51. if(BrowserHistory){
  52. BrowserHistory.hide();
  53. BrowserHistory = null
  54. }
  55. BrowserHistory = new BrowserWindow({
  56. width: 800,
  57. height:800,
  58. minWidth: 800,
  59. minHeight :800,
  60. frame: false
  61. })
  62. BrowserHistory.loadURL(url.format({
  63. pathname: path.join(__dirname, 'history.html'),
  64. protocol: 'file:',
  65. slashes: true
  66. }));
  67. BrowserHistory.show();
  68. });
  69. ipc.on('BrowserHistory-close-window', function () {//隐藏
  70. BrowserHistory.hide();
  71. BrowserHistory = null
  72. });
  73. ipc.on('BrowserHistory-hide-window', function () {//隐藏
  74. BrowserHistory.hide();
  75. BrowserHistory = null
  76. });
  77. BrowserHistory.webContents.openDevTools();
  78. BrowserHistory.on('closed', function () {
  79. BrowserHistory = null
  80. });
  81. BrowserFeedback = new BrowserWindow({//反馈
  82. width: 500,
  83. height:400,
  84. frame: false,
  85. resizable: false,
  86. maximizable:false,
  87. show:false
  88. })
  89. BrowserFeedback.loadURL(url.format({
  90. pathname: path.join(__dirname, 'feedback.html'),
  91. protocol: 'file:',
  92. slashes: true
  93. }));
  94. BrowserFeedback.hide();
  95. ipc.on('BrowserFeedback-show-window', function () {//显示
  96. if(BrowserFeedback){
  97. BrowserFeedback.hide();
  98. BrowserFeedback = null
  99. }
  100. BrowserFeedback = new BrowserWindow({
  101. width: 500,
  102. height:400,
  103. frame: false,
  104. resizable: false,
  105. maximizable:false,
  106. show:false
  107. })
  108. BrowserFeedback.loadURL(url.format({
  109. pathname: path.join(__dirname, 'feedback.html'),
  110. protocol: 'file:',
  111. slashes: true
  112. }));
  113. BrowserFeedback.show();
  114. });
  115. ipc.on('BrowserFeedback-close-window', function () {//隐藏
  116. BrowserFeedback.hide();
  117. BrowserFeedback = null
  118. });
  119. ipc.on('BrowserFeedback-hide-window', function () {//隐藏
  120. BrowserFeedback.hide();
  121. BrowserFeedback = null
  122. });
  123. // BrowserFeedback.webContents.openDevTools();
  124. BrowserFeedback.on('closed', function () {
  125. BrowserFeedback = null
  126. });
  127. }
  128. app.on('ready', createWindow);
  129. app.on('window-all-closed', function () {
  130. if (process.platform !== 'darwin') {
  131. app.quit()
  132. }
  133. });
  134. app.on('activate', function () {
  135. if (mainWindow === null) {
  136. createWindow()
  137. }
  138. });