cgserver 12.0.8 → 12.2.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.
Files changed (176) hide show
  1. package/README.md +9 -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 +340 -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 +74 -41
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
  11. package/dist/lib/Framework/Config/IServerConfig.js +31 -31
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/ByteTool.js +85 -85
  14. package/dist/lib/Framework/Core/Core.js +724 -688
  15. package/dist/lib/Framework/Core/Timer.js +116 -116
  16. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
  17. package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
  18. package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
  19. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
  20. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  21. package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
  22. package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
  23. package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
  24. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
  25. package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
  26. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
  27. package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
  28. package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
  29. package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
  30. package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
  31. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  32. package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
  33. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
  34. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  35. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
  36. package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
  37. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  38. package/dist/lib/Framework/Logic/CacheTool.js +106 -73
  39. package/dist/lib/Framework/Logic/EventTool.js +31 -28
  40. package/dist/lib/Framework/Logic/HttpTool.js +138 -105
  41. package/dist/lib/Framework/Logic/Log.js +121 -88
  42. package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
  43. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
  44. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
  45. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
  46. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
  47. package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
  48. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
  49. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
  50. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
  51. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
  52. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
  53. package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
  54. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
  55. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
  56. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
  57. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
  58. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
  59. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
  60. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
  61. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
  62. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
  63. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
  64. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
  65. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
  66. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
  67. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
  68. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
  69. package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
  70. package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
  71. package/dist/lib/Framework/Service/MongoUserService.js +129 -96
  72. package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
  73. package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
  74. package/dist/lib/Framework/Service/ini.js +36 -36
  75. package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
  76. package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
  77. package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
  78. package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
  79. package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
  80. package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
  81. package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
  82. package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
  83. package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
  84. package/dist/lib/Framework/cgserver.js +215 -212
  85. package/dist/lib/Framework/global.js +74 -74
  86. package/dist/lib/Framework/index.js +38 -5
  87. package/dist/lib/Framework/index_export_.js +180 -177
  88. package/dist/lib/test/test.js +21 -21
  89. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  90. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  91. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  92. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  93. package/dist/types/Framework/AI/Point.d.ts +17 -17
  94. package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
  95. package/dist/types/Framework/Config/Config.d.ts +9 -9
  96. package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
  97. package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
  98. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  99. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  100. package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
  101. package/dist/types/Framework/Core/Core.d.ts +119 -120
  102. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  103. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  104. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
  105. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  106. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  107. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  108. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  109. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  110. package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
  111. package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
  112. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
  113. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
  114. package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
  115. package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
  116. package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
  117. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  118. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  119. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  120. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  121. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  122. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  123. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  124. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  125. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  126. package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
  127. package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
  128. package/dist/types/Framework/Logic/Log.d.ts +18 -18
  129. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  130. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  131. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
  132. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  133. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
  134. package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
  135. package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
  136. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
  137. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
  138. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
  139. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
  140. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
  141. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
  142. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
  143. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
  144. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
  145. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  146. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
  147. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
  148. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
  149. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
  150. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
  151. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
  152. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
  153. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
  154. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
  155. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
  156. package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
  157. package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
  158. package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
  159. package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
  160. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  161. package/dist/types/Framework/Service/ini.d.ts +29 -29
  162. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
  163. package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
  164. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  165. package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
  166. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
  167. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  168. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
  169. package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
  170. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
  171. package/dist/types/Framework/cgserver.d.ts +63 -63
  172. package/dist/types/Framework/global.d.ts +45 -45
  173. package/dist/types/Framework/index.d.ts +2 -2
  174. package/dist/types/Framework/index_export_.d.ts +81 -79
  175. package/dist/types/test/test.d.ts +1 -1
  176. package/package.json +8 -4
