cgserver 12.0.0 → 12.0.1

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 (74) hide show
  1. package/dist/lib/Framework/{ThirdParty → Server/RpcWebSocketServer}/CgMq.js +11 -6
  2. package/dist/lib/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpc.js +4 -2
  3. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -0
  4. package/dist/lib/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpcServerWebSocket.js +16 -5
  5. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +17 -17
  6. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +1 -1
  7. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +3 -0
  8. package/dist/lib/Framework/ThirdParty/Rpc.js +15 -6
  9. package/dist/lib/Framework/index_export_.js +4 -4
  10. package/dist/types/Framework/{ThirdParty → Server/RpcWebSocketServer}/CgMq.d.ts +4 -4
  11. package/dist/types/Framework/{SocketServer → Server/RpcWebSocketServer}/IRpc.d.ts +3 -2
  12. package/dist/types/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpcClientWebSocket.d.ts +6 -1
  13. package/dist/types/Framework/{SocketServer → Server/RpcWebSocketServer}/IRpcServerWebSocket.d.ts +2 -2
  14. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +1 -0
  15. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +1 -0
  16. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +1 -0
  17. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +3 -3
  18. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +1 -0
  19. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +2 -2
  20. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +4 -1
  21. package/dist/types/Framework/ThirdParty/Rpc.d.ts +7 -5
  22. package/dist/types/Framework/index_export_.d.ts +4 -4
  23. package/package.json +1 -1
  24. package/dist/lib/Framework/Database/MSSqlManager.js +0 -53
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +0 -280
  26. package/dist/lib/Framework/Database/MysqlManager.js +0 -105
  27. package/dist/lib/Framework/Database/RedisManager.js +0 -60
  28. package/dist/lib/Framework/Server/WebSocketServer/IRpcClientWebSocket.js +0 -140
  29. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +0 -44
  30. package/dist/lib/Framework/SocketServer/IRpc.js +0 -36
  31. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +0 -140
  32. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +0 -82
  33. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +0 -95
  34. package/dist/lib/Framework/SocketServer/ISocketServer.js +0 -214
  35. package/dist/lib/Framework/SocketServer/IWebSocket.js +0 -215
  36. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +0 -57
  37. package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +0 -9
  38. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +0 -29
  39. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +0 -35
  40. package/dist/lib/Framework/ThirdParty/CgRankToo.js +0 -196
  41. package/dist/lib/Framework/WebServer/Controller/BaseController.js +0 -119
  42. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +0 -171
  43. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +0 -169
  44. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +0 -115
  45. package/dist/lib/Framework/WebServer/Engine/Engine.js +0 -218
  46. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +0 -543
  47. package/dist/lib/Framework/WebServer/Engine/Request.js +0 -226
  48. package/dist/lib/Framework/WebServer/Engine/Response.js +0 -87
  49. package/dist/lib/Framework/WebServer/IWebServer.js +0 -55
  50. package/dist/types/Framework/Database/MSSqlManager.d.ts +0 -26
  51. package/dist/types/Framework/Database/MysqlBaseService.d.ts +0 -34
  52. package/dist/types/Framework/Database/MysqlManager.d.ts +0 -30
  53. package/dist/types/Framework/Database/RedisManager.d.ts +0 -24
  54. package/dist/types/Framework/Server/WebSocketServer/IRpc.d.ts +0 -32
  55. package/dist/types/Framework/Server/WebSocketServer/IRpcServerWebSocket.d.ts +0 -23
  56. package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +0 -17
  57. package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +0 -29
  58. package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +0 -38
  59. package/dist/types/Framework/SocketServer/ISocketServer.d.ts +0 -46
  60. package/dist/types/Framework/SocketServer/IWebSocket.d.ts +0 -76
  61. package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +0 -9
  62. package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +0 -10
  63. package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +0 -6
  64. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +0 -12
  65. package/dist/types/Framework/ThirdParty/CgRankToo.d.ts +0 -103
  66. package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +0 -34
  67. package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +0 -28
  68. package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +0 -27
  69. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +0 -37
  70. package/dist/types/Framework/WebServer/Engine/Engine.d.ts +0 -44
  71. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +0 -21
  72. package/dist/types/Framework/WebServer/Engine/Request.d.ts +0 -50
  73. package/dist/types/Framework/WebServer/Engine/Response.d.ts +0 -26
  74. package/dist/types/Framework/WebServer/IWebServer.d.ts +0 -22
