cgserver 8.9.2 → 8.9.4

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.
Files changed (176) hide show
  1. package/README.md +2 -0
  2. package/dist/lib/Framework/AI/AiObject.js +10 -10
  3. package/dist/lib/Framework/AI/Astar.js +133 -133
  4. package/dist/lib/Framework/AI/BehaviorAI.js +307 -307
  5. package/dist/lib/Framework/AI/Entity.js +33 -33
  6. package/dist/lib/Framework/AI/Point.js +68 -68
  7. package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
  8. package/dist/lib/Framework/Config/Config.js +53 -53
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +207 -207
  11. package/dist/lib/Framework/Config/IServerConfig.js +26 -26
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/Core.js +665 -639
  14. package/dist/lib/Framework/Core/Timer.js +116 -116
  15. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +11 -11
  16. package/dist/lib/Framework/Database/Decorator/DBCache.js +64 -64
  17. package/dist/lib/Framework/Database/Decorator/NotNull.js +11 -11
  18. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +11 -11
  19. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  20. package/dist/lib/Framework/Database/Decorator/Table.js +15 -15
  21. package/dist/lib/Framework/Database/Decorator/Type.js +20 -20
  22. package/dist/lib/Framework/Database/MSSqlManager.js +53 -53
  23. package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
  24. package/dist/lib/Framework/Database/MongoManager.js +467 -466
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
  26. package/dist/lib/Framework/Database/MysqlManager.js +179 -179
  27. package/dist/lib/Framework/Database/RedisManager.js +61 -61
  28. package/dist/lib/Framework/Decorator/AdminValidate.js +19 -19
  29. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  30. package/dist/lib/Framework/Decorator/CreatorValidate.js +19 -19
  31. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +15 -15
  32. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  33. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +19 -19
  34. package/dist/lib/Framework/Decorator/SyncCall.js +42 -42
  35. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  36. package/dist/lib/Framework/Logic/CacheTool.js +73 -73
  37. package/dist/lib/Framework/Logic/EventTool.js +27 -27
  38. package/dist/lib/Framework/Logic/HttpTool.js +75 -75
  39. package/dist/lib/Framework/Logic/Log.js +140 -140
  40. package/dist/lib/Framework/Logic/SyncQueueTool.js +43 -43
  41. package/dist/lib/Framework/Service/MongoAccountService.js +367 -367
  42. package/dist/lib/Framework/Service/MongoCacheService.js +42 -42
  43. package/dist/lib/Framework/Service/MongoUserService.js +100 -100
  44. package/dist/lib/Framework/Service/MysqlAccountService.js +441 -441
  45. package/dist/lib/Framework/Service/MysqlUserService.js +171 -171
  46. package/dist/lib/Framework/Service/ini.js +36 -36
  47. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +44 -44
  48. package/dist/lib/Framework/SocketServer/IRpc.js +12 -12
  49. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +63 -63
  50. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +63 -63
  51. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +75 -75
  52. package/dist/lib/Framework/SocketServer/ISocketServer.js +205 -205
  53. package/dist/lib/Framework/SocketServer/IWebSocket.js +195 -195
  54. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -57
  55. package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +8 -8
  56. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -29
  57. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +31 -31
  58. package/dist/lib/Framework/ThirdParty/AlipayTool.js +203 -203
  59. package/dist/lib/Framework/ThirdParty/Alisms.js +46 -46
  60. package/dist/lib/Framework/ThirdParty/AppleTool.js +234 -234
  61. package/dist/lib/Framework/ThirdParty/CgMq.js +132 -132
  62. package/dist/lib/Framework/ThirdParty/EmailTool.js +33 -33
  63. package/dist/lib/Framework/ThirdParty/OpenSocial.js +32 -32
  64. package/dist/lib/Framework/ThirdParty/QQTool.js +118 -118
  65. package/dist/lib/Framework/ThirdParty/QiniuTool.js +21 -21
  66. package/dist/lib/Framework/ThirdParty/Rpc.js +63 -63
  67. package/dist/lib/Framework/ThirdParty/WechatOATool.js +61 -61
  68. package/dist/lib/Framework/ThirdParty/WechatTool.js +74 -74
  69. package/dist/lib/Framework/WebServer/Controller/BaseController.js +112 -112
  70. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -169
  71. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +169 -169
  72. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +112 -112
  73. package/dist/lib/Framework/WebServer/Engine/Engine.js +152 -152
  74. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +544 -544
  75. package/dist/lib/Framework/WebServer/Engine/Request.js +237 -237
  76. package/dist/lib/Framework/WebServer/Engine/Response.js +100 -100
  77. package/dist/lib/Framework/WebServer/IWebServer.js +59 -59
  78. package/dist/lib/Framework/cgserver.js +121 -121
  79. package/dist/lib/Framework/index.js +202 -201
  80. package/dist/lib/test/test.js +21 -21
  81. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  82. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  83. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  84. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  85. package/dist/types/Framework/AI/Point.d.ts +17 -17
  86. package/dist/types/Framework/AI/TriggerMgr.d.ts +52 -52
  87. package/dist/types/Framework/Config/Config.d.ts +12 -12
  88. package/dist/types/Framework/Config/DbConfig.d.ts +10 -10
  89. package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -203
  90. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  91. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  92. package/dist/types/Framework/Core/Core.d.ts +111 -108
  93. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  94. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  95. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +23 -23
  96. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  97. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  98. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  99. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  100. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  101. package/dist/types/Framework/Database/MSSqlManager.d.ts +27 -27
  102. package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
  103. package/dist/types/Framework/Database/MongoManager.d.ts +155 -156
  104. package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
  105. package/dist/types/Framework/Database/MysqlManager.d.ts +53 -53
  106. package/dist/types/Framework/Database/RedisManager.d.ts +24 -24
  107. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  108. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  109. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  110. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  111. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  112. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  113. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  114. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  115. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  116. package/dist/types/Framework/Logic/EventTool.d.ts +13 -13
  117. package/dist/types/Framework/Logic/HttpTool.d.ts +15 -15
  118. package/dist/types/Framework/Logic/Log.d.ts +25 -25
  119. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  120. package/dist/types/Framework/Service/MongoAccountService.d.ts +69 -69
  121. package/dist/types/Framework/Service/MongoCacheService.d.ts +14 -14
  122. package/dist/types/Framework/Service/MongoUserService.d.ts +35 -35
  123. package/dist/types/Framework/Service/MysqlAccountService.d.ts +74 -74
  124. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  125. package/dist/types/Framework/Service/ini.d.ts +29 -29
  126. package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +17 -17
  127. package/dist/types/Framework/SocketServer/IRpc.d.ts +8 -8
  128. package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +16 -16
  129. package/dist/types/Framework/SocketServer/IRpcServerWebSocket.d.ts +16 -16
  130. package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +28 -28
  131. package/dist/types/Framework/SocketServer/ISocketServer.d.ts +45 -45
  132. package/dist/types/Framework/SocketServer/IWebSocket.d.ts +60 -60
  133. package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  134. package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -9
  135. package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  136. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -8
  137. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +109 -109
  138. package/dist/types/Framework/ThirdParty/Alisms.d.ts +14 -14
  139. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  140. package/dist/types/Framework/ThirdParty/CgMq.d.ts +51 -51
  141. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +5 -5
  142. package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +7 -7
  143. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  144. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +6 -6
  145. package/dist/types/Framework/ThirdParty/Rpc.d.ts +20 -20
  146. package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +13 -13
  147. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +20 -20
  148. package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +33 -33
  149. package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +27 -27
  150. package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  151. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +35 -35
  152. package/dist/types/Framework/WebServer/Engine/Engine.d.ts +22 -21
  153. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
  154. package/dist/types/Framework/WebServer/Engine/Request.d.ts +36 -35
  155. package/dist/types/Framework/WebServer/Engine/Response.d.ts +30 -30
  156. package/dist/types/Framework/WebServer/IWebServer.d.ts +20 -20
  157. package/dist/types/Framework/cgserver.d.ts +27 -27
  158. package/dist/types/Framework/index.d.ts +91 -91
  159. package/dist/types/test/test.d.ts +1 -1
  160. package/package.json +1 -1
  161. package/dist/lib/Framework/WebServer/Decorator/AdminValidate.js +0 -19
  162. package/dist/lib/Framework/WebServer/Decorator/AuthorityValidate.js +0 -22
  163. package/dist/lib/Framework/WebServer/Decorator/CreatorValidate.js +0 -19
  164. package/dist/lib/Framework/WebServer/Decorator/JsonAdminValidate.js +0 -15
  165. package/dist/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js +0 -20
  166. package/dist/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js +0 -19
  167. package/dist/lib/Framework/WebServer/Decorator/SyncCall.js +0 -41
  168. package/dist/lib/Framework/WebServer/Decorator/SyncCallServer.js +0 -77
  169. package/dist/types/Framework/WebServer/Decorator/AdminValidate.d.ts +0 -1
  170. package/dist/types/Framework/WebServer/Decorator/AuthorityValidate.d.ts +0 -2
  171. package/dist/types/Framework/WebServer/Decorator/CreatorValidate.d.ts +0 -1
  172. package/dist/types/Framework/WebServer/Decorator/JsonAdminValidate.d.ts +0 -1
  173. package/dist/types/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +0 -2
  174. package/dist/types/Framework/WebServer/Decorator/JsonCreatorValidate.d.ts +0 -1
  175. package/dist/types/Framework/WebServer/Decorator/SyncCall.d.ts +0 -12
  176. package/dist/types/Framework/WebServer/Decorator/SyncCallServer.d.ts +0 -14
