config.default.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. 'use strict';
  2. const dayjs = require('dayjs');
  3. const path = require('path');
  4. /**
  5. * 默认配置
  6. * @see https://www.yuque.com/u34495/mivcfg/guk1x0
  7. */
  8. module.exports = (appInfo) => {
  9. /**
  10. * built-in config
  11. * @type {Ee.EeAppConfig}
  12. **/
  13. const config = {};
  14. /**
  15. * 应用模式配置
  16. */
  17. config.developmentMode = {
  18. default: 'vue',
  19. mode: {
  20. vue: {
  21. hostname: 'localhost',
  22. port: 8080
  23. },
  24. react: {
  25. hostname: 'localhost',
  26. port: 3000
  27. },
  28. html: {
  29. hostname: 'localhost',
  30. indexPage: 'index.html'
  31. },
  32. }
  33. };
  34. /**
  35. * 开发者工具
  36. */
  37. config.openDevTools = false;
  38. /**
  39. * 应用程序顶部菜单
  40. * boolean | string
  41. * true, false, 'dev-show'(dev环境显示,prod环境隐藏)
  42. */
  43. config.openAppMenu = 'dev-show';
  44. /**
  45. * 主窗口
  46. */
  47. config.windowsOption = {
  48. title: 'EE框架',
  49. width: 980,
  50. height: 650,
  51. minWidth: 800,
  52. minHeight: 650,
  53. webPreferences: {
  54. //webSecurity: false, // 跨域问题 -> 打开注释
  55. contextIsolation: false, // false -> 可在渲染进程中使用electron的api,true->需要bridge.js(contextBridge)
  56. nodeIntegration: true,
  57. //preload: path.join(appInfo.baseDir, 'preload', 'bridge.js'),
  58. },
  59. frame: true,
  60. show: true,
  61. icon: path.join(appInfo.home, 'public', 'images', 'logo-32.png'),
  62. };
  63. /**
  64. * ee框架日志
  65. */
  66. config.logger = {
  67. appLogName: `ee-${dayjs().format('YYYY-MM-DD')}.log`,
  68. errorLogName: `ee-error-${dayjs().format('YYYY-MM-DD')}.log`
  69. }
  70. /**
  71. * 远程web地址 (可选)
  72. */
  73. config.remoteUrl = {
  74. enable: false, // 是否启用
  75. url: 'https://discuz.chat/' // Any web url
  76. };
  77. /**
  78. * 内置socket服务
  79. */
  80. config.socketServer = {
  81. enable: false, // 是否启用
  82. port: 7070, // 默认端口(如果端口被使用,则随机获取一个)
  83. path: "/socket.io/", // 默认路径名称
  84. connectTimeout: 45000, // 客户端连接超时时间
  85. pingTimeout: 30000, // 心跳检测超时时间
  86. pingInterval: 25000, // 心跳检测间隔
  87. maxHttpBufferSize: 1e8, // 每条消息的数据最大值 1M
  88. transports: ["polling", "websocket"], // http轮询和websocket
  89. cors: {
  90. origin: true, // http协议时,要设置允许跨域
  91. }
  92. };
  93. /**
  94. * 内置http服务
  95. */
  96. config.httpServer = {
  97. enable: false, // 是否启用
  98. https: {
  99. enable: false,
  100. key: '/public/ssl/localhost+1.key', // key文件
  101. cert: '/public/ssl/localhost+1.pem' // cert文件
  102. },
  103. port: 7071, // 默认端口(如果端口被使用,则随机获取一个)
  104. cors: {
  105. origin: "*" // 跨域
  106. },
  107. body: {
  108. multipart: true,
  109. formidable: {
  110. keepExtensions: true
  111. }
  112. },
  113. filterRequest: {
  114. uris: [
  115. 'favicon.ico'
  116. ],
  117. returnData: '' // 任何数据类型
  118. }
  119. };
  120. /**
  121. * 主进程
  122. */
  123. config.mainServer = {
  124. host: '127.0.0.1',
  125. port: 7072, // 默认端口(如果端口被使用,则随机获取一个)
  126. };
  127. /**
  128. * 硬件加速
  129. */
  130. config.hardGpu = {
  131. enable: false
  132. };
  133. /**
  134. * 应用自动升级 (可选)
  135. */
  136. config.autoUpdate = {
  137. windows: false, // windows平台
  138. macOS: false, // macOs 需要签名验证
  139. linux: false, // linux平台
  140. options: {
  141. provider: 'generic', // or github, s3, bintray
  142. url: 'http://kodo.qiniu.com/' // resource dir, end with '/'
  143. },
  144. force: false, // 强制更新(运行软件时,检查新版本并后台下载安装)
  145. };
  146. /**
  147. * 被浏览器唤醒 (可选)
  148. */
  149. config.awakeProtocol = {
  150. protocol: 'ee', // 自定义协议名(默认你的应用名称-英文)
  151. args: []
  152. };
  153. /**
  154. * 托盘 (可选)
  155. */
  156. config.tray = {
  157. title: 'EE程序', // 托盘显示标题
  158. icon: '/public/images/tray_logo.png' // 托盘图标
  159. };
  160. /**
  161. * 插件功能
  162. * @member window -> 官方内置插件
  163. * @member test -> demo插件
  164. */
  165. config.addons = {
  166. window: {
  167. enable: true,
  168. },
  169. test: {
  170. enable: true,
  171. }
  172. };
  173. return {
  174. ...config
  175. };
  176. }