ee-core 2.9.2 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +65 -65
- package/addon/index.js +34 -34
- package/addon/window/index.js +98 -98
- package/bin/tools.js +8 -8
- package/config/cache.js +41 -38
- package/config/config.default.js +331 -330
- package/config/index.js +75 -73
- package/const/channel.js +17 -17
- package/const/index.js +8 -8
- package/controller/baseContextClass.js +34 -34
- package/controller/index.js +34 -34
- package/core/index.js +10 -10
- package/core/lib/ee.js +216 -216
- package/core/lib/loader/context_loader.js +106 -106
- package/core/lib/loader/ee_loader.js +435 -435
- package/core/lib/loader/file_loader.js +326 -326
- package/core/lib/loader/mixin/addon.js +32 -32
- package/core/lib/loader/mixin/config.js +130 -130
- package/core/lib/loader/mixin/controller.js +125 -125
- package/core/lib/loader/mixin/service.js +28 -28
- package/core/lib/utils/base_context_class.js +34 -34
- package/core/lib/utils/function.js +30 -30
- package/core/lib/utils/index.js +133 -133
- package/core/lib/utils/sequencify.js +59 -59
- package/core/lib/utils/timing.js +77 -77
- package/cross/index.js +183 -183
- package/cross/spawnProcess.js +183 -183
- package/ee/appLoader.js +48 -48
- package/ee/application.js +99 -99
- package/ee/baseApp.js +103 -102
- package/ee/eeApp.js +408 -408
- package/ee/index.js +57 -57
- package/electron/app/index.js +64 -58
- package/electron/index.js +19 -19
- package/electron/window/index.js +73 -73
- package/electron/window/winState.js +186 -186
- package/exception/index.js +112 -112
- package/html/boot.html +98 -98
- package/html/cross-failure.html +28 -28
- package/html/failure.html +28 -28
- package/html/index.js +13 -13
- package/httpclient/index.js +161 -161
- package/index.js +54 -54
- package/jobs/baseJobClass.js +16 -16
- package/jobs/child/app.js +65 -65
- package/jobs/child/forkProcess.js +145 -145
- package/jobs/child/index.js +82 -82
- package/jobs/child-pool/index.js +213 -213
- package/jobs/index.js +8 -8
- package/jobs/load-balancer/algorithm/index.js +11 -11
- package/jobs/load-balancer/algorithm/minimumConnection.js +18 -18
- package/jobs/load-balancer/algorithm/polling.js +11 -11
- package/jobs/load-balancer/algorithm/random.js +9 -9
- package/jobs/load-balancer/algorithm/specify.js +14 -14
- package/jobs/load-balancer/algorithm/weights.js +21 -21
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +29 -29
- package/jobs/load-balancer/algorithm/weightsPolling.js +22 -22
- package/jobs/load-balancer/algorithm/weightsRandom.js +16 -16
- package/jobs/load-balancer/consts.js +9 -9
- package/jobs/load-balancer/index.js +201 -201
- package/jobs/load-balancer/scheduler.js +31 -31
- package/jobs/renderer/index.js +141 -141
- package/jobs/renderer/loadView.js +40 -40
- package/jobs/unification.js +63 -63
- package/loader/index.js +172 -172
- package/log/index.js +68 -68
- package/log/logger.js +86 -80
- package/main/index.js +56 -56
- package/message/childMessage.js +54 -54
- package/message/index.js +18 -18
- package/old-utils/index.js +91 -91
- package/package.json +38 -38
- package/ps/index.js +371 -371
- package/services/baseContextClass.js +34 -34
- package/services/index.js +40 -40
- package/socket/httpServer.js +147 -147
- package/socket/index.js +81 -81
- package/socket/io.js +27 -27
- package/socket/ipcServer.js +112 -112
- package/socket/socketServer.js +69 -67
- package/storage/index.js +38 -38
- package/storage/jsondb/adapters/Base.js +23 -23
- package/storage/jsondb/adapters/FileSync.js +64 -52
- package/storage/jsondb/main.js +55 -42
- package/storage/jsondbStorage.js +195 -195
- package/storage/sqliteStorage.js +123 -123
- package/utils/co.js +237 -237
- package/utils/copyto.js +160 -160
- package/utils/depd/index.js +538 -538
- package/utils/depd/lib/browser/index.js +77 -77
- package/utils/extend.js +73 -73
- package/utils/get-port/index.d.ts +64 -64
- package/utils/get-port/index.js +148 -148
- package/utils/helper.js +220 -220
- package/utils/index.js +160 -160
- package/utils/ip.js +261 -261
- package/utils/is.js +145 -145
- package/utils/json.js +72 -72
- package/utils/pargv.js +263 -263
- package/utils/time/index.js +19 -19
- package/utils/time/ms.js +162 -162
- package/utils/wrap.js +35 -35
package/ee/index.js
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
const Utils = require('../utils');
|
|
2
|
-
const EEApplication = Symbol('Ee#Application');
|
|
3
|
-
const BuiltInApp = Symbol('Ee#BuiltInApp');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* EE
|
|
7
|
-
*/
|
|
8
|
-
const EE = {
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 兼容1.x版本api
|
|
12
|
-
*/
|
|
13
|
-
get Application() {
|
|
14
|
-
const appClass = require('./application');
|
|
15
|
-
return appClass;
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 设置实例化app对象
|
|
20
|
-
*/
|
|
21
|
-
set app(appObject) {
|
|
22
|
-
if (!this[EEApplication]) {
|
|
23
|
-
this[EEApplication] = appObject;
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* 获取实例化app对象
|
|
29
|
-
*/
|
|
30
|
-
get app() {
|
|
31
|
-
return this[EEApplication] || null;
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 设置全局this到CoreApp (eeApp)
|
|
36
|
-
*/
|
|
37
|
-
set CoreApp(obj) {
|
|
38
|
-
if (!this[BuiltInApp]) {
|
|
39
|
-
this[BuiltInApp] = obj;
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* 获取 CoreApp (eeApp)
|
|
45
|
-
*/
|
|
46
|
-
get CoreApp() {
|
|
47
|
-
return this[BuiltInApp] || null;
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* 是否加密
|
|
52
|
-
*/
|
|
53
|
-
isEncrypt(basePath) {
|
|
54
|
-
return Utils.isEncrypt(basePath);
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
|
-
|
|
1
|
+
const Utils = require('../utils');
|
|
2
|
+
const EEApplication = Symbol('Ee#Application');
|
|
3
|
+
const BuiltInApp = Symbol('Ee#BuiltInApp');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* EE
|
|
7
|
+
*/
|
|
8
|
+
const EE = {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 兼容1.x版本api
|
|
12
|
+
*/
|
|
13
|
+
get Application() {
|
|
14
|
+
const appClass = require('./application');
|
|
15
|
+
return appClass;
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 设置实例化app对象
|
|
20
|
+
*/
|
|
21
|
+
set app(appObject) {
|
|
22
|
+
if (!this[EEApplication]) {
|
|
23
|
+
this[EEApplication] = appObject;
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 获取实例化app对象
|
|
29
|
+
*/
|
|
30
|
+
get app() {
|
|
31
|
+
return this[EEApplication] || null;
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 设置全局this到CoreApp (eeApp)
|
|
36
|
+
*/
|
|
37
|
+
set CoreApp(obj) {
|
|
38
|
+
if (!this[BuiltInApp]) {
|
|
39
|
+
this[BuiltInApp] = obj;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* 获取 CoreApp (eeApp)
|
|
45
|
+
*/
|
|
46
|
+
get CoreApp() {
|
|
47
|
+
return this[BuiltInApp] || null;
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 是否加密
|
|
52
|
+
*/
|
|
53
|
+
isEncrypt(basePath) {
|
|
54
|
+
return Utils.isEncrypt(basePath);
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
|
|
58
58
|
module.exports = EE;
|
package/electron/app/index.js
CHANGED
|
@@ -1,58 +1,64 @@
|
|
|
1
|
-
const { app } = require('electron');
|
|
2
|
-
const EE = require('../../ee');
|
|
3
|
-
const Log = require('../../log');
|
|
4
|
-
const Electron = require('../index');
|
|
5
|
-
const UtilsIs = require('../../utils/is');
|
|
6
|
-
const Cross = require('../../cross');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
app.whenReady().then(() => {
|
|
26
|
-
CoreApp.createWindow();
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
const { app } = require('electron');
|
|
2
|
+
const EE = require('../../ee');
|
|
3
|
+
const Log = require('../../log');
|
|
4
|
+
const Electron = require('../index');
|
|
5
|
+
const UtilsIs = require('../../utils/is');
|
|
6
|
+
const Cross = require('../../cross');
|
|
7
|
+
const Window = require('../window');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* CoreElectronApp (框架封装的electron app对象)
|
|
11
|
+
*/
|
|
12
|
+
const CoreElectronApp = {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 创建electron应用
|
|
16
|
+
*/
|
|
17
|
+
async create() {
|
|
18
|
+
const { CoreApp } = EE;
|
|
19
|
+
|
|
20
|
+
const gotTheLock = app.requestSingleInstanceLock();
|
|
21
|
+
if (!gotTheLock) {
|
|
22
|
+
app.quit();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
app.whenReady().then(() => {
|
|
26
|
+
CoreApp.createWindow();
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
// 显示首次打开的窗口
|
|
30
|
+
app.on('second-instance', () => {
|
|
31
|
+
Log.coreLogger.info('[ee-core] [lib/eeApp] second-instance');
|
|
32
|
+
Window.restoreMainWindow();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
app.on('window-all-closed', () => {
|
|
36
|
+
if (!UtilsIs.macOS()) {
|
|
37
|
+
Log.coreLogger.info('[ee-core] [lib/eeApp] window-all-closed quit');
|
|
38
|
+
CoreApp.appQuit();
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
app.on('before-quit', () => {
|
|
43
|
+
Electron.extra.closeWindow = true;
|
|
44
|
+
|
|
45
|
+
// kill cross services
|
|
46
|
+
Cross.killAll();
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
if (CoreApp.config.hardGpu.enable == false) {
|
|
50
|
+
app.disableHardwareAcceleration();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return app;
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 退出app
|
|
58
|
+
*/
|
|
59
|
+
quit() {
|
|
60
|
+
app.quit();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
module.exports = CoreElectronApp;
|
package/electron/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
const Window = require('./window');
|
|
2
|
-
|
|
3
|
-
const Electron = {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 兼容1.x版本api
|
|
7
|
-
*/
|
|
8
|
-
get mainWindow() {
|
|
9
|
-
return Window.getMainWindow();
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* extra
|
|
14
|
-
*/
|
|
15
|
-
extra: {
|
|
16
|
-
closeWindow: false,
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
|
|
1
|
+
const Window = require('./window');
|
|
2
|
+
|
|
3
|
+
const Electron = {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 兼容1.x版本api
|
|
7
|
+
*/
|
|
8
|
+
get mainWindow() {
|
|
9
|
+
return Window.getMainWindow();
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* extra
|
|
14
|
+
*/
|
|
15
|
+
extra: {
|
|
16
|
+
closeWindow: false,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
20
|
module.exports = Electron;
|
package/electron/window/index.js
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
const is = require('is-type-of');
|
|
2
|
-
const { BrowserWindow, Menu } = require('electron');
|
|
3
|
-
const Conf = require('../../config');
|
|
4
|
-
const Ps = require('../../ps');
|
|
5
|
-
const EEMainWindow = Symbol('Ee#electron#mainWindow');
|
|
6
|
-
|
|
7
|
-
const Window = {
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* 获取 mainWindow
|
|
11
|
-
*/
|
|
12
|
-
getMainWindow() {
|
|
13
|
-
if (!this[EEMainWindow]) {
|
|
14
|
-
this[EEMainWindow] = this.createMainWindow();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return this[EEMainWindow] || null;
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 创建应用主窗口
|
|
22
|
-
*/
|
|
23
|
-
createMainWindow() {
|
|
24
|
-
|
|
25
|
-
// todo
|
|
26
|
-
// const protocolName = 'eefile';
|
|
27
|
-
// protocol.registerFileProtocol(protocolName, (request, callback) => {
|
|
28
|
-
// const url = request.url.substring(protocolName.length + 3);
|
|
29
|
-
// console.log('[ee-core] [lib/eeApp] registerFileProtocol ----url: ', url);
|
|
30
|
-
// callback({ path: path.normalize(decodeURIComponent(url)) })
|
|
31
|
-
// });
|
|
32
|
-
|
|
33
|
-
const config = Conf.all();
|
|
34
|
-
const win = new BrowserWindow(config.windowsOption);
|
|
35
|
-
this[EEMainWindow] = win;
|
|
36
|
-
|
|
37
|
-
// 菜单显示/隐藏
|
|
38
|
-
if (config.openAppMenu === 'dev-show' && Ps.isProd()) {
|
|
39
|
-
Menu.setApplicationMenu(null);
|
|
40
|
-
} else if (config.openAppMenu === false) {
|
|
41
|
-
Menu.setApplicationMenu(null);
|
|
42
|
-
} else {
|
|
43
|
-
// nothing
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// DevTools
|
|
47
|
-
if (is.object(config.openDevTools)) {
|
|
48
|
-
win.webContents.openDevTools(config.openDevTools);
|
|
49
|
-
} else if (config.openDevTools === true) {
|
|
50
|
-
win.webContents.openDevTools({
|
|
51
|
-
mode: 'undocked'
|
|
52
|
-
});
|
|
53
|
-
} else {
|
|
54
|
-
//
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return win;
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* 还原窗口
|
|
62
|
-
*/
|
|
63
|
-
restoreMainWindow() {
|
|
64
|
-
if (this[EEMainWindow]) {
|
|
65
|
-
if (this[EEMainWindow].isMinimized()) {
|
|
66
|
-
this[EEMainWindow].restore();
|
|
67
|
-
}
|
|
68
|
-
this[EEMainWindow].show();
|
|
69
|
-
this[EEMainWindow].focus();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
1
|
+
const is = require('is-type-of');
|
|
2
|
+
const { BrowserWindow, Menu } = require('electron');
|
|
3
|
+
const Conf = require('../../config/cache');
|
|
4
|
+
const Ps = require('../../ps');
|
|
5
|
+
const EEMainWindow = Symbol('Ee#electron#mainWindow');
|
|
6
|
+
|
|
7
|
+
const Window = {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 获取 mainWindow
|
|
11
|
+
*/
|
|
12
|
+
getMainWindow() {
|
|
13
|
+
if (!this[EEMainWindow]) {
|
|
14
|
+
this[EEMainWindow] = this.createMainWindow();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return this[EEMainWindow] || null;
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 创建应用主窗口
|
|
22
|
+
*/
|
|
23
|
+
createMainWindow() {
|
|
24
|
+
|
|
25
|
+
// todo
|
|
26
|
+
// const protocolName = 'eefile';
|
|
27
|
+
// protocol.registerFileProtocol(protocolName, (request, callback) => {
|
|
28
|
+
// const url = request.url.substring(protocolName.length + 3);
|
|
29
|
+
// console.log('[ee-core] [lib/eeApp] registerFileProtocol ----url: ', url);
|
|
30
|
+
// callback({ path: path.normalize(decodeURIComponent(url)) })
|
|
31
|
+
// });
|
|
32
|
+
|
|
33
|
+
const config = Conf.all();
|
|
34
|
+
const win = new BrowserWindow(config.windowsOption);
|
|
35
|
+
this[EEMainWindow] = win;
|
|
36
|
+
|
|
37
|
+
// 菜单显示/隐藏
|
|
38
|
+
if (config.openAppMenu === 'dev-show' && Ps.isProd()) {
|
|
39
|
+
Menu.setApplicationMenu(null);
|
|
40
|
+
} else if (config.openAppMenu === false) {
|
|
41
|
+
Menu.setApplicationMenu(null);
|
|
42
|
+
} else {
|
|
43
|
+
// nothing
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// DevTools
|
|
47
|
+
if (is.object(config.openDevTools)) {
|
|
48
|
+
win.webContents.openDevTools(config.openDevTools);
|
|
49
|
+
} else if (config.openDevTools === true) {
|
|
50
|
+
win.webContents.openDevTools({
|
|
51
|
+
mode: 'undocked'
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
//
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return win;
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 还原窗口
|
|
62
|
+
*/
|
|
63
|
+
restoreMainWindow() {
|
|
64
|
+
if (this[EEMainWindow]) {
|
|
65
|
+
if (this[EEMainWindow].isMinimized()) {
|
|
66
|
+
this[EEMainWindow].restore();
|
|
67
|
+
}
|
|
68
|
+
this[EEMainWindow].show();
|
|
69
|
+
this[EEMainWindow].focus();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
74
|
module.exports = Window;
|