@@ -1,59 +1,59 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IWebServer = void 0;
4
- const Engine_1 = require("./Engine/Engine");
5
- const Log_1 = require("../Logic/Log");
6
- const RedisManager_1 = require("../Database/RedisManager");
7
- const MysqlManager_1 = require("../Database/MysqlManager");
8
- const RazorJs_1 = require("./Engine/RazorJs");
9
- const MongoManager_1 = require("../Database/MongoManager");
10
- const AlipayTool_1 = require("../ThirdParty/AlipayTool");
11
- const IServerConfig_1 = require("../Config/IServerConfig");
12
- const EventTool_1 = require("../Logic/EventTool");
13
- const cgserver_1 = require("../cgserver");
14
- const MSSqlManager_1 = require("../Database/MSSqlManager");
15
- //实现对controller的手动注册
16
- class IWebServer {
17
- _engine = null;
18
- /**
19
- * 启动服务器
20
- * @param server_index 这个是服务器的配置index
21
- */
22
- async start(cfg) {
23
- cgserver_1.GCgServer.addWebServer(this);
24
- if (!cfg) {
25
- Log_1.GLog.error("webserver 配置不存在,启动服务器失败");
26
- return false;
27
- }
28
- let dbcfg = IServerConfig_1.GServerCfg.db;
29
- if (dbcfg) {
30
- await RedisManager_1.GRedisMgr.init(dbcfg.redis);
31
- await MysqlManager_1.GMysqlMgr.init(dbcfg.mysql);
32
- await MSSqlManager_1.GMSSqlMgr.init(dbcfg.mssql);
33
- await MongoManager_1.GMongoMgr.init(dbcfg.mongo);
34
- }
35
- AlipayTool_1.GAlipayTool.init();
36
- //初始化web引擎
37
- this._engine = new Engine_1.Engine(cfg, new RazorJs_1.RazorJs());
38
- this._engine.start();
39
- this._registerController();
40
- this._registerRouter();
41
- EventTool_1.GEventTool.emit("web_server_init_done");
42
- return true;
43
- }
44
- stop() {
45
- this._engine.stop();
46
- }
47
- /**
48
- * 注册控制器
49
- * eg:GControllerMgr.registerController("Admin","System",SystemController)
50
- */
51
- _registerController() {
52
- }
53
- /**
54
- * 注册路由
55
- */
56
- _registerRouter() {
57
- }
58
- }
59
- exports.IWebServer = IWebServer;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IWebServer = void 0;
4
+ const Engine_1 = require("./Engine/Engine");
5
+ const Log_1 = require("../Logic/Log");
6
+ const RedisManager_1 = require("../Database/RedisManager");
7
+ const MysqlManager_1 = require("../Database/MysqlManager");
8
+ const RazorJs_1 = require("./Engine/RazorJs");
9
+ const MongoManager_1 = require("../Database/MongoManager");
10
+ const AlipayTool_1 = require("../ThirdParty/AlipayTool");
11
+ const IServerConfig_1 = require("../Config/IServerConfig");
12
+ const EventTool_1 = require("../Logic/EventTool");
13
+ const cgserver_1 = require("../cgserver");
14
+ const MSSqlManager_1 = require("../Database/MSSqlManager");
15
+ //实现对controller的手动注册
16
+ class IWebServer {
17
+ _engine = null;
18
+ /**
19
+ * 启动服务器
20
+ * @param server_index 这个是服务器的配置index
21
+ */
22
+ async start(cfg) {
23
+ cgserver_1.GCgServer.addWebServer(this);
24
+ if (!cfg) {
25
+ Log_1.GLog.error("webserver 配置不存在,启动服务器失败");
26
+ return false;
27
+ }
28
+ let dbcfg = IServerConfig_1.GServerCfg.db;
29
+ if (dbcfg) {
30
+ await RedisManager_1.GRedisMgr.init(dbcfg.redis);
31
+ await MysqlManager_1.GMysqlMgr.init(dbcfg.mysql);
32
+ await MSSqlManager_1.GMSSqlMgr.init(dbcfg.mssql);
33
+ await MongoManager_1.GMongoMgr.init(dbcfg.mongo);
34
+ }
35
+ AlipayTool_1.GAlipayTool.init();
36
+ //初始化web引擎
37
+ this._engine = new Engine_1.Engine(cfg, new RazorJs_1.RazorJs());
38
+ this._engine.start();
39
+ this._registerController();
40
+ this._registerRouter();
41
+ EventTool_1.GEventTool.emit("web_server_init_done");
42
+ return true;
43
+ }
44
+ stop() {
45
+ this._engine.stop();
46
+ }
47
+ /**
48
+ * 注册控制器
49
+ * eg:GControllerMgr.registerController("Admin","System",SystemController)
50
+ */
51
+ _registerController() {
52
+ }
53
+ /**
54
+ * 注册路由
55
+ */
56
+ _registerRouter() {
57
+ }
58
+ }
59
+ exports.IWebServer = IWebServer;
@@ -1,121 +1,121 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GCgServer = void 0;
4
- const Log_1 = require("./Logic/Log");
5
- const EventTool_1 = require("./Logic/EventTool");
6
- const Core_1 = require("./Core/Core");
7
- const Config_1 = require("./Config/Config");
8
- const MSSqlManager_1 = require("./Database/MSSqlManager");
9
- const MysqlManager_1 = require("./Database/MysqlManager");
10
- const RedisManager_1 = require("./Database/RedisManager");
11
- const MongoManager_1 = require("./Database/MongoManager");
12
- class CgServer {
13
- _webservers = [];
14
- get webServers() {
15
- return this._webservers;
16
- }
17
- _socketservers = [];
18
- get socketServers() {
19
- return this._socketservers;
20
- }
21
- _events = {};
22
- _debug = false;
23
- get debug() {
24
- return this._debug;
25
- }
26
- constructor() {
27
- this.init();
28
- }
29
- init() {
30
- process.on("uncaughtException", this.onUnCaughtException.bind(this));
31
- process.on("exit", this.onExit.bind(this));
32
- //ctrl+c
33
- process.on("SIGINT", this.onExit.bind(this));
34
- //kill pid
35
- process.on("SIGUSR1", this.onExit.bind(this));
36
- process.on("SIGUSR2", this.onExit.bind(this));
37
- process.env.TZ = "Asia/Shanghai";
38
- EventTool_1.GEventTool.on("socket_server_init_done", this.onStart.bind(this));
39
- EventTool_1.GEventTool.on("web_server_init_done", this.onStart.bind(this));
40
- let argv = process.argv || [];
41
- for (let i = 0; i < argv.length; ++i) {
42
- let arg = argv[i].toLowerCase();
43
- if (arg == "-d" || arg == "-debug") {
44
- Config_1.Config.debug = true;
45
- this._debug = true;
46
- }
47
- if (arg == "-data") {
48
- if (i + 1 >= argv.length) {
49
- break;
50
- }
51
- ++i;
52
- Config_1.Config.rootDataDir = argv[i].toLocaleLowerCase();
53
- if (!Config_1.Config.rootDataDir.endsWith("/")) {
54
- Config_1.Config.rootDataDir += "/";
55
- }
56
- }
57
- }
58
- }
59
- _done = 0;
60
- onStart() {
61
- ++this._done;
62
- let total = this._webservers.length + this._socketservers.length;
63
- if (this._done != total) {
64
- return;
65
- }
66
- let events = this._events["start"] || [];
67
- for (let i = 0; i < events.length; ++i) {
68
- Core_1.core.safeCall(events[i]);
69
- }
70
- }
71
- async onExit() {
72
- let events = this._events["exit"] || [];
73
- let exit = true;
74
- for (let i = 0; i < events.length; ++i) {
75
- //只要有一个函数返回true,就不退出
76
- let ret = await Core_1.core.safeCall(events[i]);
77
- if (ret === true) {
78
- exit = false;
79
- }
80
- }
81
- if (exit) {
82
- process.exit(0);
83
- }
84
- }
85
- addListener(event, func) {
86
- this._events[event] = this._events[event] || [];
87
- this._events[event].push(func);
88
- }
89
- removeListener(event, func) {
90
- let events = this._events[event];
91
- if (!events) {
92
- return false;
93
- }
94
- let index = events.findIndex((_func) => _func == func);
95
- if (index < 0) {
96
- return false;
97
- }
98
- events.splice(index, 1);
99
- return true;
100
- }
101
- onUnCaughtException(e) {
102
- Log_1.GLog.error(e.stack);
103
- let events = this._events["uncaughtexception"] || [];
104
- for (let i = 0; i < events.length; ++i) {
105
- Core_1.core.safeCall(events[i]);
106
- }
107
- }
108
- addWebServer(server) {
109
- this._webservers.push(server);
110
- }
111
- addSocketServer(server) {
112
- this._socketservers.push(server);
113
- }
114
- async initDb(dbcfg) {
115
- await MSSqlManager_1.GMSSqlMgr.init(dbcfg.mssql);
116
- await MysqlManager_1.GMysqlMgr.init(dbcfg.mysql);
117
- await RedisManager_1.GRedisMgr.init(dbcfg.redis);
118
- await MongoManager_1.GMongoMgr.init(dbcfg.mongo);
119
- }
120
- }
121
- exports.GCgServer = new CgServer();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GCgServer = void 0;
4
+ const Log_1 = require("./Logic/Log");
5
+ const EventTool_1 = require("./Logic/EventTool");
6
+ const Core_1 = require("./Core/Core");
7
+ const Config_1 = require("./Config/Config");
8
+ const MSSqlManager_1 = require("./Database/MSSqlManager");
9
+ const MysqlManager_1 = require("./Database/MysqlManager");
10
+ const RedisManager_1 = require("./Database/RedisManager");
11
+ const MongoManager_1 = require("./Database/MongoManager");
12
+ class CgServer {
13
+ _webservers = [];
14
+ get webServers() {
15
+ return this._webservers;
16
+ }
17
+ _socketservers = [];
18
+ get socketServers() {
19
+ return this._socketservers;
20
+ }
21
+ _events = {};
22
+ _debug = false;
23
+ get debug() {
24
+ return this._debug;
25
+ }
26
+ constructor() {
27
+ this.init();
28
+ }
29
+ init() {
30
+ process.on("uncaughtException", this.onUnCaughtException.bind(this));
31
+ process.on("exit", this.onExit.bind(this));
32
+ //ctrl+c
33
+ process.on("SIGINT", this.onExit.bind(this));
34
+ //kill pid
35
+ process.on("SIGUSR1", this.onExit.bind(this));
36
+ process.on("SIGUSR2", this.onExit.bind(this));
37
+ process.env.TZ = "Asia/Shanghai";
38
+ EventTool_1.GEventTool.on("socket_server_init_done", this.onStart.bind(this));
39
+ EventTool_1.GEventTool.on("web_server_init_done", this.onStart.bind(this));
40
+ let argv = process.argv || [];
41
+ for (let i = 0; i < argv.length; ++i) {
42
+ let arg = argv[i].toLowerCase();
43
+ if (arg == "-d" || arg == "-debug") {
44
+ Config_1.Config.debug = true;
45
+ this._debug = true;
46
+ }
47
+ if (arg == "-data") {
48
+ if (i + 1 >= argv.length) {
49
+ break;
50
+ }
51
+ ++i;
52
+ Config_1.Config.rootDataDir = argv[i].toLocaleLowerCase();
53
+ if (!Config_1.Config.rootDataDir.endsWith("/")) {
54
+ Config_1.Config.rootDataDir += "/";
55
+ }
56
+ }
57
+ }
58
+ }
59
+ _done = 0;
60
+ onStart() {
61
+ ++this._done;
62
+ let total = this._webservers.length + this._socketservers.length;
63
+ if (this._done != total) {
64
+ return;
65
+ }
66
+ let events = this._events["start"] || [];
67
+ for (let i = 0; i < events.length; ++i) {
68
+ Core_1.core.safeCall(events[i]);
69
+ }
70
+ }
71
+ async onExit() {
72
+ let events = this._events["exit"] || [];
73
+ let exit = true;
74
+ for (let i = 0; i < events.length; ++i) {
75
+ //只要有一个函数返回true,就不退出
76
+ let ret = await Core_1.core.safeCall(events[i]);
77
+ if (ret === true) {
78
+ exit = false;
79
+ }
80
+ }
81
+ if (exit) {
82
+ process.exit(0);
83
+ }
84
+ }
85
+ addListener(event, func) {
86
+ this._events[event] = this._events[event] || [];
87
+ this._events[event].push(func);
88
+ }
89
+ removeListener(event, func) {
90
+ let events = this._events[event];
91
+ if (!events) {
92
+ return false;
93
+ }
94
+ let index = events.findIndex((_func) => _func == func);
95
+ if (index < 0) {
96
+ return false;
97
+ }
98
+ events.splice(index, 1);
99
+ return true;
100
+ }
101
+ onUnCaughtException(e) {
102
+ Log_1.GLog.error(e.stack);
103
+ let events = this._events["uncaughtexception"] || [];
104
+ for (let i = 0; i < events.length; ++i) {
105
+ Core_1.core.safeCall(events[i]);
106
+ }
107
+ }
108
+ addWebServer(server) {
109
+ this._webservers.push(server);
110
+ }
111
+ addSocketServer(server) {
112
+ this._socketservers.push(server);
113
+ }
114
+ async initDb(dbcfg) {
115
+ await MSSqlManager_1.GMSSqlMgr.init(dbcfg.mssql);
116
+ await MysqlManager_1.GMysqlMgr.init(dbcfg.mysql);
117
+ await RedisManager_1.GRedisMgr.init(dbcfg.redis);
118
+ await MongoManager_1.GMongoMgr.init(dbcfg.mongo);
119
+ }
120
+ }
121
+ exports.GCgServer = new CgServer();