cgserver 9.2.7 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/lib/Framework/AI/BehaviorAI.js +6 -6
- package/dist/lib/Framework/AI/TriggerMgr.js +7 -8
- package/dist/lib/Framework/Config/FrameworkConfig.js +2 -2
- package/dist/lib/Framework/Config/IServerConfig.js +3 -3
- package/dist/lib/Framework/Core/ByteTool.js +2 -2
- package/dist/lib/Framework/Core/Core.js +7 -5
- package/dist/lib/Framework/Core/Timer.js +5 -5
- package/dist/lib/Framework/Database/Decorator/DBCache.js +5 -6
- package/dist/lib/Framework/Database/MSSqlManager.js +4 -5
- package/dist/lib/Framework/Database/{MongoBaseService.js → Mongo/MongoBaseService.js} +13 -13
- package/dist/lib/Framework/Database/{MongoManager.js → Mongo/MongoManager.js} +39 -38
- package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +26 -0
- package/dist/lib/Framework/Database/MysqlBaseService.js +24 -26
- package/dist/lib/Framework/Database/MysqlManager.js +7 -10
- package/dist/lib/Framework/Database/RedisManager.js +5 -7
- package/dist/lib/Framework/Decorator/SyncCall.js +3 -3
- package/dist/lib/Framework/Decorator/SyncCallServer.js +11 -12
- package/dist/lib/Framework/Logic/CacheTool.js +2 -3
- package/dist/lib/Framework/Logic/EventTool.js +2 -2
- package/dist/lib/Framework/Logic/HttpTool.js +11 -12
- package/dist/lib/Framework/Logic/Log.js +2 -3
- package/dist/lib/Framework/Logic/SyncQueueTool.js +2 -2
- package/dist/lib/Framework/Service/MongoAccountService.js +17 -19
- package/dist/lib/Framework/Service/MongoCacheService.js +11 -9
- package/dist/lib/Framework/Service/MongoUserService.js +10 -10
- package/dist/lib/Framework/Service/MysqlAccountService.js +4 -6
- package/dist/lib/Framework/SocketServer/IClientWebSocket.js +4 -4
- package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +6 -7
- package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +6 -7
- package/dist/lib/Framework/SocketServer/IServerWebSocket.js +3 -3
- package/dist/lib/Framework/SocketServer/ISocketServer.js +18 -21
- package/dist/lib/Framework/SocketServer/IWebSocket.js +12 -14
- package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +4 -4
- package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +2 -2
- package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +2 -3
- package/dist/lib/Framework/ThirdParty/AlipayTool.js +17 -19
- package/dist/lib/Framework/ThirdParty/Alisms.js +10 -12
- package/dist/lib/Framework/ThirdParty/AppleTool.js +14 -17
- package/dist/lib/Framework/ThirdParty/CgMq.js +3 -3
- package/dist/lib/Framework/ThirdParty/EmailTool.js +12 -14
- package/dist/lib/Framework/ThirdParty/QQTool.js +19 -23
- package/dist/lib/Framework/ThirdParty/QiniuTool.js +9 -11
- package/dist/lib/Framework/ThirdParty/Rpc.js +2 -2
- package/dist/lib/Framework/ThirdParty/WechatTool.js +66 -16
- package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +16 -17
- package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +12 -13
- package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +5 -3
- package/dist/lib/Framework/WebServer/Engine/Engine.js +17 -18
- package/dist/lib/Framework/WebServer/Engine/RazorJs.js +3 -4
- package/dist/lib/Framework/WebServer/Engine/Request.js +3 -3
- package/dist/lib/Framework/WebServer/Engine/Response.js +2 -2
- package/dist/lib/Framework/WebServer/IWebServer.js +6 -9
- package/dist/lib/Framework/cgserver.js +10 -15
- package/dist/lib/Framework/global.js +73 -0
- package/dist/lib/Framework/index.js +3 -200
- package/dist/lib/Framework/index_export_.js +161 -0
- package/dist/lib/test/test.js +2 -2
- package/dist/types/Framework/AI/TriggerMgr.d.ts +1 -3
- package/dist/types/Framework/Config/DbConfig.d.ts +1 -1
- package/dist/types/Framework/Config/IServerConfig.d.ts +0 -1
- package/dist/types/Framework/Core/ByteTool.d.ts +1 -3
- package/dist/types/Framework/Core/Core.d.ts +3 -1
- package/dist/types/Framework/Database/Decorator/DBCache.d.ts +1 -3
- package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -3
- package/dist/types/Framework/Database/{MongoBaseService.d.ts → Mongo/MongoBaseService.d.ts} +28 -8
- package/dist/types/Framework/Database/{MongoManager.d.ts → Mongo/MongoManager.d.ts} +38 -11
- package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -0
- package/dist/types/Framework/Database/MysqlManager.d.ts +1 -3
- package/dist/types/Framework/Database/RedisManager.d.ts +0 -1
- package/dist/types/Framework/Logic/CacheTool.d.ts +1 -2
- package/dist/types/Framework/Logic/EventTool.d.ts +1 -3
- package/dist/types/Framework/Logic/HttpTool.d.ts +1 -3
- package/dist/types/Framework/Logic/Log.d.ts +1 -3
- package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -2
- package/dist/types/Framework/Service/MongoAccountService.d.ts +2 -2
- package/dist/types/Framework/Service/MongoCacheService.d.ts +7 -5
- package/dist/types/Framework/Service/MongoUserService.d.ts +4 -4
- package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -2
- package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +1 -3
- package/dist/types/Framework/ThirdParty/Alisms.d.ts +1 -3
- package/dist/types/Framework/ThirdParty/AppleTool.d.ts +1 -2
- package/dist/types/Framework/ThirdParty/EmailTool.d.ts +1 -3
- package/dist/types/Framework/ThirdParty/QQTool.d.ts +0 -1
- package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +1 -3
- package/dist/types/Framework/ThirdParty/WechatTool.d.ts +10 -1
- package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +4 -3
- package/dist/types/Framework/cgserver.d.ts +1 -3
- package/dist/types/Framework/global.d.ts +70 -0
- package/dist/types/Framework/index.d.ts +2 -91
- package/dist/types/Framework/index_export_.d.ts +74 -0
- package/package.json +1 -1
- package/dist/lib/Framework/Database/MongoServiceManager.js +0 -49
- package/dist/lib/Framework/ThirdParty/OpenSocial.js +0 -32
- package/dist/lib/Framework/ThirdParty/WechatOATool.js +0 -61
- package/dist/types/Framework/Database/MongoServiceManager.d.ts +0 -15
- package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +0 -7
- package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +0 -13
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BehaviorAI = void 0;
|
|
4
|
-
const Log_1 = require("./../Logic/Log");
|
|
5
4
|
const Core_1 = require("../Core/Core");
|
|
6
5
|
const _ = require("underscore");
|
|
7
6
|
const TriggerMgr_1 = require("./TriggerMgr");
|
|
7
|
+
const global_1 = require("../global");
|
|
8
8
|
class BehaviorAI {
|
|
9
9
|
_obj;
|
|
10
10
|
_targetObjs;
|
|
@@ -27,13 +27,13 @@ class BehaviorAI {
|
|
|
27
27
|
this._targetObjs = [];
|
|
28
28
|
}
|
|
29
29
|
this._triggers = [];
|
|
30
|
-
let code =
|
|
30
|
+
let code = global_1.global.gTriggerMgr.addConditionTriggerEvent(TriggerMgr_1.EConditionType.Die, this.onTriggerDie.bind(this), { code: this._obj.getCode() });
|
|
31
31
|
this._triggers.push({ type: TriggerMgr_1.EConditionType.Die, code: code });
|
|
32
32
|
}
|
|
33
33
|
//启动行为树AI
|
|
34
34
|
start() {
|
|
35
35
|
if (!this._behavior_data) {
|
|
36
|
-
|
|
36
|
+
global_1.global.gLog.info("------------error------------this._behavior_data can not be null!");
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
this.goto(this._behavior_data.start);
|
|
@@ -41,7 +41,7 @@ class BehaviorAI {
|
|
|
41
41
|
//结束行为树AI
|
|
42
42
|
end() {
|
|
43
43
|
for (let i = 0, length = this._triggers.length; i < length; ++i) {
|
|
44
|
-
|
|
44
|
+
global_1.global.gTriggerMgr.removeConditionTriggerEvent(this._triggers[i].type, this._triggers[i].code);
|
|
45
45
|
}
|
|
46
46
|
this._triggers = [];
|
|
47
47
|
}
|
|
@@ -145,7 +145,7 @@ class BehaviorAI {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
|
-
|
|
148
|
+
global_1.global.gLog.info("---------warning--------_goto->behavior_name=" + behavior_name + ".animaiton not exist!");
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
//检查有没有已经达到的条件,又的话就执行他的相关事件
|
|
@@ -177,7 +177,7 @@ class BehaviorAI {
|
|
|
177
177
|
let targetInfo = this._getNearestTarget();
|
|
178
178
|
if (targetInfo) {
|
|
179
179
|
if (this._behavior_data.name == "sm")
|
|
180
|
-
|
|
180
|
+
global_1.global.gLog.info("distance" + targetInfo.distance);
|
|
181
181
|
this._targetObj = targetInfo.target;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const Log_1 = require("./../Logic/Log");
|
|
3
|
+
exports.TriggerManager = exports.Trigger = exports.EConditionType = exports.ETriggerType = void 0;
|
|
5
4
|
const Core_1 = require("../Core/Core");
|
|
5
|
+
const global_1 = require("../global");
|
|
6
6
|
var ETriggerType;
|
|
7
7
|
(function (ETriggerType) {
|
|
8
8
|
ETriggerType[ETriggerType["Region"] = 0] = "Region";
|
|
@@ -20,7 +20,6 @@ class Trigger {
|
|
|
20
20
|
}
|
|
21
21
|
exports.Trigger = Trigger;
|
|
22
22
|
let _GTriggerCode = 0;
|
|
23
|
-
exports.GTriggerMgr = null;
|
|
24
23
|
class TriggerManager {
|
|
25
24
|
_regionTriggers = null;
|
|
26
25
|
_conditionTriggers = {};
|
|
@@ -86,8 +85,8 @@ class TriggerManager {
|
|
|
86
85
|
if (!pos || typeof region === "undefined") {
|
|
87
86
|
return false;
|
|
88
87
|
}
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
global_1.global.gLog.info("pos.x" + pos.x + " pos.y=" + pos.y);
|
|
89
|
+
global_1.global.gLog.info("region.x" + region.x + " region.y=" + region.y);
|
|
91
90
|
if (pos.x < (region.x - region.width / 2)) {
|
|
92
91
|
return false;
|
|
93
92
|
}
|
|
@@ -145,7 +144,7 @@ class TriggerManager {
|
|
|
145
144
|
if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerIn) {
|
|
146
145
|
return;
|
|
147
146
|
}
|
|
148
|
-
|
|
147
|
+
global_1.global.gLog.info("some one triggered in");
|
|
149
148
|
this._regionTriggers.aiObj.onTriggerIn(obj, trigger);
|
|
150
149
|
}
|
|
151
150
|
//从里面走出去的时候触发
|
|
@@ -153,7 +152,7 @@ class TriggerManager {
|
|
|
153
152
|
if (!this._regionTriggers.aiObj || !this._regionTriggers.aiObj.onTriggerOut) {
|
|
154
153
|
return;
|
|
155
154
|
}
|
|
156
|
-
|
|
155
|
+
global_1.global.gLog.info("some one triggered out");
|
|
157
156
|
this._regionTriggers.aiObj.onTriggerOut(obj, trigger);
|
|
158
157
|
}
|
|
159
158
|
//////////////////////////////////////条件触发器//////////////////////////////////////////////////
|
|
@@ -198,4 +197,4 @@ class TriggerManager {
|
|
|
198
197
|
}
|
|
199
198
|
}
|
|
200
199
|
}
|
|
201
|
-
exports.
|
|
200
|
+
exports.TriggerManager = TriggerManager;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FrameworkConfig = exports.WebServerConfig = exports.ESessionType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const global_1 = require("../global");
|
|
5
5
|
const Config_1 = require("./Config");
|
|
6
6
|
const DbConfig_1 = require("./DbConfig");
|
|
7
7
|
var ESessionType;
|
|
@@ -186,7 +186,7 @@ class FrameworkConfig extends Config_1.Config {
|
|
|
186
186
|
}
|
|
187
187
|
init() {
|
|
188
188
|
let ret = super.init();
|
|
189
|
-
|
|
189
|
+
global_1.global.gLog.init(this.log, this.console_level || 0);
|
|
190
190
|
return ret;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IServerConfig =
|
|
3
|
+
exports.IServerConfig = void 0;
|
|
4
|
+
const global_1 = require("../global");
|
|
4
5
|
const FrameworkConfig_1 = require("./FrameworkConfig");
|
|
5
|
-
exports.GServerCfg = null;
|
|
6
6
|
class IServerConfig extends FrameworkConfig_1.FrameworkConfig {
|
|
7
7
|
port = -1;
|
|
8
8
|
_server_name = "";
|
|
@@ -19,7 +19,7 @@ class IServerConfig extends FrameworkConfig_1.FrameworkConfig {
|
|
|
19
19
|
if (!ret) {
|
|
20
20
|
return ret;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
global_1.global.gServerCfg = this;
|
|
23
23
|
return ret;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ByteTool = void 0;
|
|
4
4
|
class ByteTool {
|
|
5
5
|
//构建一个视图,把字节数组写到缓存中,索引从0开始
|
|
6
6
|
getView(bytes) {
|
|
@@ -81,4 +81,4 @@ class ByteTool {
|
|
|
81
81
|
return this.getUint8Array(8, (view) => { view.setFloat64(0, num, littleEndian); });
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
exports.
|
|
84
|
+
exports.ByteTool = ByteTool;
|
|
@@ -5,12 +5,14 @@ let os = require('os');
|
|
|
5
5
|
let request = require('request');
|
|
6
6
|
const _ = require("underscore");
|
|
7
7
|
const crypto = require("crypto");
|
|
8
|
-
const Log_1 = require("../Logic/Log");
|
|
9
8
|
const CryptoJS = require("crypto-js");
|
|
10
9
|
const ec_key_1 = require("ec-key");
|
|
11
10
|
const uuid_1 = require("uuid");
|
|
11
|
+
const global_1 = require("../global");
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* 一些通用的常用函数,
|
|
14
|
+
* 比如格式化字符串,常用加解密,
|
|
15
|
+
* 时间计算,类型判断等
|
|
14
16
|
*/
|
|
15
17
|
class core {
|
|
16
18
|
/**
|
|
@@ -598,13 +600,13 @@ class core {
|
|
|
598
600
|
if (core.isAsyncFunc(func)) {
|
|
599
601
|
if (thisArg) {
|
|
600
602
|
rs = await func.call(thisArg, ...params).catch((reason) => {
|
|
601
|
-
|
|
603
|
+
global_1.global.gLog.error(reason);
|
|
602
604
|
rs = { errcode: { id: 1008611, des: "failed" } };
|
|
603
605
|
});
|
|
604
606
|
}
|
|
605
607
|
else {
|
|
606
608
|
rs = await func(...params).catch((reason) => {
|
|
607
|
-
|
|
609
|
+
global_1.global.gLog.error(reason);
|
|
608
610
|
rs = { errcode: { id: 1008612, des: "failed" } };
|
|
609
611
|
});
|
|
610
612
|
}
|
|
@@ -620,7 +622,7 @@ class core {
|
|
|
620
622
|
return rs;
|
|
621
623
|
}
|
|
622
624
|
catch (e) {
|
|
623
|
-
|
|
625
|
+
global_1.global.gLog.error(e.stack);
|
|
624
626
|
return { errcode: { id: 1008613, des: "failed" } };
|
|
625
627
|
}
|
|
626
628
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Timer = void 0;
|
|
4
|
-
const
|
|
4
|
+
const global_1 = require("../global");
|
|
5
5
|
class Timer {
|
|
6
6
|
_deadline = -1;
|
|
7
7
|
get deadline() {
|
|
@@ -38,10 +38,10 @@ class Timer {
|
|
|
38
38
|
}
|
|
39
39
|
catch (e) {
|
|
40
40
|
if (e && e.stack) {
|
|
41
|
-
|
|
41
|
+
global_1.global.gLog.error(e.stack);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
|
|
44
|
+
global_1.global.gLog.error(e);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}, timeout, ...args);
|
|
@@ -61,10 +61,10 @@ class Timer {
|
|
|
61
61
|
}
|
|
62
62
|
catch (e) {
|
|
63
63
|
if (e && e.stack) {
|
|
64
|
-
|
|
64
|
+
global_1.global.gLog.error(e.stack);
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
|
|
67
|
+
global_1.global.gLog.error(e);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}, timeout, ...args);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const Log_1 = require("./../../Logic/Log");
|
|
3
|
+
exports.DBCache = exports.VersionModel = void 0;
|
|
5
4
|
const fs = require("fs");
|
|
5
|
+
const global_1 = require("../../global");
|
|
6
6
|
class VersionModel {
|
|
7
7
|
table = "";
|
|
8
8
|
version = 0;
|
|
@@ -16,19 +16,18 @@ class VersionModel {
|
|
|
16
16
|
update_time = 0;
|
|
17
17
|
}
|
|
18
18
|
exports.VersionModel = VersionModel;
|
|
19
|
-
exports.GDBCache = null;
|
|
20
19
|
class DBCache {
|
|
21
20
|
_versions = {};
|
|
22
21
|
_path = __dirname + "/tmp_table_version.json";
|
|
23
22
|
async init() {
|
|
24
|
-
|
|
23
|
+
global_1.global.gLog.warn("mysql auto 功能建议只使用在开发环境中,因为会导致数据丢失,数据表重建");
|
|
25
24
|
if (fs.existsSync(this._path)) {
|
|
26
25
|
try {
|
|
27
26
|
let table = fs.readFileSync(this._path);
|
|
28
27
|
this._versions = JSON.parse(table.toString());
|
|
29
28
|
}
|
|
30
29
|
catch (e) {
|
|
31
|
-
|
|
30
|
+
global_1.global.gLog.info("error:" + this._path);
|
|
32
31
|
process.exit();
|
|
33
32
|
}
|
|
34
33
|
}
|
|
@@ -62,4 +61,4 @@ class DBCache {
|
|
|
62
61
|
return vm.version;
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
|
-
exports.
|
|
64
|
+
exports.DBCache = DBCache;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MSSqlManager = exports.MssqlReturn = exports.MSSqlConfig = void 0;
|
|
4
4
|
const mssql = require("mssql");
|
|
5
|
-
const
|
|
5
|
+
const global_1 = require("../global");
|
|
6
6
|
class MSSqlConfig {
|
|
7
7
|
open = false;
|
|
8
8
|
auto = false;
|
|
@@ -20,7 +20,6 @@ class MssqlReturn {
|
|
|
20
20
|
list = null;
|
|
21
21
|
}
|
|
22
22
|
exports.MssqlReturn = MssqlReturn;
|
|
23
|
-
exports.GMSSqlMgr = null;
|
|
24
23
|
class MSSqlManager {
|
|
25
24
|
_init_cbs = [];
|
|
26
25
|
_pool = null;
|
|
@@ -41,7 +40,7 @@ class MSSqlManager {
|
|
|
41
40
|
this._pool = await mssql.connect(cfg);
|
|
42
41
|
console.log("mssql config=" + JSON.stringify(cfg));
|
|
43
42
|
//这个的初始化位置不能变,必须位于cbs前,pool后
|
|
44
|
-
await
|
|
43
|
+
await global_1.global.gDbCache.init();
|
|
45
44
|
for (let i = 0; i < this._init_cbs.length; ++i) {
|
|
46
45
|
this._init_cbs[i]();
|
|
47
46
|
}
|
|
@@ -50,4 +49,4 @@ class MSSqlManager {
|
|
|
50
49
|
this._init_cbs.push(cb);
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
|
-
exports.
|
|
52
|
+
exports.MSSqlManager = MSSqlManager;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MongoBaseService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const global_1 = require("../../global");
|
|
5
5
|
class MongoBaseService {
|
|
6
6
|
_table = "";
|
|
7
7
|
get table() {
|
|
@@ -12,12 +12,12 @@ class MongoBaseService {
|
|
|
12
12
|
return this._inited;
|
|
13
13
|
}
|
|
14
14
|
get mongoDb() {
|
|
15
|
-
return
|
|
15
|
+
return global_1.global.gMongoMgr.getMongo(this._dbname);
|
|
16
16
|
}
|
|
17
17
|
_dbname = "";
|
|
18
18
|
get dbname() {
|
|
19
19
|
if (!this._dbname) {
|
|
20
|
-
this._dbname =
|
|
20
|
+
this._dbname = global_1.global.gMongoMgr.defdbname;
|
|
21
21
|
}
|
|
22
22
|
return this._dbname;
|
|
23
23
|
}
|
|
@@ -45,28 +45,28 @@ class MongoBaseService {
|
|
|
45
45
|
let rs = await this.mongoDb.findOne(this._table, null, { id: id });
|
|
46
46
|
return rs.one;
|
|
47
47
|
}
|
|
48
|
-
async get(
|
|
49
|
-
let rs = await this.mongoDb.findOne(this._table,
|
|
48
|
+
async get(where = null, property = null) {
|
|
49
|
+
let rs = await this.mongoDb.findOne(this._table, where, property);
|
|
50
50
|
return rs.one;
|
|
51
51
|
}
|
|
52
52
|
async countDocuments(where = null, options) {
|
|
53
53
|
let rs = await this.mongoDb.countDocuments(this._table, where);
|
|
54
54
|
return rs.count;
|
|
55
55
|
}
|
|
56
|
-
async gets(
|
|
57
|
-
let rs = await this.mongoDb.findMany(this._table,
|
|
56
|
+
async gets(where = null, property = null, sort = null, skip = 0, limit = 0) {
|
|
57
|
+
let rs = await this.mongoDb.findMany(this._table, where, property, sort, skip, limit);
|
|
58
58
|
return rs.list;
|
|
59
59
|
}
|
|
60
|
-
async getRandoms(num,
|
|
61
|
-
let rs = await this.mongoDb.simpleAggregate(this._table,
|
|
60
|
+
async getRandoms(num, where, property = null) {
|
|
61
|
+
let rs = await this.mongoDb.simpleAggregate(this._table, where, property, null, num);
|
|
62
62
|
return rs.list;
|
|
63
63
|
}
|
|
64
|
-
async updateOne(
|
|
65
|
-
let rs = await this.mongoDb.updateOne(this._table,
|
|
64
|
+
async updateOne(where, model, upsert = false) {
|
|
65
|
+
let rs = await this.mongoDb.updateOne(this._table, where, model, upsert);
|
|
66
66
|
return rs;
|
|
67
67
|
}
|
|
68
|
-
async updateMany(model,
|
|
69
|
-
let rs = await this.mongoDb.updateMany(this._table, model,
|
|
68
|
+
async updateMany(where, model = null, upsert = false) {
|
|
69
|
+
let rs = await this.mongoDb.updateMany(this._table, where, model, upsert);
|
|
70
70
|
return rs;
|
|
71
71
|
}
|
|
72
72
|
async insert(model) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoExt = exports.
|
|
4
|
-
const Log_1 = require("../Logic/Log");
|
|
3
|
+
exports.MongoExt = exports.MongoManager = exports.MgReturn = exports.MrResult = exports.MongoBaseModel = exports.MongoConfig = void 0;
|
|
5
4
|
const mongo = require("mongodb");
|
|
6
|
-
const _error_1 = require("
|
|
7
|
-
const Core_1 = require("
|
|
5
|
+
const _error_1 = require("../../Config/_error_");
|
|
6
|
+
const Core_1 = require("../../Core/Core");
|
|
7
|
+
const global_1 = require("../../global");
|
|
8
8
|
class MongoConfig {
|
|
9
9
|
open = false;
|
|
10
10
|
host = "127.0.0.1";
|
|
@@ -62,17 +62,19 @@ class MongoManager {
|
|
|
62
62
|
}
|
|
63
63
|
async addMongo(cfg) {
|
|
64
64
|
if (this._dbs[cfg.database]) {
|
|
65
|
-
|
|
65
|
+
global_1.global.gLog.error("数据库配置得database不能相同!database=" + cfg.database);
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
68
|
let mongoext = new MongoExt();
|
|
69
69
|
let ret = await mongoext.init(cfg);
|
|
70
70
|
if (!ret) {
|
|
71
|
-
|
|
71
|
+
global_1.global.gLog.error("数据库初始化失败!cfg=" + JSON.stringify(cfg));
|
|
72
72
|
return false;
|
|
73
73
|
}
|
|
74
74
|
this._dbs[cfg.database] = mongoext;
|
|
75
|
-
this._defdbname
|
|
75
|
+
if (!this._defdbname) {
|
|
76
|
+
this._defdbname = cfg.database;
|
|
77
|
+
}
|
|
76
78
|
return true;
|
|
77
79
|
}
|
|
78
80
|
async removeMongo(dbname, force = false) {
|
|
@@ -90,7 +92,6 @@ class MongoManager {
|
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
exports.MongoManager = MongoManager;
|
|
93
|
-
exports.GMongoMgr = new MongoManager();
|
|
94
95
|
class MongoExt {
|
|
95
96
|
_mongocfg = null;
|
|
96
97
|
_init_cbs = [];
|
|
@@ -121,7 +122,7 @@ class MongoExt {
|
|
|
121
122
|
}
|
|
122
123
|
this._mongocfg = cfg;
|
|
123
124
|
this._inited = true;
|
|
124
|
-
|
|
125
|
+
global_1.global.gLog.info("mongo config=" + JSON.stringify(this._mongocfg));
|
|
125
126
|
this._mongoClient = new mongo.MongoClient("mongodb://" + this._mongocfg.host + ":" + this._mongocfg.port, this._mongocfg.options);
|
|
126
127
|
await Core_1.core.safeCall(this._mongoClient.connect, this._mongoClient);
|
|
127
128
|
this.onConnect();
|
|
@@ -139,7 +140,7 @@ class MongoExt {
|
|
|
139
140
|
}
|
|
140
141
|
onConnect() {
|
|
141
142
|
this._mongo_init_succ = true;
|
|
142
|
-
|
|
143
|
+
global_1.global.gLog.info("mongo has connected!");
|
|
143
144
|
}
|
|
144
145
|
/**
|
|
145
146
|
* 获取自增长id
|
|
@@ -161,7 +162,7 @@ class MongoExt {
|
|
|
161
162
|
return 1;
|
|
162
163
|
}
|
|
163
164
|
catch (e) {
|
|
164
|
-
|
|
165
|
+
global_1.global.gLog.error(e.stack);
|
|
165
166
|
}
|
|
166
167
|
return -2;
|
|
167
168
|
}
|
|
@@ -187,7 +188,7 @@ class MongoExt {
|
|
|
187
188
|
* 获取单条消息
|
|
188
189
|
* @param collection
|
|
189
190
|
*/
|
|
190
|
-
async findOne(collection,
|
|
191
|
+
async findOne(collection, where = {}, property = {}) {
|
|
191
192
|
this._convertWhere(where);
|
|
192
193
|
let rs = { errcode: null, one: null };
|
|
193
194
|
if (!this._mongoDb) {
|
|
@@ -200,14 +201,14 @@ class MongoExt {
|
|
|
200
201
|
one = await col.findOne(where, { projection: property });
|
|
201
202
|
}
|
|
202
203
|
catch (e) {
|
|
203
|
-
|
|
204
|
-
|
|
204
|
+
global_1.global.gLog.error({ collection, property, where });
|
|
205
|
+
global_1.global.gLog.error(e.stack);
|
|
205
206
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
206
207
|
}
|
|
207
208
|
rs.one = one;
|
|
208
209
|
return rs;
|
|
209
210
|
}
|
|
210
|
-
async findMany(collection,
|
|
211
|
+
async findMany(collection, where = {}, property = {}, sort, skip = 0, limit = 0) {
|
|
211
212
|
this._convertWhere(where);
|
|
212
213
|
let rs = { errcode: null, list: null };
|
|
213
214
|
if (!this._mongoDb) {
|
|
@@ -230,8 +231,8 @@ class MongoExt {
|
|
|
230
231
|
list = await cursor.toArray();
|
|
231
232
|
}
|
|
232
233
|
catch (e) {
|
|
233
|
-
|
|
234
|
-
|
|
234
|
+
global_1.global.gLog.error({ collection, property, where, sort, skip, limit });
|
|
235
|
+
global_1.global.gLog.error(e.stack);
|
|
235
236
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
236
237
|
}
|
|
237
238
|
rs.list = list;
|
|
@@ -250,8 +251,8 @@ class MongoExt {
|
|
|
250
251
|
count = await col.countDocuments(where || {}, options);
|
|
251
252
|
}
|
|
252
253
|
catch (e) {
|
|
253
|
-
|
|
254
|
-
|
|
254
|
+
global_1.global.gLog.error({ collection, where });
|
|
255
|
+
global_1.global.gLog.error(e.stack);
|
|
255
256
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
256
257
|
}
|
|
257
258
|
rs.count = count;
|
|
@@ -270,8 +271,8 @@ class MongoExt {
|
|
|
270
271
|
del_rs = await col.deleteOne(where || {});
|
|
271
272
|
}
|
|
272
273
|
catch (e) {
|
|
273
|
-
|
|
274
|
-
|
|
274
|
+
global_1.global.gLog.error({ collection, where });
|
|
275
|
+
global_1.global.gLog.error(e.stack);
|
|
275
276
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
276
277
|
}
|
|
277
278
|
if (del_rs) {
|
|
@@ -292,8 +293,8 @@ class MongoExt {
|
|
|
292
293
|
del_rs = await col.deleteMany(where || {});
|
|
293
294
|
}
|
|
294
295
|
catch (e) {
|
|
295
|
-
|
|
296
|
-
|
|
296
|
+
global_1.global.gLog.error({ collection, where });
|
|
297
|
+
global_1.global.gLog.error(e.stack);
|
|
297
298
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
298
299
|
}
|
|
299
300
|
if (del_rs) {
|
|
@@ -318,8 +319,8 @@ class MongoExt {
|
|
|
318
319
|
in_rs = await col.insertOne(data);
|
|
319
320
|
}
|
|
320
321
|
catch (e) {
|
|
321
|
-
|
|
322
|
-
|
|
322
|
+
global_1.global.gLog.error({ collection, data });
|
|
323
|
+
global_1.global.gLog.error(e.stack);
|
|
323
324
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
324
325
|
}
|
|
325
326
|
rs.rs = in_rs;
|
|
@@ -337,14 +338,14 @@ class MongoExt {
|
|
|
337
338
|
in_rs = await col.insertMany(data);
|
|
338
339
|
}
|
|
339
340
|
catch (e) {
|
|
340
|
-
|
|
341
|
-
|
|
341
|
+
global_1.global.gLog.error({ collection, data });
|
|
342
|
+
global_1.global.gLog.error(e.stack);
|
|
342
343
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
343
344
|
}
|
|
344
345
|
rs.rs = in_rs;
|
|
345
346
|
return rs;
|
|
346
347
|
}
|
|
347
|
-
async updateOne(collection,
|
|
348
|
+
async updateOne(collection, where, model, upsert = false) {
|
|
348
349
|
let _id = model["_id"];
|
|
349
350
|
delete model["_id"];
|
|
350
351
|
if (!where && _id) {
|
|
@@ -378,8 +379,8 @@ class MongoExt {
|
|
|
378
379
|
up_rs = await col.updateOne(where, updatemodel, { upsert: upsert });
|
|
379
380
|
}
|
|
380
381
|
catch (e) {
|
|
381
|
-
|
|
382
|
-
|
|
382
|
+
global_1.global.gLog.error({ collection, model, where, upsert });
|
|
383
|
+
global_1.global.gLog.error(e.stack);
|
|
383
384
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
384
385
|
}
|
|
385
386
|
rs.rs = up_rs;
|
|
@@ -388,7 +389,7 @@ class MongoExt {
|
|
|
388
389
|
}
|
|
389
390
|
return rs;
|
|
390
391
|
}
|
|
391
|
-
async updateMany(collection,
|
|
392
|
+
async updateMany(collection, where, model, upsert = false) {
|
|
392
393
|
this._convertWhere(where);
|
|
393
394
|
let rs = { errcode: null, rs: null };
|
|
394
395
|
if (!this._mongoDb) {
|
|
@@ -409,8 +410,8 @@ class MongoExt {
|
|
|
409
410
|
up_rs = await col.updateMany(where, updateModel, { upsert: upsert });
|
|
410
411
|
}
|
|
411
412
|
catch (e) {
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
global_1.global.gLog.error({ collection, model, where, upsert });
|
|
414
|
+
global_1.global.gLog.error(e.stack);
|
|
414
415
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
415
416
|
}
|
|
416
417
|
rs.rs = up_rs;
|
|
@@ -428,14 +429,14 @@ class MongoExt {
|
|
|
428
429
|
i_rs = await col.createIndex(index, options);
|
|
429
430
|
}
|
|
430
431
|
catch (e) {
|
|
431
|
-
|
|
432
|
-
|
|
432
|
+
global_1.global.gLog.error({ collection, index });
|
|
433
|
+
global_1.global.gLog.error(e.stack);
|
|
433
434
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
434
435
|
}
|
|
435
436
|
rs.rs = i_rs;
|
|
436
437
|
return rs;
|
|
437
438
|
}
|
|
438
|
-
async simpleAggregate(collection,
|
|
439
|
+
async simpleAggregate(collection, where, property, size, random_size) {
|
|
439
440
|
this._convertWhere(where);
|
|
440
441
|
let rs = { errcode: null, list: null };
|
|
441
442
|
if (!this._mongoDb) {
|
|
@@ -464,7 +465,7 @@ class MongoExt {
|
|
|
464
465
|
}
|
|
465
466
|
}
|
|
466
467
|
catch (e) {
|
|
467
|
-
|
|
468
|
+
global_1.global.gLog.error(e.stack);
|
|
468
469
|
rs.errcode = _error_1.EErrorCode.Mongo_Error;
|
|
469
470
|
}
|
|
470
471
|
rs.list = list;
|
|
@@ -497,7 +498,7 @@ class MongoExt {
|
|
|
497
498
|
}
|
|
498
499
|
catch (e) {
|
|
499
500
|
await session.abortTransaction();
|
|
500
|
-
|
|
501
|
+
global_1.global.gLog.error(e.stack);
|
|
501
502
|
}
|
|
502
503
|
finally {
|
|
503
504
|
await session.endSession();
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoServiceManager = void 0;
|
|
4
|
+
const MongoBaseService_1 = require("./MongoBaseService");
|
|
5
|
+
class MongoServiceManager {
|
|
6
|
+
_services = {};
|
|
7
|
+
addService(table, type, dbname = "") {
|
|
8
|
+
if (!this._services[dbname]) {
|
|
9
|
+
this._services[dbname] = {};
|
|
10
|
+
}
|
|
11
|
+
if (!this._services[dbname][table]) {
|
|
12
|
+
this._services[dbname][table] = new MongoBaseService_1.MongoBaseService(table, type, dbname);
|
|
13
|
+
}
|
|
14
|
+
return this._services[dbname][table];
|
|
15
|
+
}
|
|
16
|
+
getService(table, dbname = "") {
|
|
17
|
+
if (!this._services[dbname]) {
|
|
18
|
+
this._services[dbname] = {};
|
|
19
|
+
}
|
|
20
|
+
if (!this._services[dbname][table]) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
return this._services[dbname][table];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.MongoServiceManager = MongoServiceManager;
|