start.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. frame: false
  41. })
  42. BrowserHistory.loadURL(url.format({
  43. pathname: path.join(__dirname, 'history.html'),
  44. protocol: 'file:',
  45. slashes: true
  46. }));
  47. BrowserHistory.hide();
  48. ipc.on('BrowserHistory-show-window', function () {//显示
  49. if(BrowserHistory){
  50. BrowserHistory.hide();
  51. BrowserHistory = null
  52. }
  53. BrowserHistory = new BrowserWindow({
  54. width: 800,
  55. height:800,
  56. frame: false
  57. })
  58. BrowserHistory.loadURL(url.format({
  59. pathname: path.join(__dirname, 'history.html'),
  60. protocol: 'file:',
  61. slashes: true
  62. }));
  63. BrowserHistory.show();
  64. });
  65. ipc.on('BrowserHistory-close-window', function () {//隐藏
  66. BrowserHistory.hide();
  67. BrowserHistory = null
  68. });
  69. ipc.on('BrowserHistory-hide-window', function () {//隐藏
  70. BrowserHistory.hide();
  71. BrowserHistory = null
  72. });
  73. BrowserHistory.webContents.openDevTools();
  74. BrowserHistory.on('closed', function () {
  75. BrowserHistory = null
  76. });
  77. BrowserFeedback = new BrowserWindow({//反馈
  78. width: 500,
  79. height:400,
  80. frame: false,
  81. resizable: false,
  82. maximizable:false,
  83. show:false
  84. })
  85. BrowserFeedback.loadURL(url.format({
  86. pathname: path.join(__dirname, 'feedback.html'),
  87. protocol: 'file:',
  88. slashes: true
  89. }));
  90. BrowserFeedback.hide();
  91. ipc.on('BrowserFeedback-show-window', function () {//显示
  92. if(BrowserFeedback){
  93. BrowserFeedback.hide();
  94. BrowserFeedback = null
  95. }
  96. BrowserFeedback = new BrowserWindow({
  97. width: 500,
  98. height:400,
  99. frame: false,
  100. resizable: false,
  101. maximizable:false,
  102. show:false
  103. })
  104. BrowserFeedback.loadURL(url.format({
  105. pathname: path.join(__dirname, 'feedback.html'),
  106. protocol: 'file:',
  107. slashes: true
  108. }));
  109. BrowserFeedback.show();
  110. });
  111. ipc.on('BrowserFeedback-close-window', function () {//隐藏
  112. BrowserFeedback.hide();
  113. BrowserFeedback = null
  114. });
  115. ipc.on('BrowserFeedback-hide-window', function () {//隐藏
  116. BrowserFeedback.hide();
  117. BrowserFeedback = null
  118. });
  119. BrowserFeedback.on('closed', function () {
  120. BrowserFeedback = null
  121. });
  122. }
  123. app.on('ready', createWindow);
  124. app.on('window-all-closed', function () {
  125. if (process.platform !== 'darwin') {
  126. app.quit()
  127. }
  128. });
  129. app.on('activate', function () {
  130. if (mainWindow === null) {
  131. createWindow()
  132. }
  133. });