@@ -1,57 +1,90 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoogleProtoFilter = void 0;
4
- const Log_1 = require("../../Logic/Log");
5
- const protobufjs = require("protobufjs");
6
- class GoogleProtoFilter {
7
- _root = new protobufjs.Root();
8
- _inited = false;
9
- init(path) {
10
- if (this._inited) {
11
- return;
12
- }
13
- this._inited = true;
14
- try {
15
- this._root.loadSync(path, { keepCase: true });
16
- }
17
- catch (e) {
18
- Log_1.gLog.error(e);
19
- return false;
20
- }
21
- return true;
22
- }
23
- encode(data, root) {
24
- let msg = { cmd: data.cmd };
25
- msg[msg.cmd] = data;
26
- msg[msg.cmd].cmd = undefined;
27
- msg["errcode"] = data.errcode;
28
- msg["tip"] = data.tip;
29
- data.errcode = undefined;
30
- delete data.errcode;
31
- delete msg[msg.cmd].cmd;
32
- let body = this._root.lookupType(root);
33
- var errMsg = body.verify(msg);
34
- if (errMsg)
35
- throw Error(errMsg);
36
- var msgBody = body.create(msg);
37
- var bufferBody = body.encode(msgBody).finish();
38
- return bufferBody;
39
- }
40
- decode(data, root) {
41
- let body = this._root.lookupType(root);
42
- if (!body) {
43
- Log_1.gLog.info("proto body not in proto(!" + root + ")");
44
- return null;
45
- }
46
- let msgBody = body.decode(data);
47
- if (!msgBody) {
48
- Log_1.gLog.info("proto body decode wrong!");
49
- return null;
50
- }
51
- let objBody = body.toObject(msgBody);
52
- let obj = objBody[objBody.cmd];
53
- obj.cmd = objBody.cmd;
54
- return obj;
55
- }
56
- }
57
- exports.GoogleProtoFilter = GoogleProtoFilter;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.GoogleProtoFilter = void 0;
37
+ const Log_1 = require("../../Logic/Log");
38
+ const protobufjs = __importStar(require("protobufjs"));
39
+ class GoogleProtoFilter {
40
+ _root = new protobufjs.Root();
41
+ _inited = false;
42
+ init(path) {
43
+ if (this._inited) {
44
+ return;
45
+ }
46
+ this._inited = true;
47
+ try {
48
+ this._root.loadSync(path, { keepCase: true });
49
+ }
50
+ catch (e) {
51
+ Log_1.gLog.error(e);
52
+ return false;
53
+ }
54
+ return true;
55
+ }
56
+ encode(data, root) {
57
+ let msg = { cmd: data.cmd };
58
+ msg[msg.cmd] = data;
59
+ msg[msg.cmd].cmd = undefined;
60
+ msg["errcode"] = data.errcode;
61
+ msg["tip"] = data.tip;
62
+ data.errcode = undefined;
63
+ delete data.errcode;
64
+ delete msg[msg.cmd].cmd;
65
+ let body = this._root.lookupType(root);
66
+ var errMsg = body.verify(msg);
67
+ if (errMsg)
68
+ throw Error(errMsg);
69
+ var msgBody = body.create(msg);
70
+ var bufferBody = body.encode(msgBody).finish();
71
+ return bufferBody;
72
+ }
73
+ decode(data, root) {
74
+ let body = this._root.lookupType(root);
75
+ if (!body) {
76
+ Log_1.gLog.info("proto body not in proto(!" + root + ")");
77
+ return null;
78
+ }
79
+ let msgBody = body.decode(data);
80
+ if (!msgBody) {
81
+ Log_1.gLog.info("proto body decode wrong!");
82
+ return null;
83
+ }
84
+ let objBody = body.toObject(msgBody);
85
+ let obj = objBody[objBody.cmd];
86
+ obj.cmd = objBody.cmd;
87
+ return obj;
88
+ }
89
+ }
90
+ exports.GoogleProtoFilter = GoogleProtoFilter;
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EProtoType = void 0;
4
- var EProtoType;
5
- (function (EProtoType) {
6
- EProtoType[EProtoType["Json"] = 1] = "Json";
7
- EProtoType[EProtoType["GoogleProtoBuffer"] = 2] = "GoogleProtoBuffer";
8
- EProtoType[EProtoType["Custom"] = 3] = "Custom";
9
- })(EProtoType = exports.EProtoType || (exports.EProtoType = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EProtoType = void 0;
4
+ var EProtoType;
5
+ (function (EProtoType) {
6
+ EProtoType[EProtoType["Json"] = 1] = "Json";
7
+ EProtoType[EProtoType["GoogleProtoBuffer"] = 2] = "GoogleProtoBuffer";
8
+ EProtoType[EProtoType["Custom"] = 3] = "Custom";
9
+ })(EProtoType || (exports.EProtoType = EProtoType = {}));
@@ -1,29 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonProtoFilter = void 0;
4
- const Core_1 = require("../../Core/Core");
5
- const Log_1 = require("../../Logic/Log");
6
- class JsonProtoFilter {
7
- init(path) {
8
- return true;
9
- }
10
- encode(data) {
11
- if (!Core_1.core.isString(data)) {
12
- data = JSON.stringify(data);
13
- }
14
- return data;
15
- }
16
- decode(data) {
17
- try {
18
- if (Core_1.core.isString(data)) {
19
- data = JSON.parse(data);
20
- }
21
- }
22
- catch (e) {
23
- Log_1.gLog.error("decode json data Failed-----data=" + data);
24
- return;
25
- }
26
- return data;
27
- }
28
- }
29
- exports.JsonProtoFilter = JsonProtoFilter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonProtoFilter = void 0;
4
+ const Core_1 = require("../../Core/Core");
5
+ const Log_1 = require("../../Logic/Log");
6
+ class JsonProtoFilter {
7
+ init(path) {
8
+ return true;
9
+ }
10
+ encode(data) {
11
+ if (!Core_1.core.isString(data)) {
12
+ data = JSON.stringify(data);
13
+ }
14
+ return data;
15
+ }
16
+ decode(data) {
17
+ try {
18
+ if (Core_1.core.isString(data)) {
19
+ data = JSON.parse(data);
20
+ }
21
+ }
22
+ catch (e) {
23
+ Log_1.gLog.error("decode json data Failed-----data=" + data);
24
+ return;
25
+ }
26
+ return data;
27
+ }
28
+ }
29
+ exports.JsonProtoFilter = JsonProtoFilter;
@@ -1,35 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gProtoFactory = exports.ProtoFactory = void 0;
4
- const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
- const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
- const IProtoFilter_1 = require("./IProtoFilter");
7
- class ProtoFactory {
8
- _filters = new Map();
9
- _type_filter_classes = new Map();
10
- constructor() {
11
- this.registerFilter(IProtoFilter_1.EProtoType.Json, JsonProtoFilter_1.JsonProtoFilter);
12
- this.registerFilter(IProtoFilter_1.EProtoType.GoogleProtoBuffer, GoogleProtoFilter_1.GoogleProtoFilter);
13
- }
14
- registerFilter(type, proto_filter_class) {
15
- this._type_filter_classes[type] = proto_filter_class;
16
- }
17
- createFilter(type) {
18
- let filter = this._filters.get(type);
19
- if (filter) {
20
- return filter;
21
- }
22
- let proto_class = this._type_filter_classes[type];
23
- if (proto_class) {
24
- filter = new proto_class();
25
- }
26
- else {
27
- //默认
28
- filter = new JsonProtoFilter_1.JsonProtoFilter();
29
- }
30
- this._filters.set(type, filter);
31
- return filter;
32
- }
33
- }
34
- exports.ProtoFactory = ProtoFactory;
35
- exports.gProtoFactory = new ProtoFactory();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gProtoFactory = exports.ProtoFactory = void 0;
4
+ const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
+ const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
+ const IProtoFilter_1 = require("./IProtoFilter");
7
+ class ProtoFactory {
8
+ _filters = new Map();
9
+ _type_filter_classes = new Map();
10
+ constructor() {
11
+ this.registerFilter(IProtoFilter_1.EProtoType.Json, JsonProtoFilter_1.JsonProtoFilter);
12
+ this.registerFilter(IProtoFilter_1.EProtoType.GoogleProtoBuffer, GoogleProtoFilter_1.GoogleProtoFilter);
13
+ }
14
+ registerFilter(type, proto_filter_class) {
15
+ this._type_filter_classes[type] = proto_filter_class;
16
+ }
17
+ createFilter(type) {
18
+ let filter = this._filters.get(type);
19
+ if (filter) {
20
+ return filter;
21
+ }
22
+ let proto_class = this._type_filter_classes[type];
23
+ if (proto_class) {
24
+ filter = new proto_class();
25
+ }
26
+ else {
27
+ //默认
28
+ filter = new JsonProtoFilter_1.JsonProtoFilter();
29
+ }
30
+ this._filters.set(type, filter);
31
+ return filter;
32
+ }
33
+ }
34
+ exports.ProtoFactory = ProtoFactory;
35
+ exports.gProtoFactory = new ProtoFactory();
@@ -1,180 +1,180 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CgMq = exports.RpcConfig = void 0;
4
- const Core_1 = require("../../Core/Core");
5
- const IRpcServerWebSocket_1 = require("./IRpcServerWebSocket");
6
- const Log_1 = require("../../Logic/Log");
7
- class CgMqServerWebsocket extends IRpcServerWebSocket_1.IRpcServerWebSocket {
8
- _cgmq = null;
9
- _listens = {};
10
- get listens() {
11
- return this._listens;
12
- }
13
- constructor(cgmq) {
14
- super(cgmq.cfg.group, cgmq.cfg.id, cgmq.cfg.timeout);
15
- this._cgmq = cgmq;
16
- this._debug_msg = true;
17
- }
18
- onOpen(e) {
19
- super.onOpen(e);
20
- this.init();
21
- this.listen(Object.keys(this._listens));
22
- }
23
- async init() {
24
- let msg = this.getNewMsg("init");
25
- let jsonData = await this.callRemote(msg);
26
- return jsonData;
27
- }
28
- async listen(data) {
29
- for (let i = 0; i < data.length; i++) {
30
- let listen = data[i];
31
- if (!listen) {
32
- continue;
33
- }
34
- this._listens[listen] = true;
35
- }
36
- let msg = this.getNewMsg("listen");
37
- msg.data = data;
38
- let jsonData = await this.callRemote(msg);
39
- return jsonData;
40
- }
41
- async unlisten(data) {
42
- for (let i = 0; i < data.length; i++) {
43
- let listen = data[i];
44
- if (!listen) {
45
- continue;
46
- }
47
- delete this._listens[listen];
48
- }
49
- let msg = this.getNewMsg("unlisten");
50
- msg.data = data;
51
- let jsonData = await this.callRemote(msg);
52
- return jsonData;
53
- }
54
- //把消息发送给rpc服务器,目的是调用远程函数
55
- async push(to_group, data, to_id = "", listen = "", is_mq = false) {
56
- let msg = this.getNewMsg("msg");
57
- msg.to_group = to_group;
58
- msg.to_id = to_id;
59
- msg.data = data;
60
- msg.listen = listen;
61
- msg.__is_mq = is_mq;
62
- let ret_rpcmsg = await this.callRemote(msg);
63
- return ret_rpcmsg;
64
- }
65
- //收到来自远程的调用消息
66
- async receive_msg(req_msg) {
67
- let data = await this._cgmq.onMsg(req_msg);
68
- if (req_msg.__is_mq) {
69
- //mq消息不需要回复
70
- return;
71
- }
72
- let ret_msg = this.toRetMsg(req_msg, data);
73
- this.send(ret_msg);
74
- }
75
- }
76
- class RpcConfig {
77
- /**
78
- * 当前rpc分组,一旦确认不可更改
79
- */
80
- group = "";
81
- /**
82
- * 当前rpc唯一id,一旦确认不可更改
83
- */
84
- id = "";
85
- /**
86
- * rpc超时时间,默认3000ms
87
- */
88
- timeout = 0;
89
- host = "";
90
- port = -1;
91
- }
92
- exports.RpcConfig = RpcConfig;
93
- class CgMq {
94
- _ws = null;
95
- get ws() {
96
- return this._ws;
97
- }
98
- get listens() {
99
- if (!this._ws) {
100
- return {};
101
- }
102
- return this._ws.listens;
103
- }
104
- _inited = false;
105
- _cfg = null;
106
- _onmsg = null;
107
- get id() {
108
- return this._cfg.id;
109
- }
110
- get cfg() {
111
- return this._cfg;
112
- }
113
- get group() {
114
- return this._cfg?.group || "";
115
- }
116
- /**
117
- *
118
- * @param cfg rpc服务器的配置
119
- * @param onmsg
120
- * @returns
121
- */
122
- async init(cfg, onmsg) {
123
- if (!cfg || !cfg.group || !cfg.id) {
124
- return false;
125
- }
126
- this._cfg = cfg;
127
- this._onmsg = onmsg;
128
- if (this._inited) {
129
- Log_1.gLog.error("dulplicate init for CgMq");
130
- return true;
131
- }
132
- this._inited = true;
133
- if (!this._ws) {
134
- this._ws = new CgMqServerWebsocket(this);
135
- }
136
- return new Promise(async (resolve, reject) => {
137
- this._ws.connect(cfg.host, cfg.port);
138
- let pretime = Date.now();
139
- while (true) {
140
- if (this._ws.connected) {
141
- resolve(true);
142
- break;
143
- }
144
- let now = Date.now();
145
- if (now - pretime >= this._cfg.timeout) {
146
- this._ws.close();
147
- resolve(false);
148
- break;
149
- }
150
- await Core_1.core.sleep(100);
151
- }
152
- });
153
- }
154
- async callRemote(group, to_id, listen, func_name, is_mq = false, ...args) {
155
- let time = Date.now();
156
- let data = {
157
- cmd: func_name,
158
- args: args
159
- };
160
- let ret_rpcmsg = await this._ws.push(group, data, to_id, listen, is_mq);
161
- if (this._ws.debug_msg) {
162
- Log_1.gLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name + "-" + listen);
163
- }
164
- return ret_rpcmsg;
165
- }
166
- async onMsg(msg) {
167
- if (this._onmsg) {
168
- let data = await Core_1.core.safeCall(this._onmsg, null, msg);
169
- return data;
170
- }
171
- return;
172
- }
173
- async listen(data) {
174
- return await this._ws.listen(data);
175
- }
176
- async unlisten(data) {
177
- return await this._ws.unlisten(data);
178
- }
179
- }
180
- exports.CgMq = CgMq;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CgMq = exports.RpcConfig = void 0;
4
+ const Core_1 = require("../../Core/Core");
5
+ const IRpcServerWebSocket_1 = require("./IRpcServerWebSocket");
6
+ const Log_1 = require("../../Logic/Log");
7
+ class CgMqServerWebsocket extends IRpcServerWebSocket_1.IRpcServerWebSocket {
8
+ _cgmq = null;
9
+ _listens = {};
10
+ get listens() {
11
+ return this._listens;
12
+ }
13
+ constructor(cgmq) {
14
+ super(cgmq.cfg.group, cgmq.cfg.id, cgmq.cfg.timeout);
15
+ this._cgmq = cgmq;
16
+ this._debug_msg = true;
17
+ }
18
+ onOpen(e) {
19
+ super.onOpen(e);
20
+ this.init();
21
+ this.listen(Object.keys(this._listens));
22
+ }
23
+ async init() {
24
+ let msg = this.getNewMsg("init");
25
+ let jsonData = await this.callRemote(msg);
26
+ return jsonData;
27
+ }
28
+ async listen(data) {
29
+ for (let i = 0; i < data.length; i++) {
30
+ let listen = data[i];
31
+ if (!listen) {
32
+ continue;
33
+ }
34
+ this._listens[listen] = true;
35
+ }
36
+ let msg = this.getNewMsg("listen");
37
+ msg.data = data;
38
+ let jsonData = await this.callRemote(msg);
39
+ return jsonData;
40
+ }
41
+ async unlisten(data) {
42
+ for (let i = 0; i < data.length; i++) {
43
+ let listen = data[i];
44
+ if (!listen) {
45
+ continue;
46
+ }
47
+ delete this._listens[listen];
48
+ }
49
+ let msg = this.getNewMsg("unlisten");
50
+ msg.data = data;
51
+ let jsonData = await this.callRemote(msg);
52
+ return jsonData;
53
+ }
54
+ //把消息发送给rpc服务器,目的是调用远程函数
55
+ async push(to_group, data, to_id = "", listen = "", is_mq = false) {
56
+ let msg = this.getNewMsg("msg");
57
+ msg.to_group = to_group;
58
+ msg.to_id = to_id;
59
+ msg.data = data;
60
+ msg.listen = listen;
61
+ msg.__is_mq = is_mq;
62
+ let ret_rpcmsg = await this.callRemote(msg);
63
+ return ret_rpcmsg;
64
+ }
65
+ //收到来自远程的调用消息
66
+ async receive_msg(req_msg) {
67
+ let data = await this._cgmq.onMsg(req_msg);
68
+ if (req_msg.__is_mq) {
69
+ //mq消息不需要回复
70
+ return;
71
+ }
72
+ let ret_msg = this.toRetMsg(req_msg, data);
73
+ this.send(ret_msg);
74
+ }
75
+ }
76
+ class RpcConfig {
77
+ /**
78
+ * 当前rpc分组,一旦确认不可更改
79
+ */
80
+ group = "";
81
+ /**
82
+ * 当前rpc唯一id,一旦确认不可更改
83
+ */
84
+ id = "";
85
+ /**
86
+ * rpc超时时间,默认3000ms
87
+ */
88
+ timeout = 0;
89
+ host = "";
90
+ port = -1;
91
+ }
92
+ exports.RpcConfig = RpcConfig;
93
+ class CgMq {
94
+ _ws = null;
95
+ get ws() {
96
+ return this._ws;
97
+ }
98
+ get listens() {
99
+ if (!this._ws) {
100
+ return {};
101
+ }
102
+ return this._ws.listens;
103
+ }
104
+ _inited = false;
105
+ _cfg = null;
106
+ _onmsg = null;
107
+ get id() {
108
+ return this._cfg.id;
109
+ }
110
+ get cfg() {
111
+ return this._cfg;
112
+ }
113
+ get group() {
114
+ return this._cfg?.group || "";
115
+ }
116
+ /**
117
+ *
118
+ * @param cfg rpc服务器的配置
119
+ * @param onmsg
120
+ * @returns
121
+ */
122
+ async init(cfg, onmsg) {
123
+ if (!cfg || !cfg.group || !cfg.id) {
124
+ return false;
125
+ }
126
+ this._cfg = cfg;
127
+ this._onmsg = onmsg;
128
+ if (this._inited) {
129
+ Log_1.gLog.error("dulplicate init for CgMq");
130
+ return true;
131
+ }
132
+ this._inited = true;
133
+ if (!this._ws) {
134
+ this._ws = new CgMqServerWebsocket(this);
135
+ }
136
+ return new Promise(async (resolve, reject) => {
137
+ this._ws.connect(cfg.host, cfg.port);
138
+ let pretime = Date.now();
139
+ while (true) {
140
+ if (this._ws.connected) {
141
+ resolve(true);
142
+ break;
143
+ }
144
+ let now = Date.now();
145
+ if (now - pretime >= this._cfg.timeout) {
146
+ this._ws.close();
147
+ resolve(false);
148
+ break;
149
+ }
150
+ await Core_1.core.sleep(100);
151
+ }
152
+ });
153
+ }
154
+ async callRemote(group, to_id, listen, func_name, is_mq = false, ...args) {
155
+ let time = Date.now();
156
+ let data = {
157
+ cmd: func_name,
158
+ args: args
159
+ };
160
+ let ret_rpcmsg = await this._ws.push(group, data, to_id, listen, is_mq);
161
+ if (this._ws.debug_msg) {
162
+ Log_1.gLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name + "-" + listen);
163
+ }
164
+ return ret_rpcmsg;
165
+ }
166
+ async onMsg(msg) {
167
+ if (this._onmsg) {
168
+ let data = await Core_1.core.safeCall(this._onmsg, null, msg);
169
+ return data;
170
+ }
171
+ return;
172
+ }
173
+ async listen(data) {
174
+ return await this._ws.listen(data);
175
+ }
176
+ async unlisten(data) {
177
+ return await this._ws.unlisten(data);
178
+ }
179
+ }
180
+ exports.CgMq = CgMq;