cgserver 10.0.1 → 10.0.3

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 (80) 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/ByteTool.js +2 -1
  6. package/dist/lib/Framework/Core/Core.js +4 -4
  7. package/dist/lib/Framework/Core/Timer.js +5 -5
  8. package/dist/lib/Framework/Database/Decorator/DBCache.js +5 -4
  9. package/dist/lib/Framework/Database/MSSqlManager.js +4 -3
  10. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +3 -3
  11. package/dist/lib/Framework/Database/Mongo/MongoManager.js +30 -29
  12. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +2 -1
  13. package/dist/lib/Framework/Database/MysqlBaseService.js +26 -24
  14. package/dist/lib/Framework/Database/MysqlManager.js +8 -6
  15. package/dist/lib/Framework/Database/RedisManager.js +6 -5
  16. package/dist/lib/Framework/Decorator/SyncCall.js +3 -3
  17. package/dist/lib/Framework/Decorator/SyncCallServer.js +12 -11
  18. package/dist/lib/Framework/Logic/CacheTool.js +2 -1
  19. package/dist/lib/Framework/Logic/EventTool.js +2 -1
  20. package/dist/lib/Framework/Logic/HttpTool.js +11 -10
  21. package/dist/lib/Framework/Logic/Log.js +2 -1
  22. package/dist/lib/Framework/Logic/SyncQueueTool.js +2 -1
  23. package/dist/lib/Framework/Service/MongoAccountService.js +6 -4
  24. package/dist/lib/Framework/Service/MongoCacheService.js +4 -2
  25. package/dist/lib/Framework/Service/MysqlAccountService.js +6 -4
  26. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +4 -4
  27. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +7 -6
  28. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +7 -6
  29. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +3 -3
  30. package/dist/lib/Framework/SocketServer/ISocketServer.js +21 -18
  31. package/dist/lib/Framework/SocketServer/IWebSocket.js +14 -12
  32. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +4 -4
  33. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +2 -2
  34. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +2 -1
  35. package/dist/lib/Framework/ThirdParty/AlipayTool.js +18 -16
  36. package/dist/lib/Framework/ThirdParty/Alisms.js +11 -9
  37. package/dist/lib/Framework/ThirdParty/AppleTool.js +16 -13
  38. package/dist/lib/Framework/ThirdParty/CgMq.js +3 -3
  39. package/dist/lib/Framework/ThirdParty/EmailTool.js +13 -11
  40. package/dist/lib/Framework/ThirdParty/QQTool.js +22 -19
  41. package/dist/lib/Framework/ThirdParty/QiniuTool.js +10 -8
  42. package/dist/lib/Framework/ThirdParty/Rpc.js +2 -2
  43. package/dist/lib/Framework/ThirdParty/WechatTool.js +15 -12
  44. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +13 -12
  45. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +13 -12
  46. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +2 -1
  47. package/dist/lib/Framework/WebServer/Engine/Engine.js +18 -17
  48. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +2 -2
  49. package/dist/lib/Framework/WebServer/Engine/Request.js +3 -3
  50. package/dist/lib/Framework/WebServer/Engine/Response.js +2 -2
  51. package/dist/lib/Framework/WebServer/IWebServer.js +9 -6
  52. package/dist/lib/Framework/cgserver.js +15 -9
  53. package/dist/lib/Framework/global.js +25 -26
  54. package/dist/types/Framework/AI/TriggerMgr.d.ts +1 -0
  55. package/dist/types/Framework/Config/IServerConfig.d.ts +1 -0
  56. package/dist/types/Framework/Core/ByteTool.d.ts +1 -0
  57. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +1 -0
  58. package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -0
  59. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +1 -0
  60. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +1 -0
  61. package/dist/types/Framework/Database/MysqlManager.d.ts +1 -0
  62. package/dist/types/Framework/Database/RedisManager.d.ts +1 -0
  63. package/dist/types/Framework/Logic/CacheTool.d.ts +1 -0
  64. package/dist/types/Framework/Logic/EventTool.d.ts +1 -0
  65. package/dist/types/Framework/Logic/HttpTool.d.ts +1 -0
  66. package/dist/types/Framework/Logic/Log.d.ts +1 -0
  67. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -0
  68. package/dist/types/Framework/Service/MongoCacheService.d.ts +1 -0
  69. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -0
  70. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +1 -0
  71. package/dist/types/Framework/ThirdParty/Alisms.d.ts +1 -0
  72. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +1 -0
  73. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +1 -0
  74. package/dist/types/Framework/ThirdParty/QQTool.d.ts +1 -0
  75. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +1 -0
  76. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +1 -0
  77. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +1 -0
  78. package/dist/types/Framework/cgserver.d.ts +1 -0
  79. package/dist/types/Framework/global.d.ts +26 -52
  80. package/package.json +1 -1
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QQTool = exports.QQUserInfo = void 0;
3
+ exports.gQQTool = exports.QQTool = exports.QQUserInfo = void 0;
4
4
  const _ = require("underscore");
5
5
  const URLEncode = require("urlencode");
