cgserver 10.0.1 → 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 (71) 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 +4 -4
  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 +4 -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 +2 -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 +0 -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/Database/Decorator/DBCache.d.ts +1 -0
  55. package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -0
  56. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +1 -0
  57. package/dist/types/Framework/Database/MysqlManager.d.ts +1 -0
  58. package/dist/types/Framework/Database/RedisManager.d.ts +1 -0
  59. package/dist/types/Framework/Logic/CacheTool.d.ts +1 -0
  60. package/dist/types/Framework/Logic/EventTool.d.ts +1 -0
  61. package/dist/types/Framework/Logic/HttpTool.d.ts +1 -0
  62. package/dist/types/Framework/Logic/Log.d.ts +1 -0
  63. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -0
  64. package/dist/types/Framework/Service/MongoCacheService.d.ts +1 -0
  65. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -0
  66. package/dist/types/Framework/ThirdParty/QQTool.d.ts +1 -0
  67. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +1 -0
  68. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +1 -0
  69. package/dist/types/Framework/cgserver.d.ts +1 -0
  70. package/dist/types/Framework/global.d.ts +0 -2
  71. package/package.json +1 -1
@@ -5,8 +5,11 @@ const ws = require("websocket");
5
5
  const fs = require("fs");
6
6
  const http = require("http");
7
7
  const https = require("https");
8
+ const IServerConfig_1 = require("../Config/IServerConfig");
8
9
  const Config_1 = require("../Config/Config");
