cgserver 10.0.0 → 10.0.2

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 (82) hide show
  1. package/dist/lib/Framework/AI/BehaviorAI.js +6 -6
  2. package/dist/lib/Framework/AI/TriggerMgr.js +7 -6
  3. package/dist/lib/Framework/Config/FrameworkConfig.js +2 -2
  4. package/dist/lib/Framework/Config/IServerConfig.js +3 -3
  5. package/dist/lib/Framework/Core/Core.js +7 -5
  6. package/dist/lib/Framework/Core/Timer.js +5 -5
  7. package/dist/lib/Framework/Database/Decorator/DBCache.js +5 -4
  8. package/dist/lib/Framework/Database/MSSqlManager.js +4 -3
  9. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +3 -3
  10. package/dist/lib/Framework/Database/Mongo/MongoManager.js +30 -29
  11. package/dist/lib/Framework/Database/MysqlBaseService.js +26 -24
  12. package/dist/lib/Framework/Database/MysqlManager.js +8 -6
  13. package/dist/lib/Framework/Database/RedisManager.js +6 -5
  14. package/dist/lib/Framework/Decorator/SyncCall.js +3 -3
  15. package/dist/lib/Framework/Decorator/SyncCallServer.js +12 -11
  16. package/dist/lib/Framework/Logic/CacheTool.js +2 -1
  17. package/dist/lib/Framework/Logic/EventTool.js +2 -1
  18. package/dist/lib/Framework/Logic/HttpTool.js +11 -10
  19. package/dist/lib/Framework/Logic/Log.js +2 -1
  20. package/dist/lib/Framework/Logic/SyncQueueTool.js +2 -1
  21. package/dist/lib/Framework/Service/MongoAccountService.js +6 -4
  22. package/dist/lib/Framework/Service/MongoCacheService.js +8 -2
  23. package/dist/lib/Framework/Service/MysqlAccountService.js +6 -4
  24. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +4 -4
  25. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +7 -6
  26. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +7 -6
  27. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +3 -3
  28. package/dist/lib/Framework/SocketServer/ISocketServer.js +21 -18
  29. package/dist/lib/Framework/SocketServer/IWebSocket.js +14 -12
  30. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +4 -4
  31. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +2 -2
  32. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +2 -1
  33. package/dist/lib/Framework/ThirdParty/AlipayTool.js +16 -15
  34. package/dist/lib/Framework/ThirdParty/Alisms.js +9 -8
  35. package/dist/lib/Framework/ThirdParty/AppleTool.js +14 -12
  36. package/dist/lib/Framework/ThirdParty/CgMq.js +3 -3
  37. package/dist/lib/Framework/ThirdParty/EmailTool.js +11 -10
  38. package/dist/lib/Framework/ThirdParty/QQTool.js +22 -19
  39. package/dist/lib/Framework/ThirdParty/QiniuTool.js +8 -7
  40. package/dist/lib/Framework/ThirdParty/Rpc.js +2 -2
  41. package/dist/lib/Framework/ThirdParty/WechatTool.js +15 -12
  42. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +13 -12
  43. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +13 -12
  44. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +5 -1
  45. package/dist/lib/Framework/WebServer/Engine/Engine.js +18 -17
  46. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +2 -2
  47. package/dist/lib/Framework/WebServer/Engine/Request.js +3 -3
  48. package/dist/lib/Framework/WebServer/Engine/Response.js +2 -2
  49. package/dist/lib/Framework/WebServer/IWebServer.js +9 -6
  50. package/dist/lib/Framework/cgserver.js +15 -9
  51. package/dist/lib/Framework/global.js +17 -1
  52. package/dist/types/Framework/AI/TriggerMgr.d.ts +1 -0
  53. package/dist/types/Framework/Config/IServerConfig.d.ts +1 -0
  54. package/dist/types/Framework/Core/Core.d.ts +3 -1
  55. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +1 -0
  56. package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -0
  57. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +1 -0
  58. package/dist/types/Framework/Database/MysqlManager.d.ts +1 -0
  59. package/dist/types/Framework/Database/RedisManager.d.ts +1 -0
  60. package/dist/types/Framework/Logic/CacheTool.d.ts +1 -0
  61. package/dist/types/Framework/Logic/EventTool.d.ts +1 -0
  62. package/dist/types/Framework/Logic/HttpTool.d.ts +1 -0
  63. package/dist/types/Framework/Logic/Log.d.ts +1 -0
  64. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -0
  65. package/dist/types/Framework/Service/MongoCacheService.d.ts +5 -0
  66. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -0
  67. package/dist/types/Framework/ThirdParty/QQTool.d.ts +1 -0
  68. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +1 -0
  69. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +4 -0
  70. package/dist/types/Framework/cgserver.d.ts +1 -0
  71. package/dist/types/Framework/global.d.ts +17 -2
  72. package/package.json +1 -1
  73. package/dist/lib/Framework/Database/MongoBaseService.js +0 -128
  74. package/dist/lib/Framework/Database/MongoManager.js +0 -508
  75. package/dist/lib/Framework/Database/MongoServiceManager.js +0 -49
  76. package/dist/lib/Framework/ThirdParty/OpenSocial.js +0 -32
  77. package/dist/lib/Framework/ThirdParty/WechatOATool.js +0 -61
  78. package/dist/types/Framework/Database/MongoBaseService.d.ts +0 -85
  79. package/dist/types/Framework/Database/MongoManager.d.ts +0 -166
  80. package/dist/types/Framework/Database/MongoServiceManager.d.ts +0 -15
  81. package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +0 -7
  82. package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +0 -13
