cgserver 8.9.3 → 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 -467
  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 -202
  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 -155
  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,195 +1,195 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IWebSocket = exports.BaseMsg = void 0;
4
- const Log_1 = require("../Logic/Log");
5
- const ProtoFactory_1 = require("./ProtoFilter/ProtoFactory");
6
- const IProtoFilter_1 = require("./ProtoFilter/IProtoFilter");
7
- const Core_1 = require("../Core/Core");
8
- const _ = require("underscore");
9
- const IServerConfig_1 = require("../Config/IServerConfig");
10
- const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
11
- class BaseMsg {
12
- cmd;
13
- errcode;
14
- servertime = Date.now();
15
- constructor(cmd, errcode) {
16
- this.cmd = cmd;
17
- this.errcode = errcode;
18
- }
19
- }
20
- exports.BaseMsg = BaseMsg;
21
- class IWebSocket {
22
- /**
23
- * 是否同步消息
24
- * 默认为true
25
- */
26
- _is_sync_msg = true;
27
- get isSynMsg() {
28
- return this._is_sync_msg;
29
- }
30
- _debug_msg = false;
31
- get debug_msg() {
32
- return this._debug_msg;
33
- }
34
- set debug_msg(value) {
35
- this._debug_msg = value;
36
- }
37
- _socket_id = 0;
38
- get socketId() {
39
- return this._socket_id;
40
- }
41
- _tipKey = "";
42
- get tipKey() {
43
- return this._tipKey;
44
- }
45
- _ws = null;
46
- _protoType = IProtoFilter_1.EProtoType.Json;
47
- _protoFilter = null;
48
- _protoPath = "";
49
- _ip = null;
50
- get remoteHost() {
51
- if (!this._ip) {
52
- this._ip = this._ws.remoteAddress;
53
- this._ip = this._ip.substring(this._ip.lastIndexOf(":") + 1);
54
- }
55
- return this._ip;
56
- }
57
- get connected() {
58
- if (this._ws
59
- && this._ws.connected == true) {
60
- return true;
61
- }
62
- return false;
63
- }
64
- constructor(protoType = IProtoFilter_1.EProtoType.Json, protoPath = "") {
65
- this._debug_msg = IServerConfig_1.GServerCfg.debug_msg;
66
- this._socket_id = parseInt(_.uniqueId());
67
- this._protoType = protoType;
68
- this._protoPath = protoPath;
69
- }
70
- getNewMsg(cmd, errcode) {
71
- let msg = new BaseMsg(cmd, errcode);
72
- return msg;
73
- }
74
- receive_heartbeat(jsonData) {
75
- this.send_heartbeat();
76
- }
77
- send_heartbeat() {
78
- let msg = this.getNewMsg("heartbeat");
79
- this.send(msg);
80
- }
81
- onConnect(_ws) {
82
- this._ws = _ws;
83
- if (!this._protoFilter) {
84
- this._protoFilter = ProtoFactory_1.GProtoFactory.createFilter(this._protoType);
85
- this._protoFilter.init(this._protoPath);
86
- }
87
- this._ws.on("message", this.onMessage.bind(this));
88
- this._ws.on("error", this.onError.bind(this));
89
- this._ws.on("close", this.onClose.bind(this));
90
- this.onOpen();
91
- }
92
- onMessage(message) {
93
- try {
94
- let msg = this._onDecode(message);
95
- if (this._is_sync_msg) {
96
- SyncQueueTool_1.GSyncQueueTool.add(this._socket_id + "", this._onMessage, this, msg);
97
- }
98
- else {
99
- this._onMessage(msg);
100
- }
101
- }
102
- catch (e) {
103
- Log_1.GLog.error(this.tipKey + ' Received Message Handle Error: ' + e);
104
- }
105
- }
106
- _onDecode(message, ...params) {
107
- let msg = null;
108
- if (message.type === 'utf8') {
109
- msg = this._protoFilter.decode(message.utf8Data, ...params);
110
- }
111
- else if (message.type === 'binary') {
112
- msg = this._protoFilter.decode(message.binaryData, ...params);
113
- }
114
- return msg;
115
- }
116
- _onEncode(data, ...params) {
117
- let msg = this._protoFilter.encode(data, ...params);
118
- return msg;
119
- }
120
- /**
121
- * 过滤消息,每个消息处理之前调用
122
- * @param msg
123
- * @returns
124
- */
125
- filterMsg(msg) {
126
- if (!msg) {
127
- Log_1.GLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
128
- return false;
129
- }
130
- if (this._debug_msg && msg.cmd != "heartbeat") {
131
- Log_1.GLog.info({ tipKey: this.tipKey, action: "receive", msg });
132
- }
133
- if (!msg.cmd) {
134
- Log_1.GLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
135
- return false;
136
- }
137
- return true;
138
- }
139
- async _onMessage(data) {
140
- let jsonData = data;
141
- let func = this["receive_" + jsonData.cmd];
142
- let ret = this.filterMsg(jsonData);
143
- if (!ret) {
144
- return;
145
- }
146
- else if (!func) {
147
- let otherfunc = this["receive_other_all"];
148
- if (otherfunc) {
149
- await Core_1.core.safeCall(otherfunc, this, jsonData);
150
- }
151
- else {
152
- Log_1.GLog.error(this.tipKey + ' Received Message warning: no cmd handle,cmd=' + jsonData.cmd);
153
- }
154
- }
155
- else {
156
- await Core_1.core.safeCall(func, this, jsonData);
157
- }
158
- }
159
- onOpen(e) {
160
- }
161
- onError(e) {
162
- }
163
- onClose(reasonCode, description) {
164
- Log_1.GLog.info(this.tipKey + " onClose resonCode=" + reasonCode + " des=" + description);
165
- }
166
- send(msg) {
167
- if (!this.connected) {
168
- return;
169
- }
170
- if (!msg) {
171
- Log_1.GLog.error(this.tipKey + " Send Message warning:null data!");
172
- return;
173
- }
174
- if (this._debug_msg
175
- && msg.cmd != "heartbeat") {
176
- Log_1.GLog.info({ tipKey: this.tipKey, action: "send", msg });
177
- }
178
- let data = this._onEncode(msg);
179
- this._ws.send(data);
180
- }
181
- close() {
182
- this._ws.close();
183
- }
184
- getServerNameFromCmd(cmd) {
185
- if (!cmd || !Core_1.core.isString(cmd)) {
186
- return null;
187
- }
188
- let index = cmd.indexOf("_");
189
- if (index <= 0) {
190
- return null;
191
- }
192
- return cmd.substring(0, index);
193
- }
194
- }
195
- exports.IWebSocket = IWebSocket;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IWebSocket = exports.BaseMsg = void 0;
4
+ const Log_1 = require("../Logic/Log");
5
+ const ProtoFactory_1 = require("./ProtoFilter/ProtoFactory");
6
+ const IProtoFilter_1 = require("./ProtoFilter/IProtoFilter");
7
+ const Core_1 = require("../Core/Core");
8
+ const _ = require("underscore");
9
+ const IServerConfig_1 = require("../Config/IServerConfig");
10
+ const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
11
+ class BaseMsg {
12
+ cmd;
13
+ errcode;
14
+ servertime = Date.now();
15
+ constructor(cmd, errcode) {
16
+ this.cmd = cmd;
17
+ this.errcode = errcode;
18
+ }
19
+ }
20
+ exports.BaseMsg = BaseMsg;
21
+ class IWebSocket {
22
+ /**
23
+ * 是否同步消息
24
+ * 默认为true
25
+ */
26
+ _is_sync_msg = true;
27
+ get isSynMsg() {
28
+ return this._is_sync_msg;
29
+ }
30
+ _debug_msg = false;
31
+ get debug_msg() {
32
+ return this._debug_msg;
33
+ }
34
+ set debug_msg(value) {
35
+ this._debug_msg = value;
36
+ }
37
+ _socket_id = 0;
38
+ get socketId() {
39
+ return this._socket_id;
40
+ }
41
+ _tipKey = "";
42
+ get tipKey() {
43
+ return this._tipKey;
44
+ }
45
+ _ws = null;
46
+ _protoType = IProtoFilter_1.EProtoType.Json;
47
+ _protoFilter = null;
48
+ _protoPath = "";
49
+ _ip = null;
50
+ get remoteHost() {
51
+ if (!this._ip) {
52
+ this._ip = this._ws.remoteAddress;
53
+ this._ip = this._ip.substring(this._ip.lastIndexOf(":") + 1);
54
+ }
55
+ return this._ip;
56
+ }
57
+ get connected() {
58
+ if (this._ws
59
+ && this._ws.connected == true) {
60
+ return true;
61
+ }
62
+ return false;
63
+ }
64
+ constructor(protoType = IProtoFilter_1.EProtoType.Json, protoPath = "") {
65
+ this._debug_msg = IServerConfig_1.GServerCfg.debug_msg;
66
+ this._socket_id = parseInt(_.uniqueId());
67
+ this._protoType = protoType;
68
+ this._protoPath = protoPath;
69
+ }
70
+ getNewMsg(cmd, errcode) {
71
+ let msg = new BaseMsg(cmd, errcode);
72
+ return msg;
73
+ }
74
+ receive_heartbeat(jsonData) {
75
+ this.send_heartbeat();
76
+ }
77
+ send_heartbeat() {
78
+ let msg = this.getNewMsg("heartbeat");
79
+ this.send(msg);
80
+ }
81
+ onConnect(_ws) {
82
+ this._ws = _ws;
83
+ if (!this._protoFilter) {
84
+ this._protoFilter = ProtoFactory_1.GProtoFactory.createFilter(this._protoType);
85
+ this._protoFilter.init(this._protoPath);
86
+ }
87
+ this._ws.on("message", this.onMessage.bind(this));
88
+ this._ws.on("error", this.onError.bind(this));
89
+ this._ws.on("close", this.onClose.bind(this));
90
+ this.onOpen();
91
+ }
92
+ onMessage(message) {
93
+ try {
94
+ let msg = this._onDecode(message);
95
+ if (this._is_sync_msg) {
96
+ SyncQueueTool_1.GSyncQueueTool.add(this._socket_id + "", this._onMessage, this, msg);
97
+ }
98
+ else {
99
+ this._onMessage(msg);
100
+ }
101
+ }
102
+ catch (e) {
103
+ Log_1.GLog.error(this.tipKey + ' Received Message Handle Error: ' + e);
104
+ }
105
+ }
106
+ _onDecode(message, ...params) {
107
+ let msg = null;
108
+ if (message.type === 'utf8') {
109
+ msg = this._protoFilter.decode(message.utf8Data, ...params);
110
+ }
111
+ else if (message.type === 'binary') {
112
+ msg = this._protoFilter.decode(message.binaryData, ...params);
113
+ }
114
+ return msg;
115
+ }
116
+ _onEncode(data, ...params) {
117
+ let msg = this._protoFilter.encode(data, ...params);
118
+ return msg;
119
+ }
120
+ /**
121
+ * 过滤消息,每个消息处理之前调用
122
+ * @param msg
123
+ * @returns
124
+ */
125
+ filterMsg(msg) {
126
+ if (!msg) {
127
+ Log_1.GLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
128
+ return false;
129
+ }
130
+ if (this._debug_msg && msg.cmd != "heartbeat") {
131
+ Log_1.GLog.info({ tipKey: this.tipKey, action: "receive", msg });
132
+ }
133
+ if (!msg.cmd) {
134
+ Log_1.GLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
135
+ return false;
136
+ }
137
+ return true;
138
+ }
139
+ async _onMessage(data) {
140
+ let jsonData = data;
141
+ let func = this["receive_" + jsonData.cmd];
142
+ let ret = this.filterMsg(jsonData);
143
+ if (!ret) {
144
+ return;
145
+ }
146
+ else if (!func) {
147
+ let otherfunc = this["receive_other_all"];
148
+ if (otherfunc) {
149
+ await Core_1.core.safeCall(otherfunc, this, jsonData);
150
+ }
151
+ else {
152
+ Log_1.GLog.error(this.tipKey + ' Received Message warning: no cmd handle,cmd=' + jsonData.cmd);
153
+ }
154
+ }
155
+ else {
156
+ await Core_1.core.safeCall(func, this, jsonData);
157
+ }
158
+ }
159
+ onOpen(e) {
160
+ }
161
+ onError(e) {
162
+ }
163
+ onClose(reasonCode, description) {
164
+ Log_1.GLog.info(this.tipKey + " onClose resonCode=" + reasonCode + " des=" + description);
165
+ }
166
+ send(msg) {
167
+ if (!this.connected) {
168
+ return;
169
+ }
170
+ if (!msg) {
171
+ Log_1.GLog.error(this.tipKey + " Send Message warning:null data!");
172
+ return;
173
+ }
174
+ if (this._debug_msg
175
+ && msg.cmd != "heartbeat") {
176
+ Log_1.GLog.info({ tipKey: this.tipKey, action: "send", msg });
177
+ }
178
+ let data = this._onEncode(msg);
179
+ this._ws.send(data);
180
+ }
181
+ close() {
182
+ this._ws.close();
183
+ }
184
+ getServerNameFromCmd(cmd) {
185
+ if (!cmd || !Core_1.core.isString(cmd)) {
186
+ return null;
187
+ }
188
+ let index = cmd.indexOf("_");
189
+ if (index <= 0) {
190
+ return null;
191
+ }
192
+ return cmd.substring(0, index);
193
+ }
194
+ }
195
+ exports.IWebSocket = IWebSocket;
@@ -1,57 +1,57 @@
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
+ 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,8 +1,8 @@
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 || (exports.EProtoType = 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 = exports.EProtoType || (exports.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,31 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GProtoFactory = void 0;
4
- const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
- const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
- const IProtoFilter_1 = require("./IProtoFilter");
7
- exports.GProtoFactory = null;
8
- class ProtoFactory {
9
- _filters = new Map();
10
- createFilter(type) {
11
- let filter = this._filters.get(type);
12
- if (filter) {
13
- return filter;
14
- }
15
- switch (type) {
16
- case IProtoFilter_1.EProtoType.GoogleProtoBuffer:
17
- {
18
- filter = new GoogleProtoFilter_1.GoogleProtoFilter();
19
- break;
20
- }
21
- default:
22
- {
23
- filter = new JsonProtoFilter_1.JsonProtoFilter();
24
- break;
25
- }
26
- }
27
- this._filters.set(type, filter);
28
- return filter;
29
- }
30
- }
31
- exports.GProtoFactory = new ProtoFactory();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GProtoFactory = void 0;
4
+ const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
+ const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
+ const IProtoFilter_1 = require("./IProtoFilter");
7
+ exports.GProtoFactory = null;
8
+ class ProtoFactory {
9
+ _filters = new Map();
10
+ createFilter(type) {
11
+ let filter = this._filters.get(type);
12
+ if (filter) {
13
+ return filter;
14
+ }
15
+ switch (type) {
16
+ case IProtoFilter_1.EProtoType.GoogleProtoBuffer:
17
+ {
18
+ filter = new GoogleProtoFilter_1.GoogleProtoFilter();
19
+ break;
20
+ }
21
+ default:
22
+ {
23
+ filter = new JsonProtoFilter_1.JsonProtoFilter();
24
+ break;
25
+ }
26
+ }
27
+ this._filters.set(type, filter);
28
+ return filter;
29
+ }
30
+ }
31
+ exports.GProtoFactory = new ProtoFactory();