cgserver 8.6.8 → 8.6.10

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 (160) hide show
  1. package/README.md +4 -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 -0
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +207 -240
  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 +639 -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 -43
  23. package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
  24. package/dist/lib/Framework/Database/MongoManager.js +462 -462
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
  26. package/dist/lib/Framework/Database/MysqlManager.js +179 -180
  27. package/dist/lib/Framework/Database/RedisManager.js +61 -53
  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 -202
  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 -54
  78. package/dist/lib/Framework/cgserver.js +121 -111
  79. package/dist/lib/Framework/index.js +201 -191
  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 -0
  89. package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -228
  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 +108 -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 -17
  102. package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
  103. package/dist/types/Framework/Database/MongoManager.d.ts +156 -156
  104. package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
  105. package/dist/types/Framework/Database/MysqlManager.d.ts +53 -41
  106. package/dist/types/Framework/Database/RedisManager.d.ts +24 -17
  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 +21 -21
  153. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
  154. package/dist/types/Framework/WebServer/Engine/Request.d.ts +35 -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 -25
  158. package/dist/types/Framework/index.d.ts +91 -86
  159. package/dist/types/test/test.d.ts +1 -1
  160. package/package.json +29 -32
@@ -1,20 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonAuthorityValidate = void 0;
4
- let JsonAuthorityValidate = function (rg) {
5
- return function (target, propertyName, descriptor) {
6
- let method = descriptor.value;
7
- descriptor.value = function () {
8
- let self = this;
9
- if (!self.isLogin) {
10
- self.showJson({ errcode: { id: 1, des: "未登陆" }, err: "未登陆" });
11
- }
12
- if (rg && self.selfUser.role_group != rg) {
13
- self.showJson({ errcode: { id: 2, des: "权限不足" }, err: "权限不足" });
14
- return;
15
- }
16
- return method.apply(this, arguments);
17
- };
18
- };
19
- };
20
- exports.JsonAuthorityValidate = JsonAuthorityValidate;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonAuthorityValidate = void 0;
4
+ let JsonAuthorityValidate = function (rg) {
5
+ return function (target, propertyName, descriptor) {
6
+ let method = descriptor.value;
7
+ descriptor.value = function () {
8
+ let self = this;
9
+ if (!self.isLogin) {
10
+ self.showJson({ errcode: { id: 1, des: "未登陆" }, err: "未登陆" });
11
+ }
12
+ if (rg && self.selfUser.role_group != rg) {
13
+ self.showJson({ errcode: { id: 2, des: "权限不足" }, err: "权限不足" });
14
+ return;
15
+ }
16
+ return method.apply(this, arguments);
17
+ };
18
+ };
19
+ };
20
+ exports.JsonAuthorityValidate = JsonAuthorityValidate;
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonCreatorValidate = void 0;
4
- function JsonCreatorValidate(target, propertyName, descriptor) {
5
- let method = descriptor.value;
6
- descriptor.value = function () {
7
- let self = this;
8
- if (!self.isLogin) {
9
- self.showJson({ errcode: { id: 1, des: "请登陆后尝试" }, err: "请登陆后尝试" });
10
- return;
11
- }
12
- if (!self.isCreator) {
13
- self.showJson({ errcode: { id: 1, des: "需要创始人权限" }, err: "需要创始人权限" });
14
- return;
15
- }
16
- return method.apply(this, arguments);
17
- };
18
- }
19
- exports.JsonCreatorValidate = JsonCreatorValidate;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonCreatorValidate = void 0;
4
+ function JsonCreatorValidate(target, propertyName, descriptor) {
5
+ let method = descriptor.value;
6
+ descriptor.value = function () {
7
+ let self = this;
8
+ if (!self.isLogin) {
9
+ self.showJson({ errcode: { id: 1, des: "请登陆后尝试" }, err: "请登陆后尝试" });
10
+ return;
11
+ }
12
+ if (!self.isCreator) {
13
+ self.showJson({ errcode: { id: 1, des: "需要创始人权限" }, err: "需要创始人权限" });
14
+ return;
15
+ }
16
+ return method.apply(this, arguments);
17
+ };
18
+ }
19
+ exports.JsonCreatorValidate = JsonCreatorValidate;
@@ -1,42 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncCall2 = exports.SyncCall = void 0;
4
- const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
5
- /**
6
- * 异步函数变为同步函数,当前进程有效
7
- * @param target
8
- * @param propertyName
9
- * @param descriptor
10
- */
11
- function SyncCall(target, propertyName, descriptor) {
12
- let method = descriptor.value;
13
- descriptor.value = function () {
14
- let self = this;
15
- let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
16
- return await method.apply(self, arguments);
17
- });
18
- return ret;
19
- };
20
- }
21
- exports.SyncCall = SyncCall;
22
- /**
23
- * 异步函数变为同步函数,当前进程有效
24
- * @param param_index 动态参数的索引
25
- */
26
- function SyncCall2(param_index) {
27
- return (target, propertyName, descriptor) => {
28
- let method = descriptor.value;
29
- descriptor.value = function () {
30
- let self = this;
31
- let key = propertyName;
32
- if (param_index != undefined && param_index < arguments.length) {
33
- key = propertyName + "_" + arguments[param_index];
34
- }
35
- let ret = SyncQueueTool_1.GSyncQueueTool.add(key, async () => {
36
- return await method.apply(self, arguments);
37
- });
38
- return ret;
39
- };
40
- };
41
- }
42
- exports.SyncCall2 = SyncCall2;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyncCall2 = exports.SyncCall = void 0;
4
+ const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
5
+ /**
6
+ * 异步函数变为同步函数,当前进程有效
7
+ * @param target
8
+ * @param propertyName
9
+ * @param descriptor
10
+ */
11
+ function SyncCall(target, propertyName, descriptor) {
12
+ let method = descriptor.value;
13
+ descriptor.value = function () {
14
+ let self = this;
15
+ let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
16
+ return await method.apply(self, arguments);
17
+ });
18
+ return ret;
19
+ };
20
+ }
21
+ exports.SyncCall = SyncCall;
22
+ /**
23
+ * 异步函数变为同步函数,当前进程有效
24
+ * @param param_index 动态参数的索引
25
+ */
26
+ function SyncCall2(param_index) {
27
+ return (target, propertyName, descriptor) => {
28
+ let method = descriptor.value;
29
+ descriptor.value = function () {
30
+ let self = this;
31
+ let key = propertyName;
32
+ if (param_index != undefined && param_index < arguments.length) {
33
+ key = propertyName + "_" + arguments[param_index];
34
+ }
35
+ let ret = SyncQueueTool_1.GSyncQueueTool.add(key, async () => {
36
+ return await method.apply(self, arguments);
37
+ });
38
+ return ret;
39
+ };
40
+ };
41
+ }
42
+ exports.SyncCall2 = SyncCall2;
@@ -1,77 +1,77 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncCallServer2 = exports.SyncCallServer = void 0;
4
- const Core_1 = require("../Core/Core");
5
- const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
6
- const MongoCacheService_1 = require("../Service/MongoCacheService");
7
- /**
8
- * 异步函数变为同步函数
9
- * 服务器间的异步,效率低
10
- * 只支持mongo模式
11
- * @returns
12
- */
13
- function SyncCallServer(target, propertyName, descriptor) {
14
- let method = descriptor.value;
15
- descriptor.value = async () => {
16
- let key = "sync_" + method.name;
17
- let func = async () => {
18
- let item = await MongoCacheService_1.GMongoCacheSer.getData(key);
19
- let ret = null;
20
- while (item) {
21
- await Core_1.core.sleep(200);
22
- item = await MongoCacheService_1.GMongoCacheSer.getData(key);
23
- }
24
- //10秒后过期,避免卡死
25
- let mcm = await MongoCacheService_1.GMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
26
- if (!mcm) {
27
- await func();
28
- }
29
- return;
30
- };
31
- await func();
32
- let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
33
- return await method.apply(self, arguments);
34
- });
35
- await MongoCacheService_1.GMongoCacheSer.deleteOne({ key });
36
- return ret;
37
- };
38
- }
39
- exports.SyncCallServer = SyncCallServer;
40
- /**
41
- * 异步函数变为同步函数
42
- * 服务器间的异步,效率低
43
- * 只支持mongo模式
44
- * @returns
45
- */
46
- let SyncCallServer2 = function (params_index) {
47
- return function (target, propertyName, descriptor) {
48
- let method = descriptor.value;
49
- descriptor.value = async () => {
50
- let key = "sync_" + method.name;
51
- if (params_index != undefined && params_index < arguments.length) {
52
- key = key + "_" + arguments[params_index];
53
- }
54
- let func = async () => {
55
- let item = await MongoCacheService_1.GMongoCacheSer.getData(key);
56
- let ret = null;
57
- while (item) {
58
- await Core_1.core.sleep(200);
59
- item = await MongoCacheService_1.GMongoCacheSer.getData(key);
60
- }
61
- //10秒后过期,避免卡死
62
- let mcm = await MongoCacheService_1.GMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
63
- if (!mcm) {
64
- await func();
65
- }
66
- return;
67
- };
68
- await func();
69
- let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
70
- return await method.apply(self, arguments);
71
- });
72
- await MongoCacheService_1.GMongoCacheSer.deleteOne({ key });
73
- return ret;
74
- };
75
- };
76
- };
77
- exports.SyncCallServer2 = SyncCallServer2;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyncCallServer2 = exports.SyncCallServer = void 0;
4
+ const Core_1 = require("../Core/Core");
5
+ const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
6
+ const MongoCacheService_1 = require("../Service/MongoCacheService");
7
+ /**
8
+ * 异步函数变为同步函数
9
+ * 服务器间的异步,效率低
10
+ * 只支持mongo模式
11
+ * @returns
12
+ */
13
+ function SyncCallServer(target, propertyName, descriptor) {
14
+ let method = descriptor.value;
15
+ descriptor.value = async () => {
16
+ let key = "sync_" + method.name;
17
+ let func = async () => {
18
+ let item = await MongoCacheService_1.GMongoCacheSer.getData(key);
19
+ let ret = null;
20
+ while (item) {
21
+ await Core_1.core.sleep(200);
22
+ item = await MongoCacheService_1.GMongoCacheSer.getData(key);
23
+ }
24
+ //10秒后过期,避免卡死
25
+ let mcm = await MongoCacheService_1.GMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
26
+ if (!mcm) {
27
+ await func();
28
+ }
29
+ return;
30
+ };
31
+ await func();
32
+ let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
33
+ return await method.apply(self, arguments);
34
+ });
35
+ await MongoCacheService_1.GMongoCacheSer.deleteOne({ key });
36
+ return ret;
37
+ };
38
+ }
39
+ exports.SyncCallServer = SyncCallServer;
40
+ /**
41
+ * 异步函数变为同步函数
42
+ * 服务器间的异步,效率低
43
+ * 只支持mongo模式
44
+ * @returns
45
+ */
46
+ let SyncCallServer2 = function (params_index) {
47
+ return function (target, propertyName, descriptor) {
48
+ let method = descriptor.value;
49
+ descriptor.value = async () => {
50
+ let key = "sync_" + method.name;
51
+ if (params_index != undefined && params_index < arguments.length) {
52
+ key = key + "_" + arguments[params_index];
53
+ }
54
+ let func = async () => {
55
+ let item = await MongoCacheService_1.GMongoCacheSer.getData(key);
56
+ let ret = null;
57
+ while (item) {
58
+ await Core_1.core.sleep(200);
59
+ item = await MongoCacheService_1.GMongoCacheSer.getData(key);
60
+ }
61
+ //10秒后过期,避免卡死
62
+ let mcm = await MongoCacheService_1.GMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
63
+ if (!mcm) {
64
+ await func();
65
+ }
66
+ return;
67
+ };
68
+ await func();
69
+ let ret = SyncQueueTool_1.GSyncQueueTool.add(method.name, async () => {
70
+ return await method.apply(self, arguments);
71
+ });
72
+ await MongoCacheService_1.GMongoCacheSer.deleteOne({ key });
73
+ return ret;
74
+ };
75
+ };
76
+ };
77
+ exports.SyncCallServer2 = SyncCallServer2;
@@ -1,73 +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 = {};
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();
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 = {};
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();
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GEventTool = void 0;
4
- const EventEmitter = require("events");
5
- class EventTool {
6
- _event_emitter = new EventEmitter();
7
- constructor() {
8
- this._event_emitter.setMaxListeners(0);
9
- }
10
- on(event, func) {
11
- this._event_emitter.on(event, func);
12
- }
13
- off(event, func) {
14
- this._event_emitter.off(event, func);
15
- }
16
- once(event, func) {
17
- this._event_emitter.once(event, func);
18
- }
19
- emit(event, ...args) {
20
- this._event_emitter.emit(event, ...args);
21
- }
22
- listenerCount(event) {
23
- let count = this._event_emitter.listenerCount(event) || 0;
24
- return count;
25
- }
26
- }
27
- exports.GEventTool = new EventTool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GEventTool = void 0;
4
+ const EventEmitter = require("events");
5
+ class EventTool {
6
+ _event_emitter = new EventEmitter();
7
+ constructor() {
8
+ this._event_emitter.setMaxListeners(0);
9
+ }
10
+ on(event, func) {
11
+ this._event_emitter.on(event, func);
12
+ }
13
+ off(event, func) {
14
+ this._event_emitter.off(event, func);
15
+ }
16
+ once(event, func) {
17
+ this._event_emitter.once(event, func);
18
+ }
19
+ emit(event, ...args) {
20
+ this._event_emitter.emit(event, ...args);
21
+ }
22
+ listenerCount(event) {
23
+ let count = this._event_emitter.listenerCount(event) || 0;
24
+ return count;
25
+ }
26
+ }
27
+ exports.GEventTool = new EventTool();