9
- const global_1 = require("../global");
10
+ const cgserver_1 = require("../cgserver");
11
+ const Log_1 = require("../Logic/Log");
12
+ const EventTool_1 = require("../Logic/EventTool");
10
13
  class ISocketServer {
11
14
  _cfg = null;
12
15
  //方便提示
@@ -54,27 +57,27 @@ class ISocketServer {
54
57
  delete this._ws_clients[socketId];
55
58
  }
56
59
  async run() {
57
- global_1.global.gCgServer.addSocketServer(this);
58
- let dbcfg = global_1.global.gServerCfg.db;
59
- await global_1.global.gCgServer.initDb(dbcfg);
60
+ cgserver_1.gCgServer.addSocketServer(this);
61
+ let dbcfg = IServerConfig_1.gServerCfg.db;
62
+ await cgserver_1.gCgServer.initDb(dbcfg);
60
63
  this.initWebSocket();
61
64
  }
62
65
  pause() {
63
66
  if (!this._is_runging) {
64
- global_1.global.gLog.error("websocketserver has paused:" + this._cfg.port);
67
+ Log_1.gLog.error("websocketserver has paused:" + this._cfg.port);
65
68
  return;
66
69
  }
67
70
  this._is_runging = false;
68
71
  this._listening_websocket.closeAllConnections();
69
- global_1.global.gLog.info("websocketserver paused:" + this._cfg.port);
72
+ Log_1.gLog.info("websocketserver paused:" + this._cfg.port);
70
73
  }
71
74
  resume() {
72
75
  if (this._is_runging) {
73
- global_1.global.gLog.error("websocketserver is running:" + this._cfg.port);
76
+ Log_1.gLog.error("websocketserver is running:" + this._cfg.port);
74
77
  return;
75
78
  }
76
79
  this._is_runging = true;
77
- global_1.global.gLog.error("websocketserver resumed:" + this._cfg.port);
80
+ Log_1.gLog.error("websocketserver resumed:" + this._cfg.port);
78
81
  }
79
82
  /*
80
83
  把所有的客户端链接保存起来
@@ -98,14 +101,14 @@ class ISocketServer {
98
101
  //passphrase:'1234'//如果秘钥文件有密码的话,用这个属性设置密码
99
102
  };
100
103
  server = https.createServer(options, (request, response) => {
101
- global_1.global.gLog.info((new Date()) + 'wss Received request for ' + request.url);
104
+ Log_1.gLog.info((new Date()) + 'wss Received request for ' + request.url);
102
105
  response.writeHead(200);
103
106
  response.end();
104
107
  });
105
108
  }
106
109
  else {
107
110
  server = http.createServer((request, response) => {
108
- global_1.global.gLog.info((new Date()) + 'ws Received request for ' + request.url);
111
+ Log_1.gLog.info((new Date()) + 'ws Received request for ' + request.url);
109
112
  response.writeHead(200);
110
113
  response.end();
111
114
  });
@@ -127,14 +130,14 @@ class ISocketServer {
127
130
  }
128
131
  onListenning() {
129
132
  this._is_runging = true;
130
- global_1.global.gEventTool.emit("socket_server_init_done");
133
+ EventTool_1.gEventTool.emit("socket_server_init_done");
131
134
  let info = (new Date()) + " Server " + this.name + " is listening on port " + this._cfg.port;
132
- global_1.global.gLog.info(info);
135
+ Log_1.gLog.info(info);
133
136
  }
134
137
  onRequest(req) {
135
138
  if (!this._is_runging) {
136
139
  req.reject();
137
- global_1.global.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
140
+ Log_1.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
138
141
  return;
139
142
  }
140
143
  let protocol = null;
@@ -144,28 +147,28 @@ class ISocketServer {
144
147
  let allowed = this.isOriginAllowed(req.origin);
145
148
  if (!allowed) {
146
149
  req.reject();
147
- global_1.global.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
150
+ Log_1.gLog.error(' Connection from origin ' + req.origin + ' rejected.');
148
151
  return;
149
152
  }
150
153
  try {
151
154
  let conn = req.accept(this._accepted_protocol, req.origin);
152
155
  if (!conn) {
153
- global_1.global.gLog.error(' protocol reject');
156
+ Log_1.gLog.error(' protocol reject');
154
157
  return;
155
158
  }
156
- global_1.global.gLog.info((new Date()) + ' Connection accepted.');
159
+ Log_1.gLog.info((new Date()) + ' Connection accepted.');
157
160
  let server_name = this._getServerNameByCookies(req.cookies);
158
161
  this.createWebSocketObjectByProtocol(server_name, conn, req);
159
162
  }
160
163
  catch (e) {
161
- global_1.global.gLog.error(' protocol reject');
164
+ Log_1.gLog.error(' protocol reject');
162
165
  }
163
166
  }
164
167
  createWebSocketObjectByProtocol(server_name, _ws, req) {
165
168
  server_name = server_name || "default";
166
169
  let cls = this._name_vs_class[server_name];
167
170
  if (!cls) {
168
- global_1.global.gLog.error("(createWebSocketObjectByProtocol in server(" + this.name + "))no this websocket handle class=" + server_name);
171
+ Log_1.gLog.error("(createWebSocketObjectByProtocol in server(" + this.name + "))no this websocket handle class=" + server_name);
169
172
  return null;
170
173
  }
171
174
  let ws_server = (new cls(this));
@@ -4,7 +4,9 @@ exports.IWebSocket = exports.BaseMsg = void 0;
4
4
  const IProtoFilter_1 = require("./ProtoFilter/IProtoFilter");
5
5
  const Core_1 = require("../Core/Core");
6
6
  const _ = require("underscore");
7
- const global_1 = require("../global");
7
+ const ProtoFactory_1 = require("./ProtoFilter/ProtoFactory");
8
+ const SyncQueueTool_1 = require("../Logic/SyncQueueTool");
9
+ const Log_1 = require("../Logic/Log");
8
10
  class BaseMsg {
9
11
  cmd;
10
12
  errcode;
@@ -83,7 +85,7 @@ class IWebSocket {
83
85
  this._ws = _ws;
84
86
  this._req = _req;
85
87
  if (!this._protoFilter) {
86
- this._protoFilter = global_1.global.gProtoFactory.createFilter(this._protoType);
88
+ this._protoFilter = ProtoFactory_1.gProtoFactory.createFilter(this._protoType);
87
89
  this._protoFilter.init(this._protoPath);
88
90
  }
89
91
  this._ws.on("message", this.onMessage.bind(this));
@@ -95,14 +97,14 @@ class IWebSocket {
95
97
  try {
96
98
  let msg = this._onDecode(message);
97
99
  if (this._is_sync_msg) {
98
- global_1.global.gSyncQueueTool.add(this._socket_id + "", this._onMessage, this, msg);
100
+ SyncQueueTool_1.gSyncQueueTool.add(this._socket_id + "", this._onMessage, this, msg);
99
101
  }
100
102
  else {
101
103
  this._onMessage(msg);
102
104
  }
103
105
  }
104
106
  catch (e) {
105
- global_1.global.gLog.error(this.tipKey + ' Received Message Handle Error: ' + e);
107
+ Log_1.gLog.error(this.tipKey + ' Received Message Handle Error: ' + e);
106
108
  }
107
109
  }
108
110
  _onDecode(message, ...params) {
@@ -126,14 +128,14 @@ class IWebSocket {
126
128
  */
127
129
  filterMsg(msg) {
128
130
  if (!msg) {
129
- global_1.global.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
131
+ Log_1.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
130
132
  return false;
131
133
  }
132
134
  if (this._debug_msg && !this._nodebugmsgs[msg.cmd]) {
133
- global_1.global.gLog.info({ tipKey: this.tipKey, action: "receive", msg });
135
+ Log_1.gLog.info({ tipKey: this.tipKey, action: "receive", msg });
134
136
  }
135
137
  if (!msg.cmd) {
136
- global_1.global.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
138
+ Log_1.gLog.error({ tipKey: this.tipKey, action: "receive", error: "no cmd", msg });
137
139
  return false;
138
140
  }
139
141
  return true;
@@ -152,14 +154,14 @@ class IWebSocket {
152
154
  await Core_1.core.safeCall(otherfunc, this, jsonData);
153
155
  }
154
156
  else {
155
- global_1.global.gLog.error(this.tipKey + ' Received Message warning: no cmd handle,cmd=' + jsonData.cmd);
157
+ Log_1.gLog.error(this.tipKey + ' Received Message warning: no cmd handle,cmd=' + jsonData.cmd);
156
158
  }
157
159
  }
158
160
  else {
159
161
  await Core_1.core.safeCall(func, this, jsonData);
160
162
  }
161
163
  if (this._debug_msg && !this._nodebugmsgs[jsonData.cmd]) {
162
- global_1.global.gLog.info("[" + (Date.now() - time) + "ms] " + jsonData.cmd);
164
+ Log_1.gLog.info("[" + (Date.now() - time) + "ms] " + jsonData.cmd);
163
165
  }
164
166
  }
