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.
- package/README.md +4 -0
- package/dist/lib/Framework/AI/AiObject.js +10 -10
- package/dist/lib/Framework/AI/Astar.js +133 -133
- package/dist/lib/Framework/AI/BehaviorAI.js +307 -307
- package/dist/lib/Framework/AI/Entity.js +33 -33
- package/dist/lib/Framework/AI/Point.js +68 -68
- package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
- package/dist/lib/Framework/Config/Config.js +53 -53
- package/dist/lib/Framework/Config/DbConfig.js +14 -0
- package/dist/lib/Framework/Config/FrameworkConfig.js +207 -240
- package/dist/lib/Framework/Config/IServerConfig.js +26 -26
- package/dist/lib/Framework/Config/_error_.js +35 -35
- package/dist/lib/Framework/Core/Core.js +639 -639
- package/dist/lib/Framework/Core/Timer.js +116 -116
- package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +11 -11
- package/dist/lib/Framework/Database/Decorator/DBCache.js +64 -64
- package/dist/lib/Framework/Database/Decorator/NotNull.js +11 -11
- package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +11 -11
- package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
- package/dist/lib/Framework/Database/Decorator/Table.js +15 -15
- package/dist/lib/Framework/Database/Decorator/Type.js +20 -20
- package/dist/lib/Framework/Database/MSSqlManager.js +53 -43
- package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
- package/dist/lib/Framework/Database/MongoManager.js +462 -462
- package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
- package/dist/lib/Framework/Database/MysqlManager.js +179 -180
- package/dist/lib/Framework/Database/RedisManager.js +61 -53
- package/dist/lib/Framework/Decorator/AdminValidate.js +19 -19
- package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
- package/dist/lib/Framework/Decorator/CreatorValidate.js +19 -19
- package/dist/lib/Framework/Decorator/JsonAdminValidate.js +15 -15
- package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
- package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +19 -19
- package/dist/lib/Framework/Decorator/SyncCall.js +42 -42
- package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
- package/dist/lib/Framework/Logic/CacheTool.js +73 -73
- package/dist/lib/Framework/Logic/EventTool.js +27 -27
- package/dist/lib/Framework/Logic/HttpTool.js +75 -75
- package/dist/lib/Framework/Logic/Log.js +140 -140
- package/dist/lib/Framework/Logic/SyncQueueTool.js +43 -43
- package/dist/lib/Framework/Service/MongoAccountService.js +367 -367
- package/dist/lib/Framework/Service/MongoCacheService.js +42 -42
- package/dist/lib/Framework/Service/MongoUserService.js +100 -100
- package/dist/lib/Framework/Service/MysqlAccountService.js +441 -441
- package/dist/lib/Framework/Service/MysqlUserService.js +171 -171
- package/dist/lib/Framework/Service/ini.js +36 -36
- package/dist/lib/Framework/SocketServer/IClientWebSocket.js +44 -44
- package/dist/lib/Framework/SocketServer/IRpc.js +12 -12
- package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +63 -63
- package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +63 -63
- package/dist/lib/Framework/SocketServer/IServerWebSocket.js +75 -75
- package/dist/lib/Framework/SocketServer/ISocketServer.js +205 -202
- package/dist/lib/Framework/SocketServer/IWebSocket.js +195 -195
- package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -57
- package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +8 -8
- package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -29
- package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +31 -31
- package/dist/lib/Framework/ThirdParty/AlipayTool.js +203 -203
- package/dist/lib/Framework/ThirdParty/Alisms.js +46 -46
- package/dist/lib/Framework/ThirdParty/AppleTool.js +234 -234
- package/dist/lib/Framework/ThirdParty/CgMq.js +132 -132
- package/dist/lib/Framework/ThirdParty/EmailTool.js +33 -33
- package/dist/lib/Framework/ThirdParty/OpenSocial.js +32 -32
- package/dist/lib/Framework/ThirdParty/QQTool.js +118 -118
- package/dist/lib/Framework/ThirdParty/QiniuTool.js +21 -21
- package/dist/lib/Framework/ThirdParty/Rpc.js +63 -63
- package/dist/lib/Framework/ThirdParty/WechatOATool.js +61 -61
- package/dist/lib/Framework/ThirdParty/WechatTool.js +74 -74
- package/dist/lib/Framework/WebServer/Controller/BaseController.js +112 -112
- package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -169
- package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +169 -169
- package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +112 -112
- package/dist/lib/Framework/WebServer/Engine/Engine.js +152 -152
- package/dist/lib/Framework/WebServer/Engine/RazorJs.js +544 -544
- package/dist/lib/Framework/WebServer/Engine/Request.js +237 -237
- package/dist/lib/Framework/WebServer/Engine/Response.js +100 -100
- package/dist/lib/Framework/WebServer/IWebServer.js +59 -54
- package/dist/lib/Framework/cgserver.js +121 -111
- package/dist/lib/Framework/index.js +201 -191
- package/dist/lib/test/test.js +21 -21
- package/dist/types/Framework/AI/AiObject.d.ts +5 -5
- package/dist/types/Framework/AI/Astar.d.ts +38 -38
- package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
- package/dist/types/Framework/AI/Entity.d.ts +12 -12
- package/dist/types/Framework/AI/Point.d.ts +17 -17
- package/dist/types/Framework/AI/TriggerMgr.d.ts +52 -52
- package/dist/types/Framework/Config/Config.d.ts +12 -12
- package/dist/types/Framework/Config/DbConfig.d.ts +10 -0
- package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -228
- package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
- package/dist/types/Framework/Config/_error_.d.ts +99 -99
- package/dist/types/Framework/Core/Core.d.ts +108 -108
- package/dist/types/Framework/Core/Timer.d.ts +16 -16
- package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/DBCache.d.ts +23 -23
- package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
- package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
- package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
- package/dist/types/Framework/Database/MSSqlManager.d.ts +27 -17
- package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
- package/dist/types/Framework/Database/MongoManager.d.ts +156 -156
- package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
- package/dist/types/Framework/Database/MysqlManager.d.ts +53 -41
- package/dist/types/Framework/Database/RedisManager.d.ts +24 -17
- package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
- package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
- package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
- package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
- package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
- package/dist/types/Framework/Logic/EventTool.d.ts +13 -13
- package/dist/types/Framework/Logic/HttpTool.d.ts +15 -15
- package/dist/types/Framework/Logic/Log.d.ts +25 -25
- package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
- package/dist/types/Framework/Service/MongoAccountService.d.ts +69 -69
- package/dist/types/Framework/Service/MongoCacheService.d.ts +14 -14
- package/dist/types/Framework/Service/MongoUserService.d.ts +35 -35
- package/dist/types/Framework/Service/MysqlAccountService.d.ts +74 -74
- package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
- package/dist/types/Framework/Service/ini.d.ts +29 -29
- package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +17 -17
- package/dist/types/Framework/SocketServer/IRpc.d.ts +8 -8
- package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +16 -16
- package/dist/types/Framework/SocketServer/IRpcServerWebSocket.d.ts +16 -16
- package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +28 -28
- package/dist/types/Framework/SocketServer/ISocketServer.d.ts +45 -45
- package/dist/types/Framework/SocketServer/IWebSocket.d.ts +60 -60
- package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
- package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -9
- package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -6
- package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -8
- package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +109 -109
- package/dist/types/Framework/ThirdParty/Alisms.d.ts +14 -14
- package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
- package/dist/types/Framework/ThirdParty/CgMq.d.ts +51 -51
- package/dist/types/Framework/ThirdParty/EmailTool.d.ts +5 -5
- package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +7 -7
- package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
- package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +6 -6
- package/dist/types/Framework/ThirdParty/Rpc.d.ts +20 -20
- package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +13 -13
- package/dist/types/Framework/ThirdParty/WechatTool.d.ts +20 -20
- package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +33 -33
- package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +27 -27
- package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
- package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +35 -35
- package/dist/types/Framework/WebServer/Engine/Engine.d.ts +21 -21
- package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
- package/dist/types/Framework/WebServer/Engine/Request.d.ts +35 -35
- package/dist/types/Framework/WebServer/Engine/Response.d.ts +30 -30
- package/dist/types/Framework/WebServer/IWebServer.d.ts +20 -20
- package/dist/types/Framework/cgserver.d.ts +27 -25
- package/dist/types/Framework/index.d.ts +91 -86
- package/dist/types/test/test.d.ts +1 -1
- 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();
|