@@ -2,22 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QiniuTool = void 0;
4
4
  const qiniu = require("qiniu");
5
- const global_1 = require("../global");
5
+ const IServerConfig_1 = require("../Config/IServerConfig");
6
+ const Log_1 = require("../Logic/Log");
6
7
  class QiniuTool {
7
8
  get host() {
8
- if (!global_1.global.gServerCfg.qiniu) {
9
+ if (!IServerConfig_1.gServerCfg.qiniu) {
9
10
  return "";
10
11
  }
11
- return global_1.global.gServerCfg.qiniu.host;
12
+ return IServerConfig_1.gServerCfg.qiniu.host;
12
13
  }
13
14
  getUploadToken(filename) {
14
- if (!global_1.global.gServerCfg.qiniu) {
15
- global_1.global.gLog.error("qiniu config not found!");
15
+ if (!IServerConfig_1.gServerCfg.qiniu) {
16
+ Log_1.gLog.error("qiniu config not found!");
16
17
  return "";
17
18
  }
18
- let mac = new qiniu.auth.digest.Mac(global_1.global.gServerCfg.qiniu.accessKey, global_1.global.gServerCfg.qiniu.secretKey);
19
+ let mac = new qiniu.auth.digest.Mac(IServerConfig_1.gServerCfg.qiniu.accessKey, IServerConfig_1.gServerCfg.qiniu.secretKey);
19
20
  let options = {
20
- scope: global_1.global.gServerCfg.qiniu.bucket + ":" + filename,
21
+ scope: IServerConfig_1.gServerCfg.qiniu.bucket + ":" + filename,
21
22
  };
22
23
  let putPolicy = new qiniu.rs.PutPolicy(options);
23
24
  let uploadToken = putPolicy.uploadToken(mac);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Rpc = void 0;
4
4
  const Core_1 = require("../Core/Core");
5
- const global_1 = require("../global");
5
+ const Log_1 = require("../Logic/Log");
6
6
  const CgMq_1 = require("./CgMq");
7
7
  class Remote {
8
8
  _retmsg = null;
@@ -50,7 +50,7 @@ class Rpc {
50
50
  let cmd = msg.data.cmd;
51
51
  let func = this[cmd];
52
52
  if (!func) {
53
- global_1.global.gLog.error({ des: "rpc no cmd", msg });
53
+ Log_1.gLog.error({ des: "rpc no cmd", msg });
54
54
  return;
55
55
  }
56
56
  let data = await Core_1.core.safeCall(func, this, ...msg.data?.args, msg);
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WechatTool = exports.WechatUserInfo = exports.WechatOAMsg = void 0;
3
+ exports.gWechatTool = exports.WechatTool = exports.WechatUserInfo = exports.WechatOAMsg = void 0;
4
4
  const _ = require("underscore");
5
5
  const URLEncode = require("urlencode");
6
- const global_1 = require("../global");
6
+ const IServerConfig_1 = require("../Config/IServerConfig");
7
+ const Log_1 = require("../Logic/Log");
8
+ const HttpTool_1 = require("../Logic/HttpTool");
7
9
  class WechatOAMsg {
8
10
  // <xml>
9
11
  // <ToUserName><![CDATA[toUser]]></ToUserName>
@@ -41,12 +43,12 @@ class WechatTool {
41
43
  * 获取获取code的url
42
44
  */
43
45
  getAuthCodeUrl() {
44
- if (!global_1.global.gServerCfg.wechat) {
45
- global_1.global.gLog.error("wechat config not found!");
46
+ if (!IServerConfig_1.gServerCfg.wechat) {
47
+ Log_1.gLog.error("wechat config not found!");
46
48
  return null;
47
49
  }
48
- let url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + global_1.global.gServerCfg.wechat.app_id;
49
- url += "&redirect_uri=" + URLEncode.encode(global_1.global.gServerCfg.wechat.redirect_uri);
50
+ let url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + IServerConfig_1.gServerCfg.wechat.app_id;
51
+ url += "&redirect_uri=" + URLEncode.encode(IServerConfig_1.gServerCfg.wechat.redirect_uri);
50
52
  url += "&response_type=code&scope=snsapi_login";
51
53
  //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
52
54
  let state = _.random(1000000, 9999999);
@@ -57,12 +59,12 @@ class WechatTool {
57
59
  if (!auth_code) {
58
60
  return null;
59
61
  }
60
- if (!global_1.global.gServerCfg.wechat) {
61
- global_1.global.gLog.error("wechat config not found!");
62
+ if (!IServerConfig_1.gServerCfg.wechat) {
63
+ Log_1.gLog.error("wechat config not found!");
62
64
  return null;
63
65
  }
64
- let url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + global_1.global.gServerCfg.wechat.app_id + "&secret=" + global_1.global.gServerCfg.wechat.app_key + "&code=" + auth_code + "&grant_type=authorization_code";
65
- let rs = await global_1.global.gHttpTool.get(url);
66
+ let url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + IServerConfig_1.gServerCfg.wechat.app_id + "&secret=" + IServerConfig_1.gServerCfg.wechat.app_key + "&code=" + auth_code + "&grant_type=authorization_code";
67
+ let rs = await HttpTool_1.gHttpTool.get(url);
66
68
  /*
67
69
  {
68
70
  "access_token":"ACCESS_TOKEN",
@@ -78,13 +80,13 @@ class WechatTool {
78
80
  return rs.body;
79
81
  }
80
82
  else {
81
- global_1.global.gLog.error(rs.body);
83
+ Log_1.gLog.error(rs.body);
82
84
  }
83
85
  return null;
84
86
  }
85
87
  async getUserInfo(access_token, openid) {
86
88
  let url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid;
87
- let rs = await global_1.global.gHttpTool.get(url);
89
+ let rs = await HttpTool_1.gHttpTool.get(url);
88
90
  if (rs.body) {
89
91
  return rs.body;
90
92
  }
@@ -129,3 +131,4 @@ class WechatTool {
129
131
  }
130
132
  }
131
133
  exports.WechatTool = WechatTool;
134
+ exports.gWechatTool = new WechatTool();
@@ -6,7 +6,8 @@ const FrameworkConfig_1 = require("../../Config/FrameworkConfig");
6
6
  const MongoCacheService_1 = require("../../Service/MongoCacheService");
7
7
  const ini_1 = require("../../Service/ini");
8
8
  const MongoUserService_1 = require("../../Service/MongoUserService");
9
- const global_1 = require("../../global");
9
+ const CacheTool_1 = require("../../Logic/CacheTool");
10
+ const RedisManager_1 = require("../../Database/RedisManager");
10
11
  class MongoBaseUserController extends BaseController_1.BaseController {
11
12
  _user_session_id = "user_session_id";
12
13
  _self_user = null;
@@ -66,19 +67,19 @@ class MongoBaseUserController extends BaseController_1.BaseController {
66
67
  //每次强制从cache中先找,提高效率
67
68
  //if(this._engine.cfg.session_type==ESessionType.Cache)
68
69
  {
69
- user = global_1.global.gCacheTool.get(this._session_id);
70
+ user = CacheTool_1.gCacheTool.get(this._session_id);
70
71
  }
71
72
  if (user) {
72
73
  return user;
73
74
  }
74
75
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
75
- let user_id = parseInt((await global_1.global.gRedisMgr.redis.get(this._session_id)) || "-1");
76
+ let user_id = parseInt((await RedisManager_1.gRedisMgr.redis.get(this._session_id)) || "-1");
76
77
  if (user_id > 0) {
77
78
  user = (await MongoUserService_1.GMongoUserSer.getById(user_id));
78
79
  }
79
80
  }
80
81
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
81
- let user_id = (await global_1.global.gMongoCacheSer.getData(this._session_id)) || -1;
82
+ let user_id = (await MongoCacheService_1.gMongoCacheSer.getData(this._session_id)) || -1;
82
83
  if (user_id > 0) {
83
84
  user = (await MongoUserService_1.GMongoUserSer.getById(user_id));
84
85
  }
@@ -91,13 +92,13 @@ class MongoBaseUserController extends BaseController_1.BaseController {
91
92
  _logout() {
92
93
  if (this._session_id) {
93
94
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Cache) {
94
- global_1.global.gCacheTool.remove(this._session_id);
95
+ CacheTool_1.gCacheTool.remove(this._session_id);
95
96
  }
96
97
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
97
- global_1.global.gRedisMgr.redis.del(this._session_id);
98
+ RedisManager_1.gRedisMgr.redis.del(this._session_id);
98
99
  }
99
100
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
100
- global_1.global.gMongoCacheSer.deleteOne({ key: this._session_id });
101
+ MongoCacheService_1.gMongoCacheSer.deleteOne({ key: this._session_id });
101
102
  }
102
103
  this._session_id = null;
103
104
  }
@@ -121,15 +122,15 @@ class MongoBaseUserController extends BaseController_1.BaseController {
121
122
  //if(this._engine.cfg.session_type==ESessionType.Cache)
122
123
  {
123
124
  if (time > 24 * 60 * 60) {
124
- global_1.global.gCacheTool.add(this._session_id, user, 24 * 60 * 60 * 1000);
125
+ CacheTool_1.gCacheTool.add(this._session_id, user, 24 * 60 * 60 * 1000);
125
126
  }
126
127
  else {
127
- global_1.global.gCacheTool.add(this._session_id, user, time * 1000);
128
+ CacheTool_1.gCacheTool.add(this._session_id, user, time * 1000);
128
129
  }
129
130
  }
130
131
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
131
- global_1.global.gRedisMgr.redis.set(this._session_id, user.id).then(() => {
132
- global_1.global.gRedisMgr.redis.expire(this._session_id, time);
132
+ RedisManager_1.gRedisMgr.redis.set(this._session_id, user.id).then(() => {
133
+ RedisManager_1.gRedisMgr.redis.expire(this._session_id, time);
133
134
  });
134
135
  }
135
136
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
@@ -137,7 +138,7 @@ class MongoBaseUserController extends BaseController_1.BaseController {
137
138
  cm.key = this._session_id;
138
139
  cm.data = user.id;
139
140
  cm.expireAt = Date.now() + time * 1000;
140
- global_1.global.gMongoCacheSer.updateOne(cm, { key: cm.key }, true);
141
+ MongoCacheService_1.gMongoCacheSer.updateOne(cm, { key: cm.key }, true);
141
142
  }
142
143
  this._self_user = user;
143
144
  }
@@ -6,7 +6,8 @@ const MysqlUserService_1 = require("../../Service/MysqlUserService");
6
6
  const FrameworkConfig_1 = require("../../Config/FrameworkConfig");
7
7
  const MongoCacheService_1 = require("../../Service/MongoCacheService");
8
8
  const ini_1 = require("../../Service/ini");
9
- const global_1 = require("../../global");
9
+ const CacheTool_1 = require("../../Logic/CacheTool");
10
+ const RedisManager_1 = require("../../Database/RedisManager");
10
11
  class MysqlBaseUserController extends BaseController_1.BaseController {
11
12
  _user_session_id = "user_session_id";
12
13
  _self_user = null;
@@ -66,19 +67,19 @@ class MysqlBaseUserController extends BaseController_1.BaseController {
66
67
  //每次强制从cache中先找,提高效率
67
68
  //if(this._engine.cfg.session_type==ESessionType.Cache)
68
69
  {
69
- user = global_1.global.gCacheTool.get(this._session_id);
70
+ user = CacheTool_1.gCacheTool.get(this._session_id);
70
71
  }
71
72
  if (user) {
72
73
  return user;
73
74
  }
74
75
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
75
- let user_id = parseInt((await global_1.global.gRedisMgr.redis.get(this._session_id)) || "-1");
76
+ let user_id = parseInt((await RedisManager_1.gRedisMgr.redis.get(this._session_id)) || "-1");
76
77
  if (user_id > 0) {
77
78
  user = (await MysqlUserService_1.GUserSer.getById(user_id));
78
79
  }
79
80
  }
80
81
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
81
- let user_id = (await global_1.global.gMongoCacheSer.getData(this._session_id)) || -1;
82
+ let user_id = (await MongoCacheService_1.gMongoCacheSer.getData(this._session_id)) || -1;
82
83
  if (user_id > 0) {
83
84
  user = (await MysqlUserService_1.GUserSer.getById(user_id));
84
85
  }
@@ -91,13 +92,13 @@ class MysqlBaseUserController extends BaseController_1.BaseController {
91
92
  _logout() {
92
93
  if (this._session_id) {
93
94
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Cache) {
94
- global_1.global.gCacheTool.remove(this._session_id);
95
+ CacheTool_1.gCacheTool.remove(this._session_id);
95
96
  }
96
97
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
97
- global_1.global.gRedisMgr.redis.del(this._session_id);
98
+ RedisManager_1.gRedisMgr.redis.del(this._session_id);
98
99
  }
99
100
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
100
- global_1.global.gMongoCacheSer.deleteOne({ key: this._session_id });
101
+ MongoCacheService_1.gMongoCacheSer.deleteOne({ key: this._session_id });
101
102
  }
102
103
  this._session_id = null;
103
104
  }
@@ -121,15 +122,15 @@ class MysqlBaseUserController extends BaseController_1.BaseController {
121
122
  //if(this._engine.cfg.session_type==ESessionType.Cache)
122
123
  {
123
124
  if (time > 24 * 60 * 60) {
124
- global_1.global.gCacheTool.add(this._session_id, user, 24 * 60 * 60 * 1000);
125
+ CacheTool_1.gCacheTool.add(this._session_id, user, 24 * 60 * 60 * 1000);
125
126
  }
126
127
  else {
127
- global_1.global.gCacheTool.add(this._session_id, user, time * 1000);
128
+ CacheTool_1.gCacheTool.add(this._session_id, user, time * 1000);
128
129
  }
129
130
  }
130
131
  if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Redis) {
131
- global_1.global.gRedisMgr.redis.set(this._session_id, user.id).then(() => {
132
- global_1.global.gRedisMgr.redis.expire(this._session_id, time);
132
+ RedisManager_1.gRedisMgr.redis.set(this._session_id, user.id).then(() => {
133
+ RedisManager_1.gRedisMgr.redis.expire(this._session_id, time);
133
134
  });
134
135
  }
135
136
  else if (this._engine.cfg.session_type == FrameworkConfig_1.ESessionType.Mongo) {
@@ -137,7 +138,7 @@ class MysqlBaseUserController extends BaseController_1.BaseController {
137
138
  cm.key = this._session_id;
138
139
  cm.data = user.id;
139
140
  cm.expireAt = Date.now() + time * 1000;
140
- global_1.global.gMongoCacheSer.updateOne(cm, { key: cm.key }, true);
141
+ MongoCacheService_1.gMongoCacheSer.updateOne(cm, { key: cm.key }, true);
141
142
  }
142
143
  this._self_user = user;
143
144
  }
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ControllerManager = void 0;
3
+ exports.gCtrMgr = exports.ControllerManager = void 0;
4
+ /**
5
+ * web服务中mvc的控制器管理器
6
+ */
4
7
  class ControllerManager {
5
8
  _static_ctr = {};
6
9
  _ctr_cls = {};
@@ -109,3 +112,4 @@ class ControllerManager {
109
112
  }
110
113
  }
111
114
  exports.ControllerManager = ControllerManager;
115
+ exports.gCtrMgr = new ControllerManager();
@@ -9,7 +9,8 @@ const cors = require("cors");
9
9
  const Express = require("express");
10
10
  const cookieParser = require("cookie-parser");
11
11
  const Config_1 = require("../../Config/Config");
12
- const global_1 = require("../../global");
12
+ const Log_1 = require("../../Logic/Log");
13
+ const ControllerManager_1 = require("./ControllerManager");
13
14
  class Engine {
14
15
  _app = Express();
15
16
  _cfg = null;
@@ -33,7 +34,7 @@ class Engine {
33
34
  //let https = require("https");
34
35
  let fs = require("fs");
35
36
  if (!port) {
36
- global_1.global.gLog.error(this._cfg);
37
+ Log_1.gLog.error(this._cfg);
37
38
  return;
38
39
  }
39
40
  if (this._cfg.ssl) {
@@ -43,13 +44,13 @@ class Engine {
43
44
  };
44
45
  https.createServer(httpsOption, this._app).listen(port, () => {
45
46
  this._is_running = true;
46
- global_1.global.gLog.info("Server(" + this._cfg.web_name + ") running at https://127.0.0.1:" + port + "/");
47
+ Log_1.gLog.info("Server(" + this._cfg.web_name + ") running at https://127.0.0.1:" + port + "/");
47
48
  });
48
49
  }
49
50
  else {
50
51
  http.createServer(this._app).listen(port, () => {
51
52
  this._is_running = true;
52
- global_1.global.gLog.info("Server(" + this._cfg.web_name + ") running at http://127.0.0.1:" + port + "/");
53
+ Log_1.gLog.info("Server(" + this._cfg.web_name + ") running at http://127.0.0.1:" + port + "/");
53
54
  });
54
55
  }
55
56
  this._app.use(cookieParser());
@@ -62,7 +63,7 @@ class Engine {
62
63
  }, }));
63
64
  this._app.use((err, req, res, next) => {
64
65
  if (err) {
65
- global_1.global.gLog.error(err);
66
+ Log_1.gLog.error(err);
66
67
  }
67
68
  next(err);
68
69
  });
@@ -96,15 +97,15 @@ class Engine {
96
97
  this._onall(req, res).then(() => {
97
98
  if (this._cfg.debug) {
98
99
  let time_str = (Date.now() - time) + "ms";
99
- global_1.global.gLog.info("[" + time_str + "] " + req.method + " " + req.url);
100
+ Log_1.gLog.info("[" + time_str + "] " + req.method + " " + req.url);
100
101
  }
101
102
  }).catch((err) => {
102
103
  res.sendStatus(500);
103
104
  let exreq = new Request_1.Request(req, this._cfg);
104
105
  let info = exreq.getDebugInfo();
105
106
  info["tip"] = "server error";
106
- global_1.global.gLog.error(info);
107
- global_1.global.gLog.error(err);
107
+ Log_1.gLog.error(info);
108
+ Log_1.gLog.error(err);
108
109
  });
109
110
  });
110
111
  }
@@ -141,15 +142,15 @@ class Engine {
141
142
  res.sendStatus(500);
142
143
  let info = req.getDebugInfo();
143
144
  info["tip"] = "not support method:" + method;
144
- global_1.global.gLog.error(info);
145
+ Log_1.gLog.error(info);
145
146
  return null;
146
147
  }
147
- let action_name = global_1.global.gCtrMgr.getActionName(req.module, req.controller, pre_action + req.action);
148
+ let action_name = ControllerManager_1.gCtrMgr.getActionName(req.module, req.controller, pre_action + req.action);
148
149
  if (!action_name) {
149
150
  res.sendStatus(500);
150
151
  let info = req.getDebugInfo();
151
152
  info["tip"] = "request has no action";
152
- global_1.global.gLog.error(info);
153
+ Log_1.gLog.error(info);
153
154
  return null;
154
155
  }
155
156
  return {
@@ -159,10 +160,10 @@ class Engine {
159
160
  };
160
161
  }
161
162
  async _callCtrAction(action_name, req, res) {
162
- let ctr = global_1.global.gCtrMgr.getStaticCtr(req.module, req.controller);
163
+ let ctr = ControllerManager_1.gCtrMgr.getStaticCtr(req.module, req.controller);
163
164
  let cls_ctr = null;
164
165
  if (!ctr) {
165
- cls_ctr = global_1.global.gCtrMgr.getClass(req.module, req.controller);
166
+ cls_ctr = ControllerManager_1.gCtrMgr.getClass(req.module, req.controller);
166
167
  }
167
168
  if (!ctr) {
168
169
  ctr = new cls_ctr(req, res, this);
@@ -175,19 +176,19 @@ class Engine {
175
176
  }
176
177
  pause() {
177
178
  if (!this._is_running) {
178
- global_1.global.gLog.error("webserver has paused:" + this._cfg.web_name);
179
+ Log_1.gLog.error("webserver has paused:" + this._cfg.web_name);
179
180
  return;
180
181
  }
181
182
  this._is_running = false;
182
- global_1.global.gLog.info("webserver paused:" + this._cfg.web_name);
183
+ Log_1.gLog.info("webserver paused:" + this._cfg.web_name);
183
184
  }
184
185
  resume() {
185
186
  if (this._is_running) {
186
- global_1.global.gLog.error("webserver is running:" + this._cfg.web_name);
187
+ Log_1.gLog.error("webserver is running:" + this._cfg.web_name);
187
188
  return;
188
189
  }
189
190
  this._is_running = true;
190
- global_1.global.gLog.info("webserver resumed:" + this._cfg.web_name);
191
+ Log_1.gLog.info("webserver resumed:" + this._cfg.web_name);
191
192
  }
192
193
  getRenderHtml(req, res, datas) {
193
194
  let rootview = this._cfg.rootview || "view";
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RazorJs = void 0;
4
- const global_1 = require("../../global");
4
+ const Log_1 = require("../../Logic/Log");
5
5
  var _suffix = ".cshtml";
6
6
  var _MATCH_HTML = /[&<>\'"]/g;
7
7
  var _ENCODE_HTML_RULES = {
@@ -190,7 +190,7 @@ class RazorJs {
190
190
  if (html) {
191
191
  return html;
192
192
  }
193
- global_1.global.gLog.error("no view:" + tmpl_path);
193
+ Log_1.gLog.error("no view:" + tmpl_path);
194
194
  return "Server Error(No View)";
195
195
  }
196
196
  data = data || {};
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Request = void 0;
4
4
  const url_1 = require("url");
5
5
  const Core_1 = require("../../Core/Core");
6
- const global_1 = require("../../global");
6
+ const Log_1 = require("../../Logic/Log");
7
7
  class Request {
8
8
  _req = null;
9
9
  get baseReq() {
@@ -73,7 +73,7 @@ class Request {
73
73
  body = JSON.parse(body);
74
74
  }
75
75
  catch (e) {
76
- global_1.global.gLog.error("post data--" + body + "--parse error");
76
+ Log_1.gLog.error("post data--" + body + "--parse error");
77
77
  body = {};
78
78
  }
79
79
  }
@@ -224,7 +224,7 @@ class Request {
224
224
  return;
225
225
  }
226
226
  let debuginfo = this.getDebugInfo();
227
- global_1.global.gLog.info(debuginfo);
227
+ Log_1.gLog.info(debuginfo);
228
228
  }
229
229
  }
230
230
  exports.Request = Request;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Response = void 0;
4
4
  const fs = require("fs");
5
5
  const mime = require("mime");
6
- const global_1 = require("../../global");
6
+ const Log_1 = require("../../Logic/Log");
7
7
  class Response {
8
8
  _res = null;
9
9
  _cookie_prefix = "";
@@ -79,7 +79,7 @@ class Response {
79
79
  if (!this._cfg.debug) {
80
80
  return;
81
81
  }
82
- global_1.global.gLog.info(data);
82
+ Log_1.gLog.info(data);
83
83
  }
84
84
  }
85
85
  exports.Response = Response;
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IWebServer = void 0;
4
4
  const Engine_1 = require("./Engine/Engine");
5
5
  const RazorJs_1 = require("./Engine/RazorJs");
6
- const global_1 = require("../global");
6
+ const IServerConfig_1 = require("../Config/IServerConfig");
7
+ const cgserver_1 = require("../cgserver");
8
+ const EventTool_1 = require("../Logic/EventTool");
9
+ const Log_1 = require("../Logic/Log");
7
10
  //实现对controller的手动注册
8
11
  class IWebServer {
9
12
  _engine = null;
@@ -12,19 +15,19 @@ class IWebServer {
12
15
  * @param server_index 这个是服务器的配置index
13
16
  */
14
17
  async start(cfg) {
15
- global_1.global.gCgServer.addWebServer(this);
18
+ cgserver_1.gCgServer.addWebServer(this);
16
19
  if (!cfg) {
17
- global_1.global.gLog.error("webserver 配置不存在,启动服务器失败");
20
+ Log_1.gLog.error("webserver 配置不存在,启动服务器失败");
18
21
  return false;
19
22
  }
20
- let dbcfg = global_1.global.gServerCfg.db;
21
- await global_1.global.gCgServer.initDb(dbcfg);
23
+ let dbcfg = IServerConfig_1.gServerCfg.db;
24
+ await cgserver_1.gCgServer.initDb(dbcfg);
22
25
  //初始化web引擎
23
26
  this._engine = new Engine_1.Engine(cfg, new RazorJs_1.RazorJs());
24
27
  this._engine.start();
25
28
  this._registerController();
26
29
  this._registerRouter();
27
- global_1.global.gEventTool.emit("web_server_init_done");
30
+ EventTool_1.gEventTool.emit("web_server_init_done");
28
31
  return true;
29
32
  }
30
33
  pause() {
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CgServer = void 0;
3
+ exports.gCgServer = exports.CgServer = void 0;
4
4
  const Core_1 = require("./Core/Core");
5
5
  const Config_1 = require("./Config/Config");
6
- const global_1 = require("./global");
6
+ const MSSqlManager_1 = require("./Database/MSSqlManager");
7
+ const RedisManager_1 = require("./Database/RedisManager");
8
+ const MysqlManager_1 = require("./Database/MysqlManager");
9
+ const MongoManager_1 = require("./Database/Mongo/MongoManager");
10
+ const Log_1 = require("./Logic/Log");
11
+ const EventTool_1 = require("./Logic/EventTool");
7
12
  class CgServer {
8
13
  _webservers = [];
9
14
  get webServers() {
@@ -48,8 +53,8 @@ class CgServer {
48
53
  process.on("SIGUSR1", this.onExit.bind(this));
49
54
  process.on("SIGUSR2", this.onExit.bind(this));
50
55
  process.env.TZ = "Asia/Shanghai";
51
- global_1.global.gEventTool.on("socket_server_init_done", this.onStart.bind(this));
52
- global_1.global.gEventTool.on("web_server_init_done", this.onStart.bind(this));
56
+ EventTool_1.gEventTool.on("socket_server_init_done", this.onStart.bind(this));
57
+ EventTool_1.gEventTool.on("web_server_init_done", this.onStart.bind(this));
53
58
  let argv = process.argv || [];
54
59
  for (let i = 0; i < argv.length; ++i) {
55
60
  let arg = argv[i].toLowerCase();
@@ -112,7 +117,7 @@ class CgServer {
112
117
  return true;
113
118
  }
114
119
  onUnCaughtException(e) {
115
- global_1.global.gLog.error(e.stack);
120
+ Log_1.gLog.error(e.stack);
116
121
  let events = this._events["uncaughtexception"] || [];
117
122
  for (let i = 0; i < events.length; ++i) {
118
123
  Core_1.core.safeCall(events[i]);
@@ -125,14 +130,14 @@ class CgServer {
125
130
  this._socketservers.push(server);
126
131
  }
127
132
  async initDb(dbcfg) {
128
- await global_1.global.gMSSqlMgr.init(dbcfg.mssql);
129
- await global_1.global.gMysqlMgr.init(dbcfg.mysql);
130
- await global_1.global.gRedisMgr.init(dbcfg.redis);
133
+ await MSSqlManager_1.gMSSqlMgr.init(dbcfg.mssql);
134
+ await MysqlManager_1.gMysqlMgr.init(dbcfg.mysql);
135
+ await RedisManager_1.gRedisMgr.init(dbcfg.redis);
131
136
  let mongos = dbcfg.mongos || [];
132
137
  if (dbcfg.mongo) {
133
138
  mongos.push(dbcfg.mongo);
134
139
  }
135
- await global_1.global.gMongoMgr.init(mongos);
140
+ await MongoManager_1.gMongoMgr.init(mongos);
136
141
  }
137
142
  pause() {
138
143
  for (let i = 0; i < this._webservers.length; ++i) {
@@ -152,3 +157,4 @@ class CgServer {
152
157
  }
153
158
  }
154
159
  exports.CgServer = CgServer;
160
+ exports.gCgServer = new CgServer();
@@ -25,12 +25,15 @@ const QiniuTool_1 = require("./ThirdParty/QiniuTool");
25
25
  const WechatTool_1 = require("./ThirdParty/WechatTool");
26
26
  const ControllerManager_1 = require("./WebServer/Engine/ControllerManager");
27
27
  const cgserver_1 = require("./cgserver");
28
+ const Core_1 = require("./Core/Core");
29
+ /**
30
+ * cg引擎的,全局对象
31
+ */
28
32
  class global {
29
33
  static gMongoServiceMgr = new MongoServiceManager_1.MongoServiceManager();
30
34
  static gCgServer = new cgserver_1.CgServer();
31
35
  static gDbCache = new DBCache_1.DBCache();
32
36
  static gTriggerMgr = new TriggerMgr_1.TriggerManager();
33
- static gServerCfg = null;
34
37
  static gMongoMgr = new MongoManager_1.MongoManager();
35
38
  static gMSSqlMgr = new MSSqlManager_1.MSSqlManager();
36
39
  static gMysqlMgr = new MysqlManager_1.MysqlManager();
@@ -50,7 +53,20 @@ class global {
50
53
  static gAlipayTool = new AlipayTool_1.AlipayTool();
51
54
  static gAppleTool = new AppleTool_1.AppleTool();
52
55
  static gProtoFactory = new ProtoFactory_1.ProtoFactory();
56
+ /**
57
+ * web服务中mvc的控制器管理器
58
+ */
53
59
  static gCtrMgr = new ControllerManager_1.ControllerManager();
60
+ /**
61
+ * mongo版本的缓存服务
62
+ * 可以用来缓存kv数据
63
+ */
54
64
  static gMongoCacheSer = new MongoCacheService_1.MongoCacheService();
65
+ /**
66
+ * 一些通用的常用函数,
67
+ * 比如格式化字符串,常用加解密,
68
+ * 时间计算,类型判断等
69
+ */
70
+ static core = Core_1.core;
55
71
  }
56
72
  exports.global = global;
@@ -48,3 +48,4 @@ export declare class TriggerManager {
48
48
  };
49
49
  removeConditionTriggerEvent(conditiontype: any, code: any): void;
50
50
  }
51
+ export declare let gTriggerMgr: TriggerManager;
@@ -6,3 +6,4 @@ export declare class IServerConfig extends FrameworkConfig {
6
6
  constructor(server_name: string);
7
7
  init(): boolean;
8
8
  }
9
+ export declare let gServerCfg: IServerConfig;
@@ -1,7 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import * as crypto from "crypto";
3
3
  /**
4
- * 常用的工具函数类
4
+ * 一些通用的常用函数,
5
+ * 比如格式化字符串,常用加解密,
6
+ * 时间计算,类型判断等
5
7
  */
6
8
  export declare class core {
7
9
  /**
@@ -19,3 +19,4 @@ export declare class DBCache {
19
19
  setVersion(table: string, version: number): Promise<void>;
20
20
  getVersion(table: string): number;
21
21
  }
22
+ export declare let gDbCache: DBCache;
@@ -23,3 +23,4 @@ export declare class MSSqlManager {
23
23
  init(cfg: MSSqlConfig): Promise<void>;
24
24
  registerInitCb(cb: Function): void;
25
25
  }
26
+ export declare let gMSSqlMgr: MSSqlManager;