165
167
  onOpen(e) {
@@ -167,19 +169,19 @@ class IWebSocket {
167
169
  onError(e) {
168
170
  }
169
171
  onClose(reasonCode, description) {
170
- global_1.global.gLog.info(this.tipKey + " onClose resonCode=" + reasonCode + " des=" + description);
172
+ Log_1.gLog.info(this.tipKey + " onClose resonCode=" + reasonCode + " des=" + description);
171
173
  }
172
174
  filterSendMsg(msg) {
173
175
  if (!this.connected) {
174
176
  return false;
175
177
  }
176
178
  if (!msg) {
177
- global_1.global.gLog.error(this.tipKey + " Send Message warning:null data!");
179
+ Log_1.gLog.error(this.tipKey + " Send Message warning:null data!");
178
180
  return false;
179
181
  }
180
182
  if (this._debug_msg
181
183
  && msg.cmd != "heartbeat") {
182
- global_1.global.gLog.info({ tipKey: this.tipKey, action: "send", msg });
184
+ Log_1.gLog.info({ tipKey: this.tipKey, action: "send", msg });
183
185
  }
184
186
  return true;
185
187
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GoogleProtoFilter = void 0;
4
- const global_1 = require("../../global");
4
+ const Log_1 = require("../../Logic/Log");
5
5
  const protobufjs = require("protobufjs");
6
6
  class GoogleProtoFilter {
7
7
  _root = new protobufjs.Root();
@@ -15,7 +15,7 @@ class GoogleProtoFilter {
15
15
  this._root.loadSync(path, { keepCase: true });
16
16
  }
17
17
  catch (e) {
18
- global_1.global.gLog.error(e);
18
+ Log_1.gLog.error(e);
19
19
  return false;
20
20
  }
21
21
  return true;
@@ -40,12 +40,12 @@ class GoogleProtoFilter {
40
40
  decode(data, root) {
41
41
  let body = this._root.lookupType(root);
42
42
  if (!body) {
43
- global_1.global.gLog.info("proto body not in proto(!" + root + ")");
43
+ Log_1.gLog.info("proto body not in proto(!" + root + ")");
44
44
  return null;
45
45
  }
46
46
  let msgBody = body.decode(data);
47
47
  if (!msgBody) {
48
- global_1.global.gLog.info("proto body decode wrong!");
48
+ Log_1.gLog.info("proto body decode wrong!");
49
49
  return null;
50
50
  }
51
51
  let objBody = body.toObject(msgBody);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonProtoFilter = 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
  class JsonProtoFilter {
7
7
  init(path) {
8
8
  return true;
@@ -20,7 +20,7 @@ class JsonProtoFilter {
20
20
  }
21
21
  }
22
22
  catch (e) {
23
- global_1.global.gLog.error("decode json data Failed-----data=" + data);
23
+ Log_1.gLog.error("decode json data Failed-----data=" + data);
24
24
  return;
25
25
  }
26
26
  return data;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProtoFactory = void 0;
3
+ exports.gProtoFactory = exports.ProtoFactory = void 0;
4
4
  const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
5
  const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
6
  const IProtoFilter_1 = require("./IProtoFilter");
@@ -32,3 +32,4 @@ class ProtoFactory {
32
32
  }
33
33
  }
34
34
  exports.ProtoFactory = ProtoFactory;
35
+ exports.gProtoFactory = new ProtoFactory();
@@ -7,7 +7,8 @@ const AliPayUtil_1 = require("alipay_sdk2/AliPayUtil");
7
7
  const fs = require("fs");
8
8
  const form_1 = require("alipay-sdk/lib/form");
9
9
  const Config_1 = require("../Config/Config");
10
- const global_1 = require("../global");
10
+ const IServerConfig_1 = require("../Config/IServerConfig");
11
+ const Log_1 = require("../Logic/Log");
11
12
  class AlipayResult {
12
13
  alipay_trade_app_pay_response = {
13
14
  code: "10000",
@@ -70,26 +71,26 @@ class AlipayTool {
70
71
  notify_url: ""
71
72
  };
72
73
  init() {
73
- if (!global_1.global.gServerCfg.alipay
74
- || !global_1.global.gServerCfg.alipay.open) {
74
+ if (!IServerConfig_1.gServerCfg.alipay
75
+ || !IServerConfig_1.gServerCfg.alipay.open) {
75
76
  return false;
76
77
  }
77
78
  let suffix = "";
78
- if (global_1.global.gServerCfg.alipay.dev) {
79
+ if (IServerConfig_1.gServerCfg.alipay.dev) {
79
80
  suffix = "_dev";
80
81
  }
81
82
  this._cfg = {
82
- app_id: global_1.global.gServerCfg.alipay["app_id" + suffix],
83
- app_key: global_1.global.gServerCfg.alipay["app_key" + suffix],
84
- gateway: global_1.global.gServerCfg.alipay["gateway" + suffix],
83
+ app_id: IServerConfig_1.gServerCfg.alipay["app_id" + suffix],
84
+ app_key: IServerConfig_1.gServerCfg.alipay["app_key" + suffix],
85
+ gateway: IServerConfig_1.gServerCfg.alipay["gateway" + suffix],
85
86
  //RSA1 RSA2
86
- signType: global_1.global.gServerCfg.alipay["signType" + suffix],
87
+ signType: IServerConfig_1.gServerCfg.alipay["signType" + suffix],
87
88
  /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
88
- keyType: global_1.global.gServerCfg.alipay["signType" + suffix],
89
- alipay_root_cert_sn: global_1.global.gServerCfg.alipay["alipay_root_cert_sn" + suffix],
90
- alipay_cert_sn: global_1.global.gServerCfg.alipay["alipay_cert_sn" + suffix],
91
- app_cert_sn: global_1.global.gServerCfg.alipay["app_cert_sn" + suffix],
92
- notify_url: global_1.global.gServerCfg.alipay["notify_url" + suffix]
89
+ keyType: IServerConfig_1.gServerCfg.alipay["signType" + suffix],
90
+ alipay_root_cert_sn: IServerConfig_1.gServerCfg.alipay["alipay_root_cert_sn" + suffix],
91
+ alipay_cert_sn: IServerConfig_1.gServerCfg.alipay["alipay_cert_sn" + suffix],
92
+ app_cert_sn: IServerConfig_1.gServerCfg.alipay["app_cert_sn" + suffix],
93
+ notify_url: IServerConfig_1.gServerCfg.alipay["notify_url" + suffix]
93
94
  };
94
95
  if (this._cfg.alipay_cert_sn) {
95
96
  this._aliPay = new AliPayUtil_1.AliPayUtil(this._cfg.alipay_cert_sn, this._cfg.app_key);
@@ -110,7 +111,7 @@ class AlipayTool {
110
111
  keyType: this._cfg.keyType
111
112
  });
112
113
  }
113
- global_1.global.gLog.info("alipay init success!");
114
+ Log_1.gLog.info("alipay init success!");
114
115
  }
115
116
  /**
116
117
  * charset:"utf-8",method:"alipay.trade.app.pay",sign_type:"RSA2,version:"1.0"
@@ -181,7 +182,7 @@ class AlipayTool {
181
182
  */
182
183
  async getAlipayPage(method, notifyUrl, returnUrl, outTradeNo, money, subject, body) {
183
184
  if (!this._alipaySdk) {
184
- global_1.global.gLog.error("并未配置alipay或者初始化失败");
185
+ Log_1.gLog.error("并未配置alipay或者初始化失败");
185
186
  return;
186
187
  }
187
188
  const formData = new form_1.default();
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SMSTool = void 0;
4
- const global_1 = require("../global");
4
+ const IServerConfig_1 = require("../Config/IServerConfig");
5
+ const Log_1 = require("../Logic/Log");
5
6
  let SMSClient = require("@alicloud/sms-sdk");
6
7
  class SMSTool {
7
8
  _is_init = false;
8
9
  _sms_client = null;
9
10
  init() {
10
- if (!global_1.global.gServerCfg.aliSms) {
11
+ if (!IServerConfig_1.gServerCfg.aliSms) {
11
12
  return false;
12
13
  }
13
14
  if (this._is_init) {
14
15
  return true;
15
16
  }
16
17
  this._is_init = true;
17
- this._sms_client = new SMSClient({ accessKeyId: global_1.global.gServerCfg.aliSms.accessKeyId, secretAccessKey: global_1.global.gServerCfg.aliSms.secretAccessKey });
18
- global_1.global.gLog.info("SMSClient init success!");
18
+ this._sms_client = new SMSClient({ accessKeyId: IServerConfig_1.gServerCfg.aliSms.accessKeyId, secretAccessKey: IServerConfig_1.gServerCfg.aliSms.secretAccessKey });
19
+ Log_1.gLog.info("SMSClient init success!");
19
20
  }
20
21
  /**
21
22
  * 发送短信验证码
@@ -27,19 +28,19 @@ class SMSTool {
27
28
  return new Promise((resolve, reject) => {
28
29
  this._sms_client.sendSMS({
29
30
  PhoneNumbers: phone,
30
- SignName: global_1.global.gServerCfg.aliSms.signName,
31
- TemplateCode: global_1.global.gServerCfg.aliSms.templateCode,
31
+ SignName: IServerConfig_1.gServerCfg.aliSms.signName,
32
+ TemplateCode: IServerConfig_1.gServerCfg.aliSms.templateCode,
32
33
  TemplateParam: JSON.stringify({ code: code })
33
34
  }).then((res) => {
34
35
  if (res.Code == "OK") {
35
36
  resolve(null);
36
37
  }
37
38
  else {
38
- global_1.global.gLog.error("phone:" + phone + " code:" + res.Code);
39
+ Log_1.gLog.error("phone:" + phone + " code:" + res.Code);
39
40
  resolve(res.Code);
40
41
  }
41
42
  }, (err) => {
42
- global_1.global.gLog.error(err);
43
+ Log_1.gLog.error(err);
43
44
  resolve(err);
44
45
  });
45
46
  });
@@ -5,7 +5,9 @@ const ec_key_1 = require("ec-key");
5
5
  const uuid_1 = require("uuid");
6
6
  const fs = require("fs");
7
7
  const Config_1 = require("../Config/Config");
8
- const global_1 = require("../global");
8
+ const Log_1 = require("../Logic/Log");
9
+ const HttpTool_1 = require("../Logic/HttpTool");
10
+ const IServerConfig_1 = require("../Config/IServerConfig");
9
11
  //developer.apple.com/documentation/appstorereceipts/responsebody
10
12
  class ReceiptInfo {
11
13
  cancellation_date = "";
@@ -158,34 +160,34 @@ class AppleTool {
158
160
  "expire_date": latest_one?.expires_date,
159
161
  "receipt_expire_date": nb.unified_receipt?.receipt?.expiration_date
160
162
  };
161
- global_1.global.gLog.info(msg);
162
- global_1.global.gLog.info(nb);
163
+ Log_1.gLog.info(msg);
164
+ Log_1.gLog.info(nb);
163
165
  }
164
166
  async onVerify(receipt, environment) {
165
- global_1.global.gLog.info("begin onVerify============================" + environment);
167
+ Log_1.gLog.info("begin onVerify============================" + environment);
166
168
  let url = this._verifyUrl;
167
169
  // if(environment.toLowerCase()=="sandbox")
168
170
  // {
169
171
  // url=this._sandboxVerifyUrl
170
172
  // }
171
- global_1.global.gLog.info("url============================" + url);
173
+ Log_1.gLog.info("url============================" + url);
172
174
  let reqb = new RequestBody();
173
175
  reqb['receipt-data'] = receipt;
174
176
  //先验证生产环境
175
- var resb = (await global_1.global.gHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
176
- global_1.global.gLog.info("production end onVerify_Res============================status=" + (resb ? resb.status : "null"));
177
+ var resb = (await HttpTool_1.gHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
178
+ Log_1.gLog.info("production end onVerify_Res============================status=" + (resb ? resb.status : "null"));
177
179
  //状态21007表示是沙盒环境
178
180
  if (resb && resb.status == 21007) {
179
181
  url = this._sandboxVerifyUrl;
180
- resb = (await global_1.global.gHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
181
- global_1.global.gLog.info("sandbox end onVerify_Res============================status=" + (resb ? resb.status : "null"));
182
+ resb = (await HttpTool_1.gHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
183
+ Log_1.gLog.info("sandbox end onVerify_Res============================status=" + (resb ? resb.status : "null"));
182
184
  }
183
- global_1.global.gLog.info(resb);
185
+ Log_1.gLog.info(resb);
184
186
  return resb;
185
187
  }
186
188
  signature(nickname, create_time, appBundleID, productIdentifier, offerIdentifier) {
187
189
  let keyIdentifier = "";
188
- for (var k in global_1.global.gServerCfg.apple.keyIds) {
190
+ for (var k in IServerConfig_1.gServerCfg.apple.keyIds) {
189
191
  keyIdentifier = k;
190
192
  break;
191
193
  }
@@ -198,7 +200,7 @@ class AppleTool {
198
200
  nonce.toLowerCase() + '\u2063' +
199
201
  create_time;
200
202
  // Get the PEM-formatted private key string associated with the Key ID.
201
- const path = global_1.global.gServerCfg.apple.keyIds[keyIdentifier];
203
+ const path = IServerConfig_1.gServerCfg.apple.keyIds[keyIdentifier];
202
204
  const keyString = fs.readFileSync(Config_1.Config.rootDataDir + path).toString();
203
205
  // Create an Elliptic Curve Digital Signature Algorithm (ECDSA) object using the private key.
204
206
  const key = new ec_key_1.default(keyString, 'pem');
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CgMq = exports.RpcConfig = void 0;
4
4
  const Core_1 = require("../Core/Core");
5
5
  const IRpcServerWebSocket_1 = require("../SocketServer/IRpcServerWebSocket");
6
- const global_1 = require("../global");
6
+ const Log_1 = require("../Logic/Log");
7
7
  class CgMqServerWebsocket extends IRpcServerWebSocket_1.IRpcServerWebSocket {
8
8
  _cgmq = null;
9
9
  constructor(cgmq) {
@@ -79,7 +79,7 @@ class CgMq {
79
79
  this._cfg = cfg;
80
80
  this._onmsg = onmsg;
81
81
  if (this._inited) {
82
- global_1.global.gLog.error("dulplicate init for CgMq");
82
+ Log_1.gLog.error("dulplicate init for CgMq");
83
83
  return true;
84
84
  }
85
85
  this._inited = true;
@@ -112,7 +112,7 @@ class CgMq {
112
112
  };
113
113
  let ret_rpcmsg = await this._ws.push(group, data, to_id);
114
114
  if (this._ws.debug_msg) {
115
- global_1.global.gLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name);
115
+ Log_1.gLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name);
116
116
  }
117
117
  return ret_rpcmsg;
118
118
  }
@@ -2,32 +2,33 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmailTool = void 0;
4
4
  const nodeMailer = require("nodemailer");
5
- const global_1 = require("../global");
5
+ const IServerConfig_1 = require("../Config/IServerConfig");
6
+ const Log_1 = require("../Logic/Log");
6
7
  class EmailTool {
7
8
  send(to, subject, html) {
8
9
  return new Promise((resolve, reject) => {
9
- if (!global_1.global.gServerCfg.email) {
10
- global_1.global.gLog.error("email config not found!");
10
+ if (!IServerConfig_1.gServerCfg.email) {
11
+ Log_1.gLog.error("email config not found!");
11
12
  resolve("email config not found!");
12
13
  return;
13
14
  }
14
15
  let transport = nodeMailer.createTransport({
15
- host: global_1.global.gServerCfg.email.host,
16
- port: global_1.global.gServerCfg.email.port,
17
- secure: global_1.global.gServerCfg.email.secure,
16
+ host: IServerConfig_1.gServerCfg.email.host,
17
+ port: IServerConfig_1.gServerCfg.email.port,
18
+ secure: IServerConfig_1.gServerCfg.email.secure,
18
19
  auth: {
19
- user: global_1.global.gServerCfg.email.auth.user,
20
- pass: global_1.global.gServerCfg.email.auth.pass
20
+ user: IServerConfig_1.gServerCfg.email.auth.user,
21
+ pass: IServerConfig_1.gServerCfg.email.auth.pass
21
22
  }
22
23
  });
23
24
  let mail = {
24
- from: global_1.global.gServerCfg.email.from,
25
+ from: IServerConfig_1.gServerCfg.email.from,
25
26
  to: to,
26
27
  subject: subject,
27
28
  html: html
28
29
  };
29
30
  transport.sendMail(mail, (_err, msg) => {
30
- global_1.global.gLog.error(_err);
31
+ Log_1.gLog.error(_err);
31
32
  resolve(_err);
32
33
  });
33
34
  });
@@ -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();