6
- const global_1 = require("../global");
6
+ const Log_1 = require("../Logic/Log");
7
+ const HttpTool_1 = require("../Logic/HttpTool");
8
+ const IServerConfig_1 = require("../Config/IServerConfig");
7
9
  class QQUserInfo {
8
10
  ret = 0;
9
11
  msg = "";
@@ -41,14 +43,14 @@ class QQTool {
41
43
  如果传入“mobile”,则展示为mobile端下的样式。
42
44
  */
43
45
  getAuthCodeUrl(scope, display) {
44
- if (!global_1.global.gServerCfg.qq) {
45
- global_1.global.gLog.error("qq config not found!");
46
+ if (!IServerConfig_1.gServerCfg.qq) {
47
+ Log_1.gLog.error("qq config not found!");
46
48
  return null;
47
49
  }
48
50
  //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
49
- let redirect_uri = URLEncode.encode(global_1.global.gServerCfg.qq.redirect_uri);
51
+ let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
50
52
  //必须 申请QQ登录成功后,分配给应用的appid。
51
- let client_id = global_1.global.gServerCfg.qq.app_id;
53
+ let client_id = IServerConfig_1.gServerCfg.qq.app_id;
52
54
  //必须 授权类型,此值固定为“code”。
53
55
  let response_type = "code";
54
56
  //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
@@ -67,31 +69,31 @@ class QQTool {
67
69
  if (!auth_code) {
68
70
  return null;
69
71
  }
70
- if (!global_1.global.gServerCfg.qq) {
71
- global_1.global.gLog.error("qq config not found!");
72
+ if (!IServerConfig_1.gServerCfg.qq) {
73
+ Log_1.gLog.error("qq config not found!");
72
74
  return null;
73
75
  }
74
76
  //必须 授权类型,在本步骤中,此值为“authorization_code”。
75
77
  let grant_type = "authorization_code";
76
78
  //必须 申请QQ登录成功后,分配给应用的appid。
77
- let client_id = global_1.global.gServerCfg.qq.app_id;
79
+ let client_id = IServerConfig_1.gServerCfg.qq.app_id;
78
80
  //必须 申请QQ登录成功后,分配给网站的appkey。
79
- let client_secret = global_1.global.gServerCfg.qq.app_key;
81
+ let client_secret = IServerConfig_1.gServerCfg.qq.app_key;
80
82
  //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
81
- let redirect_uri = URLEncode.encode(global_1.global.gServerCfg.qq.redirect_uri);
83
+ let redirect_uri = URLEncode.encode(IServerConfig_1.gServerCfg.qq.redirect_uri);
82
84
  let url = "https://graph.qq.com/oauth2.0/token?code=" + auth_code + "&grant_type=" + grant_type + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + redirect_uri;
83
- let rs = await global_1.global.gHttpTool.get(url);
85
+ let rs = await HttpTool_1.gHttpTool.get(url);
84
86
  if (rs.body && rs.body.access_token) {
85
87
  return rs.body.access_token;
86
88
  }
87
89
  else {
88
- global_1.global.gLog.error(rs.body);
90
+ Log_1.gLog.error(rs.body);
89
91
  }
90
92
  return null;
91
93
  }
92
94
  async getOpenId(access_token) {
93
95
  let url = "https://graph.qq.com/oauth2.0/me?access_token=" + access_token;
94
- let rs = await global_1.global.gHttpTool.get(url);
96
+ let rs = await HttpTool_1.gHttpTool.get(url);
95
97
  let body = rs.response ? rs.response.body : null;
96
98
  if (body) {
97
99
  body = body.replace("callback( ", "");
@@ -101,7 +103,7 @@ class QQTool {
101
103
  }
102
104
  catch (e) { }
103
105
  if (!body.openid) {
104
- global_1.global.gLog.error(rs.response.body);
106
+ Log_1.gLog.error(rs.response.body);
105
107
  }
106
108
  return body.openid;
107
109
  }
@@ -111,12 +113,12 @@ class QQTool {
111
113
  if (!access_token || !openid) {
112
114
  return null;
113
115
  }
114
- if (!global_1.global.gServerCfg.qq) {
115
- global_1.global.gLog.error("qq config not found!");
116
+ if (!IServerConfig_1.gServerCfg.qq) {
117
+ Log_1.gLog.error("qq config not found!");
116
118
  return null;
117
119
  }
118
- let url = "https://graph.qq.com/user/get_user_info?access_token=" + access_token + "&oauth_consumer_key=" + global_1.global.gServerCfg.qq.app_id + "&openid=" + openid;
119
- let rs = await global_1.global.gHttpTool.get(url);
120
+ let url = "https://graph.qq.com/user/get_user_info?access_token=" + access_token + "&oauth_consumer_key=" + IServerConfig_1.gServerCfg.qq.app_id + "&openid=" + openid;
121
+ let rs = await HttpTool_1.gHttpTool.get(url);
120
122
  if (rs.body) {
121
123
  return rs.body;
122
124
  }
@@ -124,3 +126,4 @@ class QQTool {
124
126
  }
125
127
  }
126
128
  exports.QQTool = QQTool;
129
+ exports.gQQTool = new QQTool();
@@ -1,23 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QiniuTool = void 0;
3
+ exports.gQiniuTool = 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);
@@ -25,3 +26,4 @@ class QiniuTool {
25
26
  }
26
27
  }
27
28
  exports.QiniuTool = QiniuTool;
29
+ exports.gQiniuTool = new QiniuTool();
@@ -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,6 @@
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
4
  /**
5
5
  * web服务中mvc的控制器管理器
6
6
  */
@@ -112,3 +112,4 @@ class ControllerManager {
112
112
  }
113
113
  }
114
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() {