start.js 4.2 KB

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