cgserver 6.0.5 → 6.0.8

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 (136) hide show
  1. package/dist/cgserver.js +336 -336
  2. package/dist/lib/AI/AiObject.js +10 -0
  3. package/dist/lib/AI/Astar.js +133 -0
  4. package/dist/lib/AI/BehaviorAI.js +307 -0
  5. package/dist/lib/AI/Entity.js +33 -0
  6. package/dist/lib/AI/Point.js +68 -0
  7. package/dist/lib/AI/TriggerMgr.js +201 -0
  8. package/dist/lib/Config/Config.js +37 -0
  9. package/dist/lib/Config/FrameworkConfig.js +234 -0
  10. package/dist/lib/Config/ServerConfig.js +18 -0
  11. package/dist/lib/Config/_error_.js +35 -0
  12. package/dist/lib/Core/Core.js +561 -0
  13. package/dist/lib/Core/Timer.js +116 -0
  14. package/dist/lib/Database/BaseMongoService.js +79 -0
  15. package/dist/lib/Database/BaseService.js +281 -0
  16. package/dist/lib/Database/Decorator/AutoIncrement.js +11 -0
  17. package/dist/lib/Database/Decorator/DBCache.js +64 -0
  18. package/dist/lib/Database/Decorator/NotNull.js +11 -0
  19. package/dist/lib/Database/Decorator/PrimaryKey.js +11 -0
  20. package/dist/lib/Database/Decorator/Property.js +61 -0
  21. package/dist/lib/Database/Decorator/Table.js +15 -0
  22. package/dist/lib/Database/Decorator/Type.js +20 -0
  23. package/dist/lib/Database/MSSqlManager.js +43 -0
  24. package/dist/lib/Database/MongoManager.js +401 -0
  25. package/dist/lib/Database/MysqlManager.js +180 -0
  26. package/dist/lib/Database/RedisManager.js +408 -0
  27. package/dist/lib/Logic/CacheTool.js +73 -0
  28. package/dist/lib/Logic/HttpTool.js +58 -0
  29. package/dist/lib/Logic/Log.js +77 -0
  30. package/dist/lib/Service/AccountService.js +473 -0
  31. package/dist/lib/Service/MongoAccountService.js +396 -0
  32. package/dist/lib/Service/MongoCacheService.js +27 -0
  33. package/dist/lib/Service/MongoUserService.js +93 -0
  34. package/dist/lib/Service/UserService.js +184 -0
  35. package/dist/lib/Service/ini.js +35 -0
  36. package/dist/lib/SocketServer/IClientWebSocket.js +71 -0
  37. package/dist/lib/SocketServer/IServerWebSocket.js +41 -0
  38. package/dist/lib/SocketServer/ISocketServer.js +190 -0
  39. package/dist/lib/SocketServer/IWebSocket.js +223 -0
  40. package/dist/lib/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -0
  41. package/dist/lib/SocketServer/ProtoFilter/IProtoFilter.js +8 -0
  42. package/dist/lib/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -0
  43. package/dist/lib/SocketServer/ProtoFilter/ProtoFactory.js +31 -0
  44. package/dist/lib/ThirdParty/AlipayTool.js +122 -0
  45. package/dist/lib/ThirdParty/Alisms.js +46 -0
  46. package/dist/lib/ThirdParty/AppleTool.js +234 -0
  47. package/dist/lib/ThirdParty/EmailTool.js +33 -0
  48. package/dist/lib/ThirdParty/OpenSocial.js +32 -0
  49. package/dist/lib/ThirdParty/QQTool.js +115 -0
  50. package/dist/lib/ThirdParty/QiniuTool.js +21 -0
  51. package/dist/lib/ThirdParty/WechatOATool.js +61 -0
  52. package/dist/lib/ThirdParty/WechatTool.js +74 -0
  53. package/dist/lib/WebServer/Controller/BaseController.js +112 -0
  54. package/dist/lib/WebServer/Controller/BaseUserController.js +168 -0
  55. package/dist/lib/WebServer/Controller/MongoBaseUserController.js +168 -0
  56. package/dist/lib/WebServer/Decorator/AdminValidate.js +19 -0
  57. package/dist/lib/WebServer/Decorator/AuthorityValidate.js +22 -0
  58. package/dist/lib/WebServer/Decorator/CreatorValidate.js +19 -0
  59. package/dist/lib/WebServer/Decorator/JsonAdminValidate.js +15 -0
  60. package/dist/lib/WebServer/Decorator/JsonAuthorityValidate.js +20 -0
  61. package/dist/lib/WebServer/Decorator/JsonCreatorValidate.js +19 -0
  62. package/dist/lib/WebServer/Engine/ControllerManager.js +112 -0
  63. package/dist/lib/WebServer/Engine/Engine.js +135 -0
  64. package/dist/lib/WebServer/Engine/RazorJs.js +544 -0
  65. package/dist/lib/WebServer/Engine/Request.js +214 -0
  66. package/dist/lib/WebServer/Engine/Response.js +94 -0
  67. package/dist/lib/WebServer/IWebServer.js +49 -0
  68. package/dist/lib/cgserver.js +153 -0
  69. package/dist/{AI → types/AI}/AiObject.d.ts +0 -0
  70. package/dist/{AI → types/AI}/Astar.d.ts +0 -0
  71. package/dist/{AI → types/AI}/BehaviorAI.d.ts +0 -0
  72. package/dist/{AI → types/AI}/Entity.d.ts +0 -0
  73. package/dist/{AI → types/AI}/Point.d.ts +0 -0
  74. package/dist/{AI → types/AI}/TriggerMgr.d.ts +0 -0
  75. package/dist/{Config → types/Config}/Config.d.ts +0 -0
  76. package/dist/{Config → types/Config}/FrameworkConfig.d.ts +0 -0
  77. package/dist/{Config → types/Config}/ServerConfig.d.ts +0 -0
  78. package/dist/{Config → types/Config}/_error_.d.ts +0 -0
  79. package/dist/{Core → types/Core}/Core.d.ts +0 -0
  80. package/dist/{Core → types/Core}/Timer.d.ts +0 -0
  81. package/dist/{Database → types/Database}/BaseMongoService.d.ts +0 -0
  82. package/dist/{Database → types/Database}/BaseService.d.ts +0 -0
  83. package/dist/{Database → types/Database}/Decorator/AutoIncrement.d.ts +0 -0
  84. package/dist/{Database → types/Database}/Decorator/DBCache.d.ts +0 -0
  85. package/dist/{Database → types/Database}/Decorator/NotNull.d.ts +0 -0
  86. package/dist/{Database → types/Database}/Decorator/PrimaryKey.d.ts +0 -0
  87. package/dist/{Database → types/Database}/Decorator/Property.d.ts +0 -0
  88. package/dist/{Database → types/Database}/Decorator/Table.d.ts +0 -0
  89. package/dist/{Database → types/Database}/Decorator/Type.d.ts +0 -0
  90. package/dist/{Database → types/Database}/MSSqlManager.d.ts +0 -0
  91. package/dist/{Database → types/Database}/MongoManager.d.ts +0 -0
  92. package/dist/{Database → types/Database}/MysqlManager.d.ts +0 -0
  93. package/dist/{Database → types/Database}/RedisManager.d.ts +0 -0
  94. package/dist/{Logic → types/Logic}/CacheTool.d.ts +0 -0
  95. package/dist/{Logic → types/Logic}/HttpTool.d.ts +0 -0
  96. package/dist/{Logic → types/Logic}/Log.d.ts +0 -0
  97. package/dist/{Service → types/Service}/AccountService.d.ts +0 -0
  98. package/dist/{Service → types/Service}/MongoAccountService.d.ts +0 -0
  99. package/dist/{Service → types/Service}/MongoCacheService.d.ts +0 -0
  100. package/dist/{Service → types/Service}/MongoUserService.d.ts +0 -0
  101. package/dist/{Service → types/Service}/UserService.d.ts +0 -0
  102. package/dist/{Service → types/Service}/ini.d.ts +0 -0
  103. package/dist/{SocketServer → types/SocketServer}/IClientWebSocket.d.ts +0 -0
  104. package/dist/{SocketServer → types/SocketServer}/IServerWebSocket.d.ts +0 -0
  105. package/dist/{SocketServer → types/SocketServer}/ISocketServer.d.ts +0 -0
  106. package/dist/{SocketServer → types/SocketServer}/IWebSocket.d.ts +0 -0
  107. package/dist/{SocketServer → types/SocketServer}/ProtoFilter/GoogleProtoFilter.d.ts +0 -0
  108. package/dist/{SocketServer → types/SocketServer}/ProtoFilter/IProtoFilter.d.ts +0 -0
  109. package/dist/{SocketServer → types/SocketServer}/ProtoFilter/JsonProtoFilter.d.ts +0 -0
  110. package/dist/{SocketServer → types/SocketServer}/ProtoFilter/ProtoFactory.d.ts +0 -0
  111. package/dist/{ThirdParty → types/ThirdParty}/AlipayTool.d.ts +0 -0
  112. package/dist/{ThirdParty → types/ThirdParty}/Alisms.d.ts +0 -0
  113. package/dist/{ThirdParty → types/ThirdParty}/AppleTool.d.ts +0 -0
  114. package/dist/{ThirdParty → types/ThirdParty}/EmailTool.d.ts +0 -0
  115. package/dist/{ThirdParty → types/ThirdParty}/OpenSocial.d.ts +0 -0
  116. package/dist/{ThirdParty → types/ThirdParty}/QQTool.d.ts +0 -0
  117. package/dist/{ThirdParty → types/ThirdParty}/QiniuTool.d.ts +0 -0
  118. package/dist/{ThirdParty → types/ThirdParty}/WechatOATool.d.ts +0 -0
  119. package/dist/{ThirdParty → types/ThirdParty}/WechatTool.d.ts +0 -0
  120. package/dist/{WebServer → types/WebServer}/Controller/BaseController.d.ts +0 -0
  121. package/dist/{WebServer → types/WebServer}/Controller/BaseUserController.d.ts +0 -0
  122. package/dist/{WebServer → types/WebServer}/Controller/MongoBaseUserController.d.ts +0 -0
  123. package/dist/{WebServer → types/WebServer}/Decorator/AdminValidate.d.ts +0 -0
  124. package/dist/{WebServer → types/WebServer}/Decorator/AuthorityValidate.d.ts +0 -0
  125. package/dist/{WebServer → types/WebServer}/Decorator/CreatorValidate.d.ts +0 -0
  126. package/dist/{WebServer → types/WebServer}/Decorator/JsonAdminValidate.d.ts +0 -0
  127. package/dist/{WebServer → types/WebServer}/Decorator/JsonAuthorityValidate.d.ts +0 -0
  128. package/dist/{WebServer → types/WebServer}/Decorator/JsonCreatorValidate.d.ts +0 -0
  129. package/dist/{WebServer → types/WebServer}/Engine/ControllerManager.d.ts +0 -0
  130. package/dist/{WebServer → types/WebServer}/Engine/Engine.d.ts +0 -0
  131. package/dist/{WebServer → types/WebServer}/Engine/RazorJs.d.ts +0 -0
  132. package/dist/{WebServer → types/WebServer}/Engine/Request.d.ts +0 -0
  133. package/dist/{WebServer → types/WebServer}/Engine/Response.d.ts +0 -0
  134. package/dist/{WebServer → types/WebServer}/IWebServer.d.ts +0 -0
  135. package/dist/{cgserver.d.ts → types/cgserver.d.ts} +4 -2
  136. package/package.json +2 -1
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisManager = exports.GRedisMgr = void 0;
4
+ const Log_1 = require("../Logic/Log");
5
+ const redis = require("redis");
6
+ exports.GRedisMgr = null;
7
+ class RedisManager {
8
+ _redis = null;
9
+ get redis() {
10
+ return this._redis;
11
+ }
12
+ _resis_init_succ = false;
13
+ _redisCfg = null;
14
+ constructor() {
15
+ }
16
+ async init(redisCfg) {
17
+ return new Promise((resolve) => {
18
+ if (!redisCfg || !redisCfg.open) {
19
+ resolve(null);
20
+ return;
21
+ }
22
+ if (this._redis) {
23
+ resolve(null);
24
+ return;
25
+ }
26
+ this._redisCfg = redisCfg;
27
+ Log_1.GLog.info("begin conect redis=" + JSON.stringify(redisCfg), true);
28
+ this._redis = redis.createClient(redisCfg.port, redisCfg.host, { parser: "javascript", return_buffers: false, connect_timeout: 3000, password: redisCfg.password });
29
+ this._redis.on("connect", () => {
30
+ this.onConnect();
31
+ resolve(null);
32
+ });
33
+ this._redis.on("end", this.onEnd.bind(this));
34
+ this._redis.on("error", this.onError.bind(this));
35
+ });
36
+ }
37
+ onConnect() {
38
+ if (this._redisCfg.database) {
39
+ this._redis.select(this._redisCfg.database);
40
+ }
41
+ this._resis_init_succ = true;
42
+ Log_1.GLog.info("redis has connected!", true);
43
+ }
44
+ onEnd() {
45
+ this._resis_init_succ = false;
46
+ this._redis = null;
47
+ this.init(this._redisCfg); //重连
48
+ }
49
+ onError(err) {
50
+ Log_1.GLog.info("Error connected=" + this._redis.connected + ": " + err, true);
51
+ }
52
+ expire(key, seconds) {
53
+ return new Promise((resolve, reject) => {
54
+ if (!this._redis) {
55
+ resolve(null);
56
+ return;
57
+ }
58
+ this._redis.expire(key, seconds, (err, reply) => {
59
+ if (err) {
60
+ Log_1.GLog.error(err);
61
+ }
62
+ resolve(reply);
63
+ });
64
+ });
65
+ }
66
+ incr(key) {
67
+ return new Promise((resolve, reject) => {
68
+ if (!this._redis) {
69
+ resolve(null);
70
+ return;
71
+ }
72
+ this._redis.incr(key, (err, reply) => {
73
+ if (err) {
74
+ Log_1.GLog.error(err);
75
+ }
76
+ resolve(reply);
77
+ });
78
+ });
79
+ }
80
+ set(key, value) {
81
+ return new Promise((resolve, reject) => {
82
+ if (!this._redis) {
83
+ resolve(null);
84
+ return;
85
+ }
86
+ this._redis.set(key, value, (err, reply) => {
87
+ if (err) {
88
+ Log_1.GLog.error(err);
89
+ }
90
+ resolve(reply);
91
+ });
92
+ });
93
+ }
94
+ get(key) {
95
+ return new Promise((resolve, reject) => {
96
+ if (!this._redis) {
97
+ resolve(null);
98
+ return;
99
+ }
100
+ this._redis.get(key, (err, reply) => {
101
+ if (err) {
102
+ Log_1.GLog.error(err);
103
+ }
104
+ resolve(reply);
105
+ });
106
+ });
107
+ }
108
+ /**
109
+ *
110
+ * @param key
111
+ * @param cb 有表示异步
112
+ */
113
+ del(key, cb) {
114
+ return new Promise((resolve, reject) => {
115
+ if (!this._redis) {
116
+ resolve(null);
117
+ return;
118
+ }
119
+ this._redis.del(key, (err, reply) => {
120
+ if (err) {
121
+ Log_1.GLog.error(err);
122
+ }
123
+ resolve(reply);
124
+ });
125
+ });
126
+ }
127
+ hset(h, key, value) {
128
+ return new Promise((resolve, reject) => {
129
+ if (!this._redis) {
130
+ resolve(null);
131
+ return;
132
+ }
133
+ this._redis.hset(h, key, value, (err, reply) => {
134
+ if (err) {
135
+ Log_1.GLog.error(err);
136
+ }
137
+ resolve(reply);
138
+ });
139
+ });
140
+ }
141
+ hget(h, key) {
142
+ return new Promise((resolve, reject) => {
143
+ if (!this._redis) {
144
+ resolve(null);
145
+ return;
146
+ }
147
+ this._redis.hget(h, key, (err, reply) => {
148
+ if (err) {
149
+ Log_1.GLog.error(err);
150
+ }
151
+ resolve(reply);
152
+ });
153
+ });
154
+ }
155
+ hdel(key, sub_key) {
156
+ return new Promise((resolve, reject) => {
157
+ if (!this._redis) {
158
+ resolve(null);
159
+ return;
160
+ }
161
+ this._redis.hdel(key, sub_key, (err, reply) => {
162
+ if (err) {
163
+ Log_1.GLog.error(err);
164
+ }
165
+ resolve(reply);
166
+ });
167
+ });
168
+ }
169
+ /**
170
+ * hash值,能转换位整数的就自动转换为整数
171
+ * @param h key
172
+ */
173
+ hgetall(h) {
174
+ return new Promise((resolve, reject) => {
175
+ if (!this._redis) {
176
+ resolve(null);
177
+ return;
178
+ }
179
+ this._redis.hgetall(h, (err, replys) => {
180
+ if (err) {
181
+ Log_1.GLog.error(err);
182
+ resolve(replys);
183
+ return;
184
+ }
185
+ let value = {};
186
+ for (let k in replys) {
187
+ let v = replys[k];
188
+ let iv = parseInt(v);
189
+ if (v == "" + iv) {
190
+ value[k] = iv;
191
+ }
192
+ else {
193
+ value[k] = v;
194
+ }
195
+ }
196
+ if (!replys) {
197
+ value = null;
198
+ }
199
+ resolve(value);
200
+ });
201
+ });
202
+ }
203
+ /**
204
+ *
205
+ * @param h
206
+ * @param array
207
+ */
208
+ hmset(h, array) {
209
+ return new Promise((resolve, reject) => {
210
+ if (!this._redis) {
211
+ resolve(null);
212
+ return;
213
+ }
214
+ this._redis.hmset(h, array, (err, replys) => {
215
+ if (err) {
216
+ Log_1.GLog.error(err);
217
+ }
218
+ resolve(replys);
219
+ });
220
+ });
221
+ }
222
+ lpush(key, array) {
223
+ return new Promise((resolve, reject) => {
224
+ if (!this._redis) {
225
+ resolve(null);
226
+ return;
227
+ }
228
+ this._redis.lpush(key, array, (err, replys) => {
229
+ if (err) {
230
+ Log_1.GLog.error(err);
231
+ }
232
+ resolve(replys);
233
+ });
234
+ });
235
+ }
236
+ lrange(key, start, end) {
237
+ return new Promise((resolve, reject) => {
238
+ if (!this._redis) {
239
+ resolve(null);
240
+ return;
241
+ }
242
+ if (!this._redis) {
243
+ return null;
244
+ }
245
+ if (!start) {
246
+ start = 0;
247
+ }
248
+ if (!end) {
249
+ end = -1;
250
+ }
251
+ this._redis.lrange(key, start, end, (err, replys) => {
252
+ if (err) {
253
+ Log_1.GLog.error(err);
254
+ }
255
+ resolve(replys);
256
+ });
257
+ });
258
+ }
259
+ ltrim(key, start, end) {
260
+ return new Promise((resolve, reject) => {
261
+ if (!this._redis) {
262
+ resolve(null);
263
+ return;
264
+ }
265
+ if (!this._redis) {
266
+ return null;
267
+ }
268
+ if (!start) {
269
+ start = 0;
270
+ }
271
+ if (!end) {
272
+ end = -1;
273
+ }
274
+ this._redis.ltrim(key, start, end, (err, replys) => {
275
+ if (err) {
276
+ Log_1.GLog.error(err);
277
+ }
278
+ resolve(replys);
279
+ });
280
+ });
281
+ }
282
+ sadd(key, array) {
283
+ return new Promise((resolve, reject) => {
284
+ if (!this._redis) {
285
+ resolve(null);
286
+ return;
287
+ }
288
+ this._redis.sadd(key, array, (err, replys) => {
289
+ if (err) {
290
+ Log_1.GLog.error(err);
291
+ }
292
+ resolve(replys);
293
+ });
294
+ });
295
+ }
296
+ smembers(key) {
297
+ return new Promise((resolve, reject) => {
298
+ if (!this._redis) {
299
+ resolve(null);
300
+ return;
301
+ }
302
+ this._redis.smembers(key, (err, replys) => {
303
+ if (err) {
304
+ Log_1.GLog.error(err);
305
+ }
306
+ resolve(replys);
307
+ });
308
+ });
309
+ }
310
+ srem(key, array) {
311
+ return new Promise((resolve, reject) => {
312
+ if (!this._redis) {
313
+ resolve(null);
314
+ return;
315
+ }
316
+ this._redis.srem(key, array, (err, replys) => {
317
+ if (err) {
318
+ Log_1.GLog.error(err);
319
+ }
320
+ resolve(replys);
321
+ });
322
+ });
323
+ }
324
+ keys(key) {
325
+ return new Promise((resolve, reject) => {
326
+ if (!this._redis) {
327
+ resolve(null);
328
+ return;
329
+ }
330
+ this._redis.keys(key, (err, replys) => {
331
+ if (err) {
332
+ Log_1.GLog.error(err);
333
+ }
334
+ resolve(replys);
335
+ });
336
+ });
337
+ }
338
+ multi() {
339
+ if (!this._redis) {
340
+ return null;
341
+ }
342
+ return this._redis.multi();
343
+ }
344
+ exists(key) {
345
+ return new Promise((resolve, reject) => {
346
+ if (!this._redis) {
347
+ resolve(null);
348
+ return;
349
+ }
350
+ this._redis.exists(key, (err, replys) => {
351
+ if (err) {
352
+ Log_1.GLog.error(err);
353
+ }
354
+ resolve(replys);
355
+ });
356
+ });
357
+ }
358
+ exec(multi) {
359
+ return new Promise((resolve, reject) => {
360
+ if (!this._redis || !multi) {
361
+ resolve(null);
362
+ return;
363
+ }
364
+ multi.exec((err, replys) => {
365
+ if (err) {
366
+ Log_1.GLog.error(err);
367
+ }
368
+ resolve(replys);
369
+ });
370
+ });
371
+ }
372
+ publish(channel, value) {
373
+ return new Promise((resolve, reject) => {
374
+ if (!this._redis) {
375
+ resolve(null);
376
+ return;
377
+ }
378
+ this._redis.publish(channel, value, (err, num) => {
379
+ if (err) {
380
+ Log_1.GLog.error(err);
381
+ }
382
+ resolve(num);
383
+ });
384
+ });
385
+ }
386
+ subscribe(channel) {
387
+ return new Promise((resolve, reject) => {
388
+ if (!this._redis) {
389
+ resolve(null);
390
+ return;
391
+ }
392
+ this._redis.subscribe(channel, (err, msg) => {
393
+ if (err) {
394
+ Log_1.GLog.error(err);
395
+ }
396
+ resolve(msg);
397
+ });
398
+ });
399
+ }
400
+ on(message, cb) {
401
+ if (!this._redis) {
402
+ return;
403
+ }
404
+ this._redis.on(message, cb);
405
+ }
406
+ }
407
+ exports.RedisManager = RedisManager;
408
+ exports.GRedisMgr = new RedisManager();
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GCacheTool = void 0;
4
+ const _ = require("underscore");
5
+ exports.GCacheTool = null;
6
+ class CacheItem {
7
+ key = "";
8
+ value = null;
9
+ milliseconds = 0;
10
+ expire_time = -1;
11
+ }
12
+ class CacheTool {
13
+ _items = new Map();
14
+ constructor() {
15
+ //一个小时清除一次过期缓存
16
+ setInterval(this._refresh.bind(this), 60 * 60 * 1000);
17
+ }
18
+ /**
19
+ * 定时清除缓存
20
+ */
21
+ _refresh() {
22
+ let time = new Date().getTime();
23
+ let keys = _.clone(this._items.keys);
24
+ for (let i in keys) {
25
+ let key = keys[i];
26
+ let item = this._items[key];
27
+ if (!item) {
28
+ delete this._items[key];
29
+ continue;
30
+ }
31
+ if (time > item.expire_time) {
32
+ this.remove(key);
33
+ }
34
+ }
35
+ }
36
+ get(key, refresh) {
37
+ let item = this._items[key];
38
+ if (!item) {
39
+ return;
40
+ }
41
+ let time = new Date().getTime();
42
+ if (time > item.expire_time) {
43
+ this.remove(key);
44
+ return;
45
+ }
46
+ if (refresh) {
47
+ item.expire_time = time + item.milliseconds;
48
+ }
49
+ return item.value;
50
+ }
51
+ /**
52
+ *
53
+ * @param key
54
+ * @param value
55
+ * @param time 缓存的毫秒数
56
+ */
57
+ add(key, value, milliseconds) {
58
+ let item = this._items[key];
59
+ if (!item) {
60
+ item = new CacheItem();
61
+ item.key = key;
62
+ this._items[key] = item;
63
+ }
64
+ item.value = value;
65
+ item.milliseconds = milliseconds;
66
+ item.expire_time = new Date().getTime() + milliseconds;
67
+ }
68
+ remove(key) {
69
+ this._items[key] = null;
70
+ delete this._items[key];
71
+ }
72
+ }
73
+ exports.GCacheTool = new CacheTool();
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GHttpTool = void 0;
4
+ const request = require("request");
5
+ const qs = require("querystring");
6
+ const Log_1 = require("./Log");
7
+ exports.GHttpTool = null;
8
+ class HttpTool {
9
+ httpRequest(url, noParse) {
10
+ return new Promise((resolve, reject) => {
11
+ request.get(url, {
12
+ strictSSL: false,
13
+ rejectUnauthorized: false
14
+ }, (error, response, body) => {
15
+ if (!noParse) {
16
+ try {
17
+ if (body) {
18
+ body = JSON.parse(body);
19
+ }
20
+ }
21
+ catch (e) {
22
+ try {
23
+ body = qs.parse(body);
24
+ }
25
+ catch (e) { }
26
+ }
27
+ }
28
+ resolve({ error, response, body });
29
+ });
30
+ });
31
+ }
32
+ httpPost(url, form) {
33
+ return new Promise((resolve, reject) => {
34
+ request.post({ url: url, form: form }, (error, response, body) => {
35
+ let bd = body;
36
+ if (error) {
37
+ Log_1.GLog.error("post:" + url);
38
+ Log_1.GLog.error(error);
39
+ }
40
+ try {
41
+ if (body) {
42
+ body = JSON.parse(body);
43
+ }
44
+ }
45
+ catch (e) {
46
+ try {
47
+ body = qs.parse(body);
48
+ }
49
+ catch (e) {
50
+ body = bd;
51
+ }
52
+ }
53
+ resolve({ error, response, body });
54
+ });
55
+ });
56
+ }
57
+ }
58
+ exports.GHttpTool = new HttpTool();
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GLog = void 0;
4
+ const Core_1 = require("../Core/Core");
5
+ const colors = require("colors");
6
+ const log4js = require("log4js");
7
+ /**
8
+ * 输出颜色
9
+ */
10
+ colors.setTheme({
11
+ silly: 'rainbow',
12
+ input: 'grey',
13
+ verbose: 'cyan',
14
+ prompt: 'red',
15
+ info: 'green',
16
+ data: 'blue',
17
+ help: 'cyan',
18
+ warn: 'yellow',
19
+ debug: 'magenta',
20
+ error: 'red'
21
+ });
22
+ exports.GLog = null;
23
+ class Log {
24
+ //default log
25
+ _logger = null;
26
+ //the log from client
27
+ _client_logger = null;
28
+ //error and warn
29
+ _errorLogger = null;
30
+ _inited = false;
31
+ init(cfg) {
32
+ if (this._inited) {
33
+ return;
34
+ }
35
+ this._inited = true;
36
+ colors.enable();
37
+ log4js.configure(cfg);
38
+ this._logger = log4js.getLogger(cfg.categories.default.appenders[0] || "log_date");
39
+ this._client_logger = log4js.getLogger(cfg.categories.default.appenders[1] || "client_log_date");
40
+ this._errorLogger = log4js.getLogger(cfg.categories.default.appenders[2] || "error_log_file");
41
+ }
42
+ error(message, ...optionalParams) {
43
+ if (Core_1.core.isObject(message)) {
44
+ message = JSON.stringify(message);
45
+ }
46
+ this._errorLogger.error(message);
47
+ var time = new Date();
48
+ var time_str = Core_1.core.format(time, "[YYYY-MM-DD HH:mm:SS.");
49
+ time_str += time.getMilliseconds() + "]";
50
+ console.error(time_str + " " + message);
51
+ }
52
+ info(message, to_console) {
53
+ if (Core_1.core.isObject(message)) {
54
+ message = JSON.stringify(message);
55
+ }
56
+ this._logger.info(message);
57
+ if (to_console) {
58
+ var time = new Date();
59
+ var time_str = Core_1.core.format(time, "[YYYY-MM-DD HH:mm:SS.");
60
+ time_str += time.getMilliseconds() + "]";
61
+ console.log(time_str + " " + message);
62
+ }
63
+ }
64
+ warn(message, ...optionalParams) {
65
+ if (Core_1.core.isObject(message)) {
66
+ message = JSON.stringify(message);
67
+ }
68
+ this._errorLogger.warn(message);
69
+ }
70
+ record(message, ...optionalParams) {
71
+ this.info(message, optionalParams);
72
+ }
73
+ clientLog(message, ...optionalParams) {
74
+ this._client_logger.error(message);
75
+ }
76
+ }
77
+ exports.GLog = new Log();