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
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlBaseService = exports.BaseModel = void 0;
|
|
4
|
+
const global_1 = require("../global");
|
|
4
5
|
const Property_1 = require("./Decorator/Property");
|
|
5
|
-
const MysqlManager_1 = require("./MysqlManager");
|
|
6
|
-
const Log_1 = require("../Logic/Log");
|
|
7
|
-
const DBCache_1 = require("./Decorator/DBCache");
|
|
8
6
|
class BaseModel {
|
|
9
7
|
}
|
|
10
8
|
exports.BaseModel = BaseModel;
|
|
@@ -24,11 +22,11 @@ class MysqlBaseService {
|
|
|
24
22
|
_t_type = null;
|
|
25
23
|
constructor(type) {
|
|
26
24
|
this._t_type = type;
|
|
27
|
-
if (
|
|
25
|
+
if (global_1.global.gMysqlMgr.isValid) {
|
|
28
26
|
this._init();
|
|
29
27
|
}
|
|
30
28
|
else {
|
|
31
|
-
|
|
29
|
+
global_1.global.gMysqlMgr.registerInitCb(this._init.bind(this));
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
async _init() {
|
|
@@ -41,13 +39,13 @@ class MysqlBaseService {
|
|
|
41
39
|
throw new Error("数据表的类必须要具有Table装饰器");
|
|
42
40
|
}
|
|
43
41
|
this._table = "`" + table.table + "`";
|
|
44
|
-
if (!
|
|
42
|
+
if (!global_1.global.gMysqlMgr.cfg.auto) {
|
|
45
43
|
//未开启自动创建数据表
|
|
46
44
|
return;
|
|
47
45
|
}
|
|
48
46
|
let droped = await this._checkDropTable(table.version);
|
|
49
47
|
if (!droped) {
|
|
50
|
-
|
|
48
|
+
global_1.global.gLog.info("table(" + this._table + ")无需升级...");
|
|
51
49
|
//既然版本号没变,就快速返回
|
|
52
50
|
return;
|
|
53
51
|
}
|
|
@@ -92,14 +90,14 @@ class MysqlBaseService {
|
|
|
92
90
|
if (table.comment) {
|
|
93
91
|
sql += " comment=\'" + table.comment + "\';";
|
|
94
92
|
}
|
|
95
|
-
let sr = await
|
|
93
|
+
let sr = await global_1.global.gMysqlMgr.query(sql);
|
|
96
94
|
if (sr.error) {
|
|
97
|
-
|
|
95
|
+
global_1.global.gLog.error(sr.error);
|
|
98
96
|
throw Error("table(" + this._table + ")创建失败...");
|
|
99
97
|
}
|
|
100
98
|
else {
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
global_1.global.gDbCache.setVersion(this.table, table.version);
|
|
100
|
+
global_1.global.gLog.info("table(" + this._table + ")初始化成功...");
|
|
103
101
|
await this._onReCreated();
|
|
104
102
|
}
|
|
105
103
|
}
|
|
@@ -108,18 +106,18 @@ class MysqlBaseService {
|
|
|
108
106
|
async _onDroped() {
|
|
109
107
|
}
|
|
110
108
|
async _checkDropTable(cur_version) {
|
|
111
|
-
let local_version =
|
|
109
|
+
let local_version = global_1.global.gDbCache.getVersion(this._table);
|
|
112
110
|
if (local_version == cur_version) {
|
|
113
111
|
return false;
|
|
114
112
|
}
|
|
115
113
|
let sql = "drop table if exists " + this._table;
|
|
116
|
-
let sr = await
|
|
114
|
+
let sr = await global_1.global.gMysqlMgr.query(sql);
|
|
117
115
|
if (sr.error) {
|
|
118
|
-
|
|
116
|
+
global_1.global.gLog.error(sr.error);
|
|
119
117
|
throw Error(sr.error);
|
|
120
118
|
}
|
|
121
119
|
else {
|
|
122
|
-
|
|
120
|
+
global_1.global.gLog.info("table(" + this._table + ")删除成功...");
|
|
123
121
|
await this._onDroped();
|
|
124
122
|
}
|
|
125
123
|
return true;
|
|
@@ -130,7 +128,7 @@ class MysqlBaseService {
|
|
|
130
128
|
*/
|
|
131
129
|
async getById(id) {
|
|
132
130
|
let tm = null;
|
|
133
|
-
let sr = await
|
|
131
|
+
let sr = await global_1.global.gMysqlMgr.query("select * from " + this._table + " where id=? limit 1", [id]);
|
|
134
132
|
if (sr.error || sr.queryResult.length <= 0) {
|
|
135
133
|
return tm;
|
|
136
134
|
}
|
|
@@ -146,7 +144,7 @@ class MysqlBaseService {
|
|
|
146
144
|
}
|
|
147
145
|
sql += " limit 1";
|
|
148
146
|
let tm = null;
|
|
149
|
-
let sr = await
|
|
147
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
150
148
|
if (sr.queryResult && sr.queryResult.length > 0) {
|
|
151
149
|
tm = sr.queryResult[0];
|
|
152
150
|
}
|
|
@@ -160,7 +158,7 @@ class MysqlBaseService {
|
|
|
160
158
|
sql += " where " + where;
|
|
161
159
|
}
|
|
162
160
|
let total = 0;
|
|
163
|
-
let sr = await
|
|
161
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
164
162
|
if (sr.queryResult && sr.queryResult.length > 0) {
|
|
165
163
|
total = sr.queryResult[0].num || 0;
|
|
166
164
|
}
|
|
@@ -174,7 +172,7 @@ class MysqlBaseService {
|
|
|
174
172
|
sql += " where " + where;
|
|
175
173
|
}
|
|
176
174
|
let tms = null;
|
|
177
|
-
let sr = await
|
|
175
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
178
176
|
tms = sr.queryResult;
|
|
179
177
|
return tms;
|
|
180
178
|
}
|
|
@@ -183,7 +181,7 @@ class MysqlBaseService {
|
|
|
183
181
|
if (where) {
|
|
184
182
|
sql += " where " + where;
|
|
185
183
|
}
|
|
186
|
-
let sr = await
|
|
184
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
187
185
|
if (sr.error || sr.queryResult.length <= 0) {
|
|
188
186
|
return 0;
|
|
189
187
|
}
|
|
@@ -201,7 +199,7 @@ class MysqlBaseService {
|
|
|
201
199
|
args = args || [];
|
|
202
200
|
args.push(num);
|
|
203
201
|
let tms = null;
|
|
204
|
-
let sr = await
|
|
202
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
205
203
|
tms = sr.queryResult;
|
|
206
204
|
return tms;
|
|
207
205
|
}
|
|
@@ -219,7 +217,7 @@ class MysqlBaseService {
|
|
|
219
217
|
if (limit) {
|
|
220
218
|
sql += " limit " + limit;
|
|
221
219
|
}
|
|
222
|
-
let sr = await
|
|
220
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
223
221
|
return sr;
|
|
224
222
|
}
|
|
225
223
|
async update(model, where, args, limit) {
|
|
@@ -240,7 +238,7 @@ class MysqlBaseService {
|
|
|
240
238
|
if (limit) {
|
|
241
239
|
sql += " limit " + limit;
|
|
242
240
|
}
|
|
243
|
-
let sr = await
|
|
241
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
244
242
|
if (id) {
|
|
245
243
|
model["id"] = id;
|
|
246
244
|
}
|
|
@@ -263,17 +261,17 @@ class MysqlBaseService {
|
|
|
263
261
|
let sql = "insert into " + this._table + " set ?";
|
|
264
262
|
//这步的做法是为了去掉model种的TableProperty.key(___table___)
|
|
265
263
|
model = JSON.parse(JSON.stringify(model));
|
|
266
|
-
let sr = await
|
|
264
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, [model]);
|
|
267
265
|
return sr;
|
|
268
266
|
}
|
|
269
267
|
async removeById(id) {
|
|
270
268
|
let sql = "delete from " + this._table + " where id=?";
|
|
271
|
-
let sr = await
|
|
269
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, [id]);
|
|
272
270
|
return sr;
|
|
273
271
|
}
|
|
274
272
|
async remove(where, args) {
|
|
275
273
|
let sql = "delete from " + this._table + " where " + where;
|
|
276
|
-
let sr = await
|
|
274
|
+
let sr = await global_1.global.gMysqlMgr.query(sql, args);
|
|
277
275
|
return sr;
|
|
278
276
|
}
|
|
279
277
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MysqlManager = exports.SqlReturns = exports.SqlReturn = exports.MysqlConfig = void 0;
|
|
4
4
|
const _error_1 = require("./../Config/_error_");
|
|
5
|
-
const Log_1 = require("../Logic/Log");
|
|
6
5
|
const mysql2 = require("mysql2/promise");
|
|
6
|
+
const global_1 = require("../global");
|
|
7
7
|
class MysqlConfig {
|
|
8
8
|
open = false;
|
|
9
9
|
auto = false;
|
|
@@ -27,7 +27,6 @@ class SqlReturns {
|
|
|
27
27
|
srs = [];
|
|
28
28
|
}
|
|
29
29
|
exports.SqlReturns = SqlReturns;
|
|
30
|
-
exports.GMysqlMgr = null;
|
|
31
30
|
class MysqlManager {
|
|
32
31
|
_init_cbs = [];
|
|
33
32
|
_pool = null;
|
|
@@ -51,7 +50,7 @@ class MysqlManager {
|
|
|
51
50
|
console.log("mysql config=" + JSON.stringify(cfg));
|
|
52
51
|
//这个的初始化位置不能变,必须位于cbs前,pool后
|
|
53
52
|
if (cfg.auto) {
|
|
54
|
-
await
|
|
53
|
+
await global_1.global.gDbCache.init();
|
|
55
54
|
}
|
|
56
55
|
for (let i = 0; i < this._init_cbs.length; ++i) {
|
|
57
56
|
this._init_cbs[i]();
|
|
@@ -65,7 +64,7 @@ class MysqlManager {
|
|
|
65
64
|
if (!this._pool) {
|
|
66
65
|
//表示没有开通数据库,不用记录错误日志
|
|
67
66
|
sr.error = _error_1.EErrorCode.No_Mysql;
|
|
68
|
-
|
|
67
|
+
global_1.global.gLog.error(sr.error);
|
|
69
68
|
return sr;
|
|
70
69
|
}
|
|
71
70
|
try {
|
|
@@ -75,7 +74,7 @@ class MysqlManager {
|
|
|
75
74
|
}
|
|
76
75
|
catch (error) {
|
|
77
76
|
sr.error = _error_1.EErrorCode.No_Mysql;
|
|
78
|
-
|
|
77
|
+
global_1.global.gLog.error(sr.error);
|
|
79
78
|
return sr;
|
|
80
79
|
}
|
|
81
80
|
return sr;
|
|
@@ -97,10 +96,8 @@ class MysqlManager {
|
|
|
97
96
|
}
|
|
98
97
|
catch (err) {
|
|
99
98
|
srs.error = err;
|
|
100
|
-
|
|
99
|
+
global_1.global.gLog.error(err);
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
102
|
}
|
|
104
|
-
exports.
|
|
105
|
-
//该import必须放在GMysqlMgr实例化之后,否则version基类找不到GMysqlMgr
|
|
106
|
-
const DBCache_1 = require("./Decorator/DBCache");
|
|
103
|
+
exports.MysqlManager = MysqlManager;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RedisManager = exports.
|
|
4
|
-
const Log_1 = require("../Logic/Log");
|
|
3
|
+
exports.RedisManager = exports.RedisConfig = void 0;
|
|
5
4
|
const redis = require("redis");
|
|
5
|
+
const global_1 = require("../global");
|
|
6
6
|
class RedisConfig {
|
|
7
7
|
open = false;
|
|
8
8
|
host = "127.0.0.1";
|
|
@@ -11,7 +11,6 @@ class RedisConfig {
|
|
|
11
11
|
password = null;
|
|
12
12
|
}
|
|
13
13
|
exports.RedisConfig = RedisConfig;
|
|
14
|
-
exports.GRedisMgr = null;
|
|
15
14
|
class RedisManager {
|
|
16
15
|
_redis = null;
|
|
17
16
|
get redis() {
|
|
@@ -29,7 +28,7 @@ class RedisManager {
|
|
|
29
28
|
return;
|
|
30
29
|
}
|
|
31
30
|
this._redisCfg = redisCfg;
|
|
32
|
-
|
|
31
|
+
global_1.global.gLog.info("begin connect redis=" + JSON.stringify(redisCfg));
|
|
33
32
|
this._redis = redis.createClient(redisCfg);
|
|
34
33
|
this._redis.on("connect", () => {
|
|
35
34
|
this.onConnect();
|
|
@@ -47,15 +46,14 @@ class RedisManager {
|
|
|
47
46
|
return ret;
|
|
48
47
|
}
|
|
49
48
|
onConnect() {
|
|
50
|
-
|
|
49
|
+
global_1.global.gLog.info("redis has connected!");
|
|
51
50
|
}
|
|
52
51
|
onEnd() {
|
|
53
52
|
this._redis = null;
|
|
54
53
|
this.init(this._redisCfg); //重连
|
|
55
54
|
}
|
|
56
55
|
onError(err) {
|
|
57
|
-
|
|
56
|
+
global_1.global.gLog.info("Error connected=" + this._redis + ": " + err);
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
exports.RedisManager = RedisManager;
|
|
61
|
-
exports.GRedisMgr = (new RedisManager());
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SyncCall2 = exports.SyncCall = void 0;
|
|
4
|
-
const
|
|
4
|
+
const global_1 = require("../global");
|
|
5
5
|
/**
|
|
6
6
|
* 异步函数变为同步函数,当前进程有效
|
|
7
7
|
* @param target
|
|
@@ -12,7 +12,7 @@ function SyncCall(target, propertyName, descriptor) {
|
|
|
12
12
|
let method = descriptor.value;
|
|
13
13
|
descriptor.value = function () {
|
|
14
14
|
let self = this;
|
|
15
|
-
let ret =
|
|
15
|
+
let ret = global_1.global.gSyncQueueTool.add(method.name, async () => {
|
|
16
16
|
return await method.apply(self, arguments);
|
|
17
17
|
});
|
|
18
18
|
return ret;
|
|
@@ -32,7 +32,7 @@ function SyncCall2(param_index) {
|
|
|
32
32
|
if (param_index != undefined && param_index < arguments.length) {
|
|
33
33
|
key = propertyName + "_" + arguments[param_index];
|
|
34
34
|
}
|
|
35
|
-
let ret =
|
|
35
|
+
let ret = global_1.global.gSyncQueueTool.add(key, async () => {
|
|
36
36
|
return await method.apply(self, arguments);
|
|
37
37
|
});
|
|
38
38
|
return ret;
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SyncCallServer2 = exports.SyncCallServer = void 0;
|
|
4
4
|
const Core_1 = require("../Core/Core");
|
|
5
|
-
const
|
|
6
|
-
const MongoCacheService_1 = require("../Service/MongoCacheService");
|
|
5
|
+
const global_1 = require("../global");
|
|
7
6
|
/**
|
|
8
7
|
* 异步函数变为同步函数
|
|
9
8
|
* 服务器间的异步,效率低
|
|
@@ -15,24 +14,24 @@ function SyncCallServer(target, propertyName, descriptor) {
|
|
|
15
14
|
descriptor.value = async () => {
|
|
16
15
|
let key = "sync_" + method.name;
|
|
17
16
|
let func = async () => {
|
|
18
|
-
let item = await
|
|
17
|
+
let item = await global_1.global.gMongoCacheSer.getData(key);
|
|
19
18
|
let ret = null;
|
|
20
19
|
while (item) {
|
|
21
20
|
await Core_1.core.sleep(200);
|
|
22
|
-
item = await
|
|
21
|
+
item = await global_1.global.gMongoCacheSer.getData(key);
|
|
23
22
|
}
|
|
24
23
|
//10秒后过期,避免卡死
|
|
25
|
-
let mcm = await
|
|
24
|
+
let mcm = await global_1.global.gMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
|
|
26
25
|
if (!mcm) {
|
|
27
26
|
await func();
|
|
28
27
|
}
|
|
29
28
|
return;
|
|
30
29
|
};
|
|
31
30
|
await func();
|
|
32
|
-
let ret =
|
|
31
|
+
let ret = global_1.global.gSyncQueueTool.add(method.name, async () => {
|
|
33
32
|
return await method.apply(self, arguments);
|
|
34
33
|
});
|
|
35
|
-
await
|
|
34
|
+
await global_1.global.gMongoCacheSer.deleteOne({ key });
|
|
36
35
|
return ret;
|
|
37
36
|
};
|
|
38
37
|
}
|
|
@@ -52,24 +51,24 @@ let SyncCallServer2 = function (params_index) {
|
|
|
52
51
|
key = key + "_" + arguments[params_index];
|
|
53
52
|
}
|
|
54
53
|
let func = async () => {
|
|
55
|
-
let item = await
|
|
54
|
+
let item = await global_1.global.gMongoCacheSer.getData(key);
|
|
56
55
|
let ret = null;
|
|
57
56
|
while (item) {
|
|
58
57
|
await Core_1.core.sleep(200);
|
|
59
|
-
item = await
|
|
58
|
+
item = await global_1.global.gMongoCacheSer.getData(key);
|
|
60
59
|
}
|
|
61
60
|
//10秒后过期,避免卡死
|
|
62
|
-
let mcm = await
|
|
61
|
+
let mcm = await global_1.global.gMongoCacheSer.addData(key, true, Date.now() + 10 * 1000);
|
|
63
62
|
if (!mcm) {
|
|
64
63
|
await func();
|
|
65
64
|
}
|
|
66
65
|
return;
|
|
67
66
|
};
|
|
68
67
|
await func();
|
|
69
|
-
let ret =
|
|
68
|
+
let ret = global_1.global.gSyncQueueTool.add(method.name, async () => {
|
|
70
69
|
return await method.apply(self, arguments);
|
|
71
70
|
});
|
|
72
|
-
await
|
|
71
|
+
await global_1.global.gMongoCacheSer.deleteOne({ key });
|
|
73
72
|
return ret;
|
|
74
73
|
};
|
|
75
74
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.CacheTool = void 0;
|
|
4
4
|
const _ = require("underscore");
|
|
5
|
-
exports.GCacheTool = null;
|
|
6
5
|
class CacheItem {
|
|
7
6
|
key = "";
|
|
8
7
|
value = null;
|
|
@@ -70,4 +69,4 @@ class CacheTool {
|
|
|
70
69
|
delete this._items[key];
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
|
-
exports.
|
|
72
|
+
exports.CacheTool = CacheTool;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EventTool = void 0;
|
|
4
4
|
const EventEmitter = require("events");
|
|
5
5
|
class EventTool {
|
|
6
6
|
_event_emitter = new EventEmitter();
|
|
@@ -24,4 +24,4 @@ class EventTool {
|
|
|
24
24
|
return count;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
exports.
|
|
27
|
+
exports.EventTool = EventTool;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HttpTool = void 0;
|
|
4
4
|
const request = require("request");
|
|
5
5
|
const qs = require("querystring");
|
|
6
|
-
const Log_1 = require("./Log");
|
|
7
6
|
const Core_1 = require("../Core/Core");
|
|
8
|
-
|
|
7
|
+
const global_1 = require("../global");
|
|
9
8
|
class HttpTool {
|
|
10
9
|
_debug = false;
|
|
11
10
|
get debug() {
|
|
@@ -24,14 +23,14 @@ class HttpTool {
|
|
|
24
23
|
options = options_url;
|
|
25
24
|
}
|
|
26
25
|
if (this._debug) {
|
|
27
|
-
|
|
26
|
+
global_1.global.gLog.info("prepare get:" + options.url);
|
|
28
27
|
}
|
|
29
28
|
return new Promise((resolve, reject) => {
|
|
30
29
|
request.get(options, (error, response, body) => {
|
|
31
30
|
let originbody = body;
|
|
32
31
|
if (error) {
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
global_1.global.gLog.error("get:" + options.url);
|
|
33
|
+
global_1.global.gLog.error(error);
|
|
35
34
|
}
|
|
36
35
|
try {
|
|
37
36
|
if (Core_1.core.isString(body)) {
|
|
@@ -47,7 +46,7 @@ class HttpTool {
|
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
if (this._debug) {
|
|
50
|
-
|
|
49
|
+
global_1.global.gLog.info({
|
|
51
50
|
dttime: (Date.now() - time) + "ms",
|
|
52
51
|
url: options.url,
|
|
53
52
|
originbody: originbody
|
|
@@ -67,14 +66,14 @@ class HttpTool {
|
|
|
67
66
|
options = options_url;
|
|
68
67
|
}
|
|
69
68
|
if (this._debug) {
|
|
70
|
-
|
|
69
|
+
global_1.global.gLog.info("prepare post:" + options.url);
|
|
71
70
|
}
|
|
72
71
|
return new Promise((resolve, reject) => {
|
|
73
72
|
request.post(options, (error, response, body) => {
|
|
74
73
|
let originbody = body;
|
|
75
74
|
if (error) {
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
global_1.global.gLog.error("post:" + options.url);
|
|
76
|
+
global_1.global.gLog.error(error);
|
|
78
77
|
}
|
|
79
78
|
try {
|
|
80
79
|
if (Core_1.core.isString(body)) {
|
|
@@ -90,7 +89,7 @@ class HttpTool {
|
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
91
|
if (this._debug) {
|
|
93
|
-
|
|
92
|
+
global_1.global.gLog.info({
|
|
94
93
|
dttime: (Date.now() - time) + "ms",
|
|
95
94
|
url: options.url,
|
|
96
95
|
originbody: originbody
|
|
@@ -101,4 +100,4 @@ class HttpTool {
|
|
|
101
100
|
});
|
|
102
101
|
}
|
|
103
102
|
}
|
|
104
|
-
exports.
|
|
103
|
+
exports.HttpTool = HttpTool;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Log = void 0;
|
|
4
4
|
const colors = require("colors");
|
|
5
5
|
const log4js = require("log4js");
|
|
6
6
|
/**
|
|
@@ -18,7 +18,6 @@ colors.setTheme({
|
|
|
18
18
|
debug: 'magenta',
|
|
19
19
|
error: 'red'
|
|
20
20
|
});
|
|
21
|
-
exports.GLog = null;
|
|
22
21
|
class Log {
|
|
23
22
|
//default log
|
|
24
23
|
_logger = null;
|
|
@@ -138,4 +137,4 @@ class Log {
|
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
}
|
|
141
|
-
exports.
|
|
140
|
+
exports.Log = Log;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SyncQueueTool = void 0;
|
|
4
4
|
const Core_1 = require("../Core/Core");
|
|
5
5
|
class SyncQueueItem {
|
|
6
6
|
key = "";
|
|
@@ -40,4 +40,4 @@ class SyncQueueTool {
|
|
|
40
40
|
return error;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
exports.
|
|
43
|
+
exports.SyncQueueTool = SyncQueueTool;
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MongoAccountService = exports.MongoAccountModel = void 0;
|
|
4
4
|
const _error_1 = require("../Config/_error_");
|
|
5
|
-
const MongoBaseService_1 = require("../Database/MongoBaseService");
|
|
6
|
-
const MongoManager_1 = require("../Database/MongoManager");
|
|
7
|
-
const
|
|
8
|
-
const QQTool_1 = require("../ThirdParty/QQTool");
|
|
9
|
-
const WechatTool_1 = require("../ThirdParty/WechatTool");
|
|
5
|
+
const MongoBaseService_1 = require("../Database/Mongo/MongoBaseService");
|
|
6
|
+
const MongoManager_1 = require("../Database/Mongo/MongoManager");
|
|
7
|
+
const global_1 = require("../global");
|
|
10
8
|
const ini_1 = require("./ini");
|
|
11
9
|
const MongoUserService_1 = require("./MongoUserService");
|
|
12
10
|
class MongoAccountModel extends MongoManager_1.MongoBaseModel {
|
|
@@ -149,7 +147,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
149
147
|
return rs;
|
|
150
148
|
}
|
|
151
149
|
if (force_user) {
|
|
152
|
-
let user = await MongoUserService_1.
|
|
150
|
+
let user = await MongoUserService_1.GMongoUserSer.getByAccountId(account.id);
|
|
153
151
|
if (!user) {
|
|
154
152
|
switch (from) {
|
|
155
153
|
case ini_1.EAccountFrom.QQ:
|
|
@@ -159,7 +157,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
159
157
|
{
|
|
160
158
|
if (!extra_info) {
|
|
161
159
|
if (from == ini_1.EAccountFrom.QQ) {
|
|
162
|
-
let userInfo = await
|
|
160
|
+
let userInfo = await global_1.global.gQQTool.getUserInfo(access_token, openid);
|
|
163
161
|
if (!userInfo) {
|
|
164
162
|
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
165
163
|
return rs;
|
|
@@ -172,7 +170,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
172
170
|
};
|
|
173
171
|
}
|
|
174
172
|
else if (from == ini_1.EAccountFrom.WeChat) {
|
|
175
|
-
let userInfo = await
|
|
173
|
+
let userInfo = await global_1.global.gWechatOATool.getUserInfo(access_token, openid);
|
|
176
174
|
if (userInfo.errcode) {
|
|
177
175
|
rs.errcode = _error_1.EErrorCode.Server_Error;
|
|
178
176
|
return rs;
|
|
@@ -193,7 +191,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
193
191
|
};
|
|
194
192
|
}
|
|
195
193
|
}
|
|
196
|
-
let user = await MongoUserService_1.
|
|
194
|
+
let user = await MongoUserService_1.GMongoUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
197
195
|
if (!user) {
|
|
198
196
|
this.deleteOne({ id: account.id });
|
|
199
197
|
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|
|
@@ -206,10 +204,10 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
206
204
|
{
|
|
207
205
|
let user = null;
|
|
208
206
|
if (extra_info) {
|
|
209
|
-
user = await MongoUserService_1.
|
|
207
|
+
user = await MongoUserService_1.GMongoUserSer.add(account.id, extra_info.nickname, extra_info.sex, extra_info.logo);
|
|
210
208
|
}
|
|
211
209
|
else {
|
|
212
|
-
user = await MongoUserService_1.
|
|
210
|
+
user = await MongoUserService_1.GMongoUserSer.add(account.id, null, null, null);
|
|
213
211
|
}
|
|
214
212
|
if (!user) {
|
|
215
213
|
this.deleteOne({ id: account.id });
|
|
@@ -245,7 +243,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
245
243
|
}
|
|
246
244
|
else if (from == ini_1.EAccountFrom.QuickPhone) {
|
|
247
245
|
let key = "phone_code_" + unionid;
|
|
248
|
-
let code =
|
|
246
|
+
let code = global_1.global.gCacheTool.get(key);
|
|
249
247
|
if (!code || code != openid) {
|
|
250
248
|
rs.errcode = _error_1.EErrorCode.Wrong_Phone_Code;
|
|
251
249
|
return rs;
|
|
@@ -253,19 +251,19 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
253
251
|
rs.account = await this.getByPhone(unionid);
|
|
254
252
|
}
|
|
255
253
|
else if (from == ini_1.EAccountFrom.Phone) {
|
|
256
|
-
rs.account = await this.get(
|
|
254
|
+
rs.account = await this.get({ phone: unionid, password: openid });
|
|
257
255
|
if (!rs.account) {
|
|
258
256
|
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
259
257
|
}
|
|
260
258
|
}
|
|
261
259
|
else if (from == ini_1.EAccountFrom.Email) {
|
|
262
|
-
rs.account = await this.get(
|
|
260
|
+
rs.account = await this.get({ email: unionid, password: openid });
|
|
263
261
|
if (!rs.account) {
|
|
264
262
|
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
265
263
|
}
|
|
266
264
|
}
|
|
267
265
|
else if (from == ini_1.EAccountFrom.Name || from == ini_1.EAccountFrom.Guest) {
|
|
268
|
-
rs.account = await this.get(
|
|
266
|
+
rs.account = await this.get({ name: unionid, password: openid });
|
|
269
267
|
if (!rs.account && from == ini_1.EAccountFrom.Name) {
|
|
270
268
|
rs.errcode = _error_1.EErrorCode.Login_Failed;
|
|
271
269
|
}
|
|
@@ -280,7 +278,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
280
278
|
case ini_1.EAccountFrom.Phone:
|
|
281
279
|
{
|
|
282
280
|
am.phone = key;
|
|
283
|
-
let temp = await this.get({
|
|
281
|
+
let temp = await this.get({ phone: key }, { id: 1 });
|
|
284
282
|
if (temp) {
|
|
285
283
|
rs.errcode = _error_1.EErrorCode.Account_Phone_Exist;
|
|
286
284
|
return rs;
|
|
@@ -290,7 +288,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
290
288
|
case ini_1.EAccountFrom.Email:
|
|
291
289
|
{
|
|
292
290
|
am.email = key;
|
|
293
|
-
let temp = await this.get({
|
|
291
|
+
let temp = await this.get({ email: key }, { id: 1 });
|
|
294
292
|
if (temp) {
|
|
295
293
|
rs.errcode = _error_1.EErrorCode.Account_Email_Exist;
|
|
296
294
|
return rs;
|
|
@@ -300,7 +298,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
300
298
|
case ini_1.EAccountFrom.Name:
|
|
301
299
|
{
|
|
302
300
|
am.name = key;
|
|
303
|
-
let temp = await this.get({
|
|
301
|
+
let temp = await this.get({ name: key }, { id: 1 });
|
|
304
302
|
if (temp) {
|
|
305
303
|
rs.errcode = _error_1.EErrorCode.Account_Name_Exist;
|
|
306
304
|
return rs;
|
|
@@ -324,7 +322,7 @@ class MongoAccountService extends MongoBaseService_1.MongoBaseService {
|
|
|
324
322
|
rs.errcode = _error_1.EErrorCode.Mysql_Error;
|
|
325
323
|
return rs;
|
|
326
324
|
}
|
|
327
|
-
let user = await MongoUserService_1.
|
|
325
|
+
let user = await MongoUserService_1.GMongoUserSer.add(am.id, extra.nickname, extra.sex, extra.logo);
|
|
328
326
|
if (!user) {
|
|
329
327
|
this.deleteOne({ id: am.id });
|
|
330
328
|
rs.errcode = _error_1.EErrorCode.User_Create_Failed;
|