@@ -1,214 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ISocketServer = void 0;
4
- const ws = require("websocket");
5
- const fs = require("fs");
6
- const http = require("http");
7
- const https = require("https");
8
- const Config_1 = require("../Config/Config");
9
- const cgserver_1 = require("../cgserver");
10
- const Log_1 = require("../Logic/Log");
11
- const EventTool_1 = require("../Logic/EventTool");
12
- class ISocketServer {
13
- _cfg = null;
14
- //方便提示
15
- get cfg() {
16
- return this._cfg;
17
- }
18
- //服务器已被关闭
19
- _is_runging = false;
20
- get isrunging() {
21
- return this._is_runging;
22
- }
23
- get name() {
24
- return this._cfg.serverName;
25
- }
26
- //监听websocket
27
- _listening_websocket = null;
28
- get listeningWebSocket() {
29
- return this._listening_websocket;
30
- }
31
- //来自于用户的链接
32
- _ws_clients = {};
33
- get listenPort() {
34
- return this._cfg.port;
35
- }
36
- /**
37
- * websocket can accepted protocol
38
- */
39
- _accepted_protocol = null;
40
- //服务器管理相关
41
- /*
42
- item=servername:class
43
- */
44
- _name_vs_class = {};
45
- registerWebSocketHandleClass(name, cls) {
46
- if (!name || name == "") {
47
- throw "registerWebSocketHandleClass name must be not null or empty!";
48
- }
49
- this._name_vs_class[name] = cls;
50
- }
51
- constructor(cfg) {
52
- this._cfg = cfg;
53
- }
54
- removeServerWebSocketBySocketId(socketId) {
55
- this._ws_clients[socketId] = null;
56
- delete this._ws_clients[socketId];
57
- }
58
- async run() {
59
- cgserver_1.gCgServer.addSocketServer(this);
60
- if (this._cfg.db) {
61
- await cgserver_1.gCgServer.initDb(this._cfg.db);
62
- }
63
- this.initWebSocket();
64
- }
65
- pause() {
66
- if (!this._is_runging) {
67
- Log_1.gLog.error("websocketserver has paused:" + this._cfg.port);
68
- return;
69
- }
70
- this._is_runging = false;
71
- this._listening_websocket.closeAllConnections();
72
- Log_1.gLog.info("websocketserver paused:" + this._cfg.port);
73
- }
74
- resume() {
75
- if (this._is_runging) {
76
- Log_1.gLog.error("websocketserver is running:" + this._cfg.port);
77
- return;
78
- }
79
- this._is_runging = true;
80
- Log_1.gLog.error("websocketserver resumed:" + this._cfg.port);
81
- }
82
- /*
83
- 把所有的客户端链接保存起来
84
- 方便统计,广播等
85
- */
86
- addClient(ws_client) {
87
- this._ws_clients[ws_client.socketId] = ws_client;
88
- }
89
- isOriginAllowed(origin) {
90
- if (!this._is_runging) {
91
- return false;
92
- }
93
- return true;
94
- }
95
- initWebSocket(wss) {
96
- let server = null;
97
- if (wss) {
98
- let options = {
99
- key: fs.readFileSync(Config_1.Config.rootDataDir + "ssl/ssl2.key"),
100
- cert: fs.readFileSync(Config_1.Config.rootDataDir + "ssl/ssl2.crt"),
101
- //passphrase:'1234'//如果秘钥文件有密码的话,用这个属性设置密码
102
- };
103
- server = https.createServer(options, (request, response) => {
104
- Log_1.gLog.info((new Date()) + 'wss Received request for ' + request.url);
105
- response.writeHead(200);
106
- response.end();
107
- });
108
- }
109
- else {
110
- server = http.createServer((request, response) => {
111
- Log_1.gLog.info((new Date()) + 'ws Received request for ' + request.url);
112
- response.writeHead(200);
113
- response.end();
114
- });
115
- }
116
- server.listen(this._cfg.port, this.onListenning.bind(this));
117
- this._listening_websocket = new ws.server({
118
- httpServer: server,
119
- // You should not use autoAcceptConnections for production
120
- // applications, as it defeats all standard cross-origin protection
121
- // facilities built into the protocol and the browser. You should
122
- // *always* verify the connection's origin and decide whether or not
123
- // to accept it.
124
- autoAcceptConnections: false
125
- });
126
- this._listening_websocket.on('request', this.onRequest.bind(this));
127
- this._listening_websocket.on('close', this.onClose.bind(this));
128
- }
129
- onClose(connection, reason, desc) {
130
- }
131
- onListenning() {
132
- this._is_runging = true;
133
- EventTool_1.gEventTool.emit("socket_server_init_done");
134
- let info = (new Date()) + " Server " + this.name + " is listening on port " + this._cfg.port;
135
- Log_1.gLog.info(info);
136
- }
137
- onRequest(req) {
138
- if (!this._is_runging) {
139
- req.reject();
140
- Log_1.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
141
- return;
142
- }
143
- let protocol = null;
144
- if (req.requestedProtocols.length > 0) {
145
- protocol = req.requestedProtocols[0];
146
- }
147
- let allowed = this.isOriginAllowed(req.origin);
148
- if (!allowed) {
149
- req.reject();
150
- Log_1.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
151
- return;
152
- }
153
- try {
154
- let conn = req.accept(this._accepted_protocol, req.origin);
155
- if (!conn) {
156
- Log_1.gLog.error(' protocol reject');
157
- return;
158
- }
159
- Log_1.gLog.info((new Date()) + ' Connection accepted.');
160
- let server_name = this._getServerNameByCookies(req.cookies);
161
- this.createWebSocketObjectByProtocol(server_name, conn, req);
162
- }
163
- catch (e) {
164
- Log_1.gLog.error(' protocol reject');
165
- }
166
- }
167
- createWebSocketObjectByProtocol(server_name, _ws, req) {
168
- server_name = server_name || "default";
169
- let cls = this._name_vs_class[server_name];
170
- if (!cls) {
171
- Log_1.gLog.error("(createWebSocketObjectByProtocol in server(" + this.name + "))no this websocket handle class=" + server_name);
172
- return null;
173
- }
174
- let ws_server = (new cls(this));
175
- this.addClient(ws_server);
176
- ws_server.onConnect(_ws, req);
177
- return ws_server;
178
- }
179
- _getServerNameByCookies(cookies) {
180
- let server_name = "";
181
- if (!cookies) {
182
- return server_name;
183
- }
184
- for (let index in cookies) {
185
- let cookie = cookies[index];
186
- if (cookie.name == "server") {
187
- server_name = cookie.value;
188
- break;
189
- }
190
- }
191
- return server_name;
192
- }
193
- /**
194
- * 广播消息
195
- * @param msg
196
- */
197
- broadCast(msg) {
198
- for (var key in this._ws_clients) {
199
- let ws = this._ws_clients[key];
200
- ws.send(msg);
201
- }
202
- }
203
- /**
204
- * 获取任意客户端连接
205
- * @returns
206
- */
207
- getAnyWebSocket() {
208
- for (var key in this._ws_clients) {
209
- return this._ws_clients[key];
210
- }
211
- return null;
212
- }
213
- }
214
- exports.ISocketServer = ISocketServer;
@@ -1,215 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IWebSocket = exports.BaseMsg = void 0;
4
- const IProtoFilter_1 = require("./ProtoFilter/IProtoFilter");
5
- const Core_1 = require("../Core/Core");
6
- const _ = require("underscore");
7
- const ProtoFactory_1 = require("./ProtoFilter/ProtoFactory");
8
- const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
9
- const Log_1 = require("../Logic/Log");
10
- class BaseMsg {
11
- cmd;
12
- errcode;
13
- servertime = Date.now();
14
- constructor(cmd, errcode) {
15
- this.cmd = cmd;
16
- this.errcode = errcode;
17
- }
18
- }
19
- exports.BaseMsg = BaseMsg;
20
- class IWebSocket {
21
- /**
22
- * 是否同步消息
23
- * 默认为true
24
- */
25
- _is_sync_msg = true;
26
- get isSynMsg() {
27
- return this._is_sync_msg;
28
- }
29
- _debug_msg = false;
30
- get debug_msg() {
31
- return this._debug_msg;
32
- }
33
- set debug_msg(value) {
34
- this._debug_msg = value;
35
- }
36
- _socket_id = 0;
37
- get socketId() {
38
- return this._socket_id;
39
- }
40
- _tipKey = "";
41
- get tipKey() {
42
- return this._tipKey;
43
- }
44
- _ws = null;
45
- get ws() {
46
- return this._ws;
47
- }
48
- _req = null;
49
- _protoType = IProtoFilter_1.EProtoType.Json;
50
- _protoFilter = null;
51
- _protoPath = "";
52
- _ip = null;
53
- get remoteHost() {
54
- if (!this._ip) {
55
- this._ip = this._ws.remoteAddress;
56
- this._ip = this._ip.substring(this._ip.lastIndexOf(":") + 1);
57
- }
58
- return this._ip;
59
- }
60
- get connected() {
61
- if (this._ws
62
- && this._ws.connected == true) {
63
- return true;
64
- }
65
- return false;
66
- }
67
- _nodebugmsgs = {
68
- "heartbeat": true,
69
- "ping": true
70
- };
71
- constructor(protoType = IProtoFilter_1.EProtoType.Json, protoPath = "") {
72
- this._socket_id = parseInt(_.uniqueId());
73
- this._protoType = protoType;
74
- this._protoPath = protoPath;
75
- }
76
- getNewMsg(cmd, errcode) {
77
- let msg = new BaseMsg(cmd, errcode);
78
- return msg;
79
- }
80
- receive_heartbeat(jsonData) {
81
- this.send_heartbeat();
82
- }
83
- send_heartbeat() {
84
- let msg = this.getNewMsg("heartbeat");
85
- this.send(msg);
86
- }
87
- onConnect(_ws, _req) {
88
- this._ws = _ws;
89
- this._req = _req;
90
- if (!this._protoFilter) {
91
- this._protoFilter = ProtoFactory_1.gProtoFactory.createFilter(this._protoType);
92
- this._protoFilter.init(this._protoPath);
93
- }
94
- this._ws.on("message", this.onMessage.bind(this));
95
- this._ws.on("error", this.onError.bind(this));
96
- this._ws.on("close", this.onClose.bind(this));
97
- this.onOpen();
98
- }
99
- onMessage(message) {
100
- try {
101
- let msg = this._onDecode(message);
102
- if (this._is_sync_msg) {
103
- SyncQueueTool_1.gSyncQueueTool.add(this._socket_id + "", this._onMessage, this, msg);
104
- }
105
- else {
106
- this._onMessage(msg);
107
- }
108
- }
109
- catch (e) {
110
- Log_1.gLog.error(this.tipKey + ' Received Message Handle Error: ' + e);
111
- }
112
- }
113
- _onDecode(message, ...params) {
114
- let msg = null;
115
- if (message.type === 'utf8') {
116
- msg = this._protoFilter.decode(message.utf8Data, ...params);
117
- }
118
- else if (message.type === 'binary') {
119
- msg = this._protoFilter.decode(message.binaryData, ...params);
120
- }
121
- return msg;
122
- }
123
- _onEncode(data, ...params) {
124
- let msg = this._protoFilter.encode(data, ...params);
125
- return msg;
126
- }
127
- /**
128
- * 过滤消息,每个消息处理之前调用
129
- * @param msg
130
- * @returns
131
- */
132
- filterMsg(msg) {
133
- if (!msg) {
134
- Log_1.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
135
- return false;
136
- }
137
- if (this._debug_msg && !this._nodebugmsgs[msg.cmd]) {
138
- Log_1.gLog.info({ tipKey: this.tipKey, action: "receive", msg });
139
- }
140
- if (!msg.cmd) {
141
- Log_1.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
142
- return false;
143
- }
144
- return true;
145
- }
146
- async _onMessage(data) {
147
- let time = Date.now();
148
- let jsonData = data;
149
- let func = this["receive_" + jsonData.cmd];
150
- let ret = this.filterMsg(jsonData);
151
- if (!ret) {
152
- return;
153
- }
154
- else if (!func) {
155
- let otherfunc = this["receive_other_all"];
156
- if (otherfunc) {
157
- await Core_1.core.safeCall(otherfunc, this, jsonData);
158
- }
159
- else {
160
- Log_1.gLog.error(this.tipKey + ' Received Message warning: no cmd handle,cmd=' + jsonData.cmd);
161
- }
162
- }
163
- else {
164
- await Core_1.core.safeCall(func, this, jsonData);
165
- }
166
- if (this._debug_msg && !this._nodebugmsgs[jsonData.cmd]) {
167
- Log_1.gLog.info("[" + (Date.now() - time) + "ms] " + jsonData.cmd);
168
- }
169
- }
170
- onOpen(e) {
171
- }
172
- onError(e) {
173
- }
174
- onClose(reasonCode, description) {
175
- Log_1.gLog.info(this.tipKey + " " + this._socket_id + ":onClose resonCode=" + reasonCode + " des=" + description);
176
- }
177
- filterSendMsg(msg) {
178
- if (!this.connected) {
179
- return false;
180
- }
181
- if (!msg) {
182
- Log_1.gLog.error(this.tipKey + " Send Message warning:null data!");
183
- return false;
184
- }
185
- if (this._debug_msg && !this._nodebugmsgs[msg.cmd]) {
186
- Log_1.gLog.info({ tipKey: this.tipKey, action: "send", msg });
187
- }
188
- return true;
189
- }
190
- send(msg) {
191
- let ret = this.filterSendMsg(msg);
192
- if (!ret) {
193
- return;
194
- }
195
- let data = this._onEncode(msg);
196
- this._ws.send(data);
197
- }
198
- /**
199
- * Close the connection. A close frame will be sent to the remote peer indicating
200
- * that we wish to close the connection, and we will then wait for up to
201
- * `config.closeTimeout` milliseconds for an acknowledgment from the remote peer
202
- * before terminating the underlying socket connection.
203
- */
204
- close(reasonCode, description) {
205
- this._ws.close(reasonCode, description);
206
- }
207
- /**
208
- * Send a close frame to the remote peer and immediately close the socket without
209
- * waiting for a response. This should generally be used only in error conditions.
210
- */
211
- drop(reasonCode, description, skipCloseFrame) {
212
- this._ws.drop(reasonCode, description, skipCloseFrame);
213
- }
214
- }
215
- exports.IWebSocket = IWebSocket;
@@ -1,57 +0,0 @@
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,9 +0,0 @@
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,29 +0,0 @@
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 +0,0 @@
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();