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.
- package/README.md +9 -0
- package/dist/lib/Framework/AI/AiObject.js +10 -10
- package/dist/lib/Framework/AI/Astar.js +133 -133
- package/dist/lib/Framework/AI/BehaviorAI.js +340 -307
- package/dist/lib/Framework/AI/Entity.js +33 -33
- package/dist/lib/Framework/AI/Point.js +68 -68
- package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
- package/dist/lib/Framework/Config/Config.js +74 -41
- package/dist/lib/Framework/Config/DbConfig.js +14 -14
- package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
- package/dist/lib/Framework/Config/IServerConfig.js +31 -31
- package/dist/lib/Framework/Config/_error_.js +35 -35
- package/dist/lib/Framework/Core/ByteTool.js +85 -85
- package/dist/lib/Framework/Core/Core.js +724 -688
- package/dist/lib/Framework/Core/Timer.js +116 -116
- package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
- package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
- package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
- package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
- package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
- package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
- package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
- package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
- package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
- package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
- package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
- package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
- package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
- package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
- package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
- package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
- package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
- package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
- package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
- package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
- package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
- package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
- package/dist/lib/Framework/Logic/CacheTool.js +106 -73
- package/dist/lib/Framework/Logic/EventTool.js +31 -28
- package/dist/lib/Framework/Logic/HttpTool.js +138 -105
- package/dist/lib/Framework/Logic/Log.js +121 -88
- package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
- package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
- package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
- package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
- package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
- package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
- package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
- package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
- package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
- package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
- package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
- package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
- package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
- package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
- package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
- package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
- package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
- package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
- package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
- package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
- package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
- package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
- package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
- package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
- package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
- package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
- package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
- package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
- package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
- package/dist/lib/Framework/Service/MongoUserService.js +129 -96
- package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
- package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
- package/dist/lib/Framework/Service/ini.js +36 -36
- package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
- package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
- package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
- package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
- package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
- package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
- package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
- package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
- package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
- package/dist/lib/Framework/cgserver.js +215 -212
- package/dist/lib/Framework/global.js +74 -74
- package/dist/lib/Framework/index.js +38 -5
- package/dist/lib/Framework/index_export_.js +180 -177
- package/dist/lib/test/test.js +21 -21
- package/dist/types/Framework/AI/AiObject.d.ts +5 -5
- package/dist/types/Framework/AI/Astar.d.ts +38 -38
- package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
- package/dist/types/Framework/AI/Entity.d.ts +12 -12
- package/dist/types/Framework/AI/Point.d.ts +17 -17
- package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
- package/dist/types/Framework/Config/Config.d.ts +9 -9
- package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
- package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
- package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
- package/dist/types/Framework/Config/_error_.d.ts +99 -99
- package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
- package/dist/types/Framework/Core/Core.d.ts +119 -120
- package/dist/types/Framework/Core/Timer.d.ts +16 -16
- package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
- package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
- package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
- package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
- package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
- package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
- package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
- package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
- package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
- package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
- package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
- package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
- package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
- package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
- package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
- package/dist/types/Framework/Logic/Log.d.ts +18 -18
- package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
- package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
- package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
- package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
- package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
- package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
- package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
- package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
- package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
- package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
- package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
- package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
- package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
- package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
- package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
- package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
- package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
- package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
- package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
- package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
- package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
- package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
- package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
- package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
- package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
- package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
- package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
- package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
- package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
- package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
- package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
- package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
- package/dist/types/Framework/Service/ini.d.ts +29 -29
- package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
- package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
- package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
- package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
- package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
- package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
- package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
- package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
- package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
- package/dist/types/Framework/cgserver.d.ts +63 -63
- package/dist/types/Framework/global.d.ts +45 -45
- package/dist/types/Framework/index.d.ts +2 -2
- package/dist/types/Framework/index_export_.d.ts +81 -79
- package/dist/types/test/test.d.ts +1 -1
- package/package.json +8 -4
|
@@ -1,57 +1,90 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
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;
|