setup.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. 'use strict';
  2. global.ELog = require('electron-log');
  3. const storage = require('./storage');
  4. const config = require('./config');
  5. const is = require('electron-is');
  6. const api = require('./api');
  7. const ipc = require('./ipc');
  8. module.exports = () => {
  9. // 存储模块
  10. storage.setup();
  11. // 日志
  12. logger();
  13. // 自动更新
  14. const updateConfig = config.get('autoUpdate');
  15. if ((is.windows() && updateConfig.windows) || (is.macOS() && updateConfig.macOS)
  16. || (is.linux() && updateConfig.linux)) {
  17. const autoUpdater = require('./autoUpdater');
  18. autoUpdater.setup();
  19. }
  20. // electron业务模块
  21. api.setup();
  22. // 加载所有的主进程函数
  23. ipc.setup();
  24. }
  25. function logger () {
  26. let logConfig = config.get('log');
  27. for (let transport in logConfig) {
  28. const configInfo = logConfig[transport];
  29. if (transport === 'file') {
  30. ELog.transports.file.level = configInfo.level;
  31. ELog.transports.file.file = configInfo.fileName;
  32. ELog.transports.file.fileName = configInfo.fileName;
  33. ELog.transports.file.format = configInfo.format;
  34. ELog.transports.file.maxSize = configInfo.maxSize;
  35. }
  36. }
  37. return true;
  38. };