cgserver 9.2.7 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +10 -0
  2. package/dist/lib/Framework/AI/BehaviorAI.js +6 -6
  3. package/dist/lib/Framework/AI/TriggerMgr.js +7 -8
  4. package/dist/lib/Framework/Config/FrameworkConfig.js +2 -2
  5. package/dist/lib/Framework/Config/IServerConfig.js +3 -3
  6. package/dist/lib/Framework/Core/ByteTool.js +2 -2
  7. package/dist/lib/Framework/Core/Core.js +7 -5
  8. package/dist/lib/Framework/Core/Timer.js +5 -5
  9. package/dist/lib/Framework/Database/Decorator/DBCache.js +5 -6
  10. package/dist/lib/Framework/Database/MSSqlManager.js +4 -5
  11. package/dist/lib/Framework/Database/{MongoBaseService.js → Mongo/MongoBaseService.js} +13 -13
  12. package/dist/lib/Framework/Database/{MongoManager.js → Mongo/MongoManager.js} +39 -38
  13. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +26 -0
  14. package/dist/lib/Framework/Database/MysqlBaseService.js +24 -26
  15. package/dist/lib/Framework/Database/MysqlManager.js +7 -10
  16. package/dist/lib/Framework/Database/RedisManager.js +5 -7
  17. package/dist/lib/Framework/Decorator/SyncCall.js +3 -3
  18. package/dist/lib/Framework/Decorator/SyncCallServer.js +11 -12
  19. package/dist/lib/Framework/Logic/CacheTool.js +2 -3
  20. package/dist/lib/Framework/Logic/EventTool.js +2 -2
  21. package/dist/lib/Framework/Logic/HttpTool.js +11 -12
  22. package/dist/lib/Framework/Logic/Log.js +2 -3
  23. package/dist/lib/Framework/Logic/SyncQueueTool.js +2 -2
  24. package/dist/lib/Framework/Service/MongoAccountService.js +17 -19
  25. package/dist/lib/Framework/Service/MongoCacheService.js +11 -9
  26. package/dist/lib/Framework/Service/MongoUserService.js +10 -10
  27. package/dist/lib/Framework/Service/MysqlAccountService.js +4 -6
  28. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +4 -4
  29. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +6 -7
  30. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +6 -7
  31. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +3 -3
  32. package/dist/lib/Framework/SocketServer/ISocketServer.js +18 -21
  33. package/dist/lib/Framework/SocketServer/IWebSocket.js +12 -14
  34. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +4 -4
  35. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +2 -2
  36. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +2 -3
  37. package/dist/lib/Framework/ThirdParty/AlipayTool.js +17 -19
  38. package/dist/lib/Framework/ThirdParty/Alisms.js +10 -12
  39. package/dist/lib/Framework/ThirdParty/AppleTool.js +14 -17
  40. package/dist/lib/Framework/ThirdParty/CgMq.js +3 -3
  41. package/dist/lib/Framework/ThirdParty/EmailTool.js +12 -14
  42. package/dist/lib/Framework/ThirdParty/QQTool.js +19 -23
  43. package/dist/lib/Framework/ThirdParty/QiniuTool.js +9 -11
  44. package/dist/lib/Framework/ThirdParty/Rpc.js +2 -2
  45. package/dist/lib/Framework/ThirdParty/WechatTool.js +66 -16
  46. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +16 -17
  47. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +12 -13
  48. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +5 -3
  49. package/dist/lib/Framework/WebServer/Engine/Engine.js +17 -18
  50. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +3 -4
  51. package/dist/lib/Framework/WebServer/Engine/Request.js +3 -3
  52. package/dist/lib/Framework/WebServer/Engine/Response.js +2 -2
  53. package/dist/lib/Framework/WebServer/IWebServer.js +6 -9
  54. package/dist/lib/Framework/cgserver.js +10 -15
  55. package/dist/lib/Framework/global.js +73 -0
  56. package/dist/lib/Framework/index.js +3 -200
  57. package/dist/lib/Framework/index_export_.js +161 -0
  58. package/dist/lib/test/test.js +2 -2
  59. package/dist/types/Framework/AI/TriggerMgr.d.ts +1 -3
  60. package/dist/types/Framework/Config/DbConfig.d.ts +1 -1
  61. package/dist/types/Framework/Config/IServerConfig.d.ts +0 -1
  62. package/dist/types/Framework/Core/ByteTool.d.ts +1 -3
  63. package/dist/types/Framework/Core/Core.d.ts +3 -1
  64. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +1 -3
  65. package/dist/types/Framework/Database/MSSqlManager.d.ts +1 -3
  66. package/dist/types/Framework/Database/{MongoBaseService.d.ts → Mongo/MongoBaseService.d.ts} +28 -8
  67. package/dist/types/Framework/Database/{MongoManager.d.ts → Mongo/MongoManager.d.ts} +38 -11
  68. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -0
  69. package/dist/types/Framework/Database/MysqlManager.d.ts +1 -3
  70. package/dist/types/Framework/Database/RedisManager.d.ts +0 -1
  71. package/dist/types/Framework/Logic/CacheTool.d.ts +1 -2
  72. package/dist/types/Framework/Logic/EventTool.d.ts +1 -3
  73. package/dist/types/Framework/Logic/HttpTool.d.ts +1 -3
  74. package/dist/types/Framework/Logic/Log.d.ts +1 -3
  75. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +1 -2
  76. package/dist/types/Framework/Service/MongoAccountService.d.ts +2 -2
  77. package/dist/types/Framework/Service/MongoCacheService.d.ts +7 -5
  78. package/dist/types/Framework/Service/MongoUserService.d.ts +4 -4
  79. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +1 -2
  80. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +1 -3
  81. package/dist/types/Framework/ThirdParty/Alisms.d.ts +1 -3
  82. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +1 -2
  83. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +1 -3
  84. package/dist/types/Framework/ThirdParty/QQTool.d.ts +0 -1
  85. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +1 -3
  86. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +10 -1
  87. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +4 -3
  88. package/dist/types/Framework/cgserver.d.ts +1 -3
  89. package/dist/types/Framework/global.d.ts +70 -0
  90. package/dist/types/Framework/index.d.ts +2 -91
  91. package/dist/types/Framework/index_export_.d.ts +74 -0
  92. package/package.json +1 -1
  93. package/dist/lib/Framework/Database/MongoServiceManager.js +0 -49
  94. package/dist/lib/Framework/ThirdParty/OpenSocial.js +0 -32
  95. package/dist/lib/Framework/ThirdParty/WechatOATool.js +0 -61
  96. package/dist/types/Framework/Database/MongoServiceManager.d.ts +0 -15
  97. package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +0 -7
  98. package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +0 -13
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GAlipayTool = exports.AlipayCallBack = exports.AlipayResult = void 0;
3
+ exports.AlipayTool = exports.AlipayCallBack = exports.AlipayResult = void 0;
4
4
  const alipay_sdk_1 = require("alipay-sdk");
5
5
  const aliUtil = require("alipay-sdk/lib/util");
6
6
  const AliPayUtil_1 = require("alipay_sdk2/AliPayUtil");
7
7
  const fs = require("fs");
8
8
  const form_1 = require("alipay-sdk/lib/form");
9
- const Log_1 = require("../Logic/Log");
10
- const IServerConfig_1 = require("../Config/IServerConfig");
11
9
  const Config_1 = require("../Config/Config");
10
+ const global_1 = require("../global");
12
11
  class AlipayResult {
13
12
  alipay_trade_app_pay_response = {
14
13
  code: "10000",
@@ -54,7 +53,6 @@ class AlipayCallBack {
54
53
  point_amount = 0;
55
54
  }
56
55
  exports.AlipayCallBack = AlipayCallBack;
57
- exports.GAlipayTool = null;
58
56
  class AlipayTool {
59
57
  _alipaySdk = null;
60
58
  _aliPay = null;
@@ -72,26 +70,26 @@ class AlipayTool {
72
70
  notify_url: ""
73
71
  };
74
72
  init() {
75
- if (!IServerConfig_1.GServerCfg.alipay
76
- || !IServerConfig_1.GServerCfg.alipay.open) {
73
+ if (!global_1.global.gServerCfg.alipay
74
+ || !global_1.global.gServerCfg.alipay.open) {
77
75
  return false;
78
76
  }
79
77
  let suffix = "";
80
- if (IServerConfig_1.GServerCfg.alipay.dev) {
78
+ if (global_1.global.gServerCfg.alipay.dev) {
81
79
  suffix = "_dev";
82
80
  }
83
81
  this._cfg = {
84
- app_id: IServerConfig_1.GServerCfg.alipay["app_id" + suffix],
85
- app_key: IServerConfig_1.GServerCfg.alipay["app_key" + suffix],
86
- gateway: IServerConfig_1.GServerCfg.alipay["gateway" + suffix],
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],
87
85
  //RSA1 RSA2
88
- signType: IServerConfig_1.GServerCfg.alipay["signType" + suffix],
86
+ signType: global_1.global.gServerCfg.alipay["signType" + suffix],
89
87
  /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
90
- keyType: IServerConfig_1.GServerCfg.alipay["signType" + suffix],
91
- alipay_root_cert_sn: IServerConfig_1.GServerCfg.alipay["alipay_root_cert_sn" + suffix],
92
- alipay_cert_sn: IServerConfig_1.GServerCfg.alipay["alipay_cert_sn" + suffix],
93
- app_cert_sn: IServerConfig_1.GServerCfg.alipay["app_cert_sn" + suffix],
94
- notify_url: IServerConfig_1.GServerCfg.alipay["notify_url" + suffix]
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]
95
93
  };
96
94
  if (this._cfg.alipay_cert_sn) {
97
95
  this._aliPay = new AliPayUtil_1.AliPayUtil(this._cfg.alipay_cert_sn, this._cfg.app_key);
@@ -112,7 +110,7 @@ class AlipayTool {
112
110
  keyType: this._cfg.keyType
113
111
  });
114
112
  }
115
- Log_1.GLog.info("alipay init success!");
113
+ global_1.global.gLog.info("alipay init success!");
116
114
  }
117
115
  /**
118
116
  * charset:"utf-8",method:"alipay.trade.app.pay",sign_type:"RSA2,version:"1.0"
@@ -183,7 +181,7 @@ class AlipayTool {
183
181
  */
184
182
  async getAlipayPage(method, notifyUrl, returnUrl, outTradeNo, money, subject, body) {
185
183
  if (!this._alipaySdk) {
186
- Log_1.GLog.error("并未配置alipay或者初始化失败");
184
+ global_1.global.gLog.error("并未配置alipay或者初始化失败");
187
185
  return;
188
186
  }
189
187
  const formData = new form_1.default();
@@ -202,4 +200,4 @@ class AlipayTool {
202
200
  return url_or_html;
203
201
  }
204
202
  }
205
- exports.GAlipayTool = new AlipayTool();
203
+ exports.AlipayTool = AlipayTool;
@@ -1,23 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GSmsTool = void 0;
4
- const IServerConfig_1 = require("../Config/IServerConfig");
5
- const Log_1 = require("./../Logic/Log");
3
+ exports.SMSTool = void 0;
4
+ const global_1 = require("../global");
6
5
  let SMSClient = require("@alicloud/sms-sdk");
7
- exports.GSmsTool = null;
8
6
  class SMSTool {
9
7
  _is_init = false;
10
8
  _sms_client = null;
11
9
  init() {
12
- if (!IServerConfig_1.GServerCfg.aliSms) {
10
+ if (!global_1.global.gServerCfg.aliSms) {
13
11
  return false;
14
12
  }
15
13
  if (this._is_init) {
16
14
  return true;
17
15
  }
18
16
  this._is_init = true;
19
- this._sms_client = new SMSClient({ accessKeyId: IServerConfig_1.GServerCfg.aliSms.accessKeyId, secretAccessKey: IServerConfig_1.GServerCfg.aliSms.secretAccessKey });
20
- Log_1.GLog.info("SMSClient init success!");
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!");
21
19
  }
22
20
  /**
23
21
  * 发送短信验证码
@@ -29,22 +27,22 @@ class SMSTool {
29
27
  return new Promise((resolve, reject) => {
30
28
  this._sms_client.sendSMS({
31
29
  PhoneNumbers: phone,
32
- SignName: IServerConfig_1.GServerCfg.aliSms.signName,
33
- TemplateCode: IServerConfig_1.GServerCfg.aliSms.templateCode,
30
+ SignName: global_1.global.gServerCfg.aliSms.signName,
31
+ TemplateCode: global_1.global.gServerCfg.aliSms.templateCode,
34
32
  TemplateParam: JSON.stringify({ code: code })
35
33
  }).then((res) => {
36
34
  if (res.Code == "OK") {
37
35
  resolve(null);
38
36
  }
39
37
  else {
40
- Log_1.GLog.error("phone:" + phone + " code:" + res.Code);
38
+ global_1.global.gLog.error("phone:" + phone + " code:" + res.Code);
41
39
  resolve(res.Code);
42
40
  }
43
41
  }, (err) => {
44
- Log_1.GLog.error(err);
42
+ global_1.global.gLog.error(err);
45
43
  resolve(err);
46
44
  });
47
45
  });
48
46
  }
49
47
  }
50
- exports.GSmsTool = new SMSTool();
48
+ exports.SMSTool = SMSTool;
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GAppleTool = exports.NotificationBody = exports.NotificationType = exports.ResponseBody = void 0;
4
- const Log_1 = require("../Logic/Log");
5
- const HttpTool_1 = require("./../Logic/HttpTool");
3
+ exports.AppleTool = exports.NotificationBody = exports.NotificationType = exports.ResponseBody = void 0;
6
4
  const ec_key_1 = require("ec-key");
7
5
  const uuid_1 = require("uuid");
8
6
  const fs = require("fs");
9
- const IServerConfig_1 = require("../Config/IServerConfig");
10
7
  const Config_1 = require("../Config/Config");
8
+ const global_1 = require("../global");
11
9
  //developer.apple.com/documentation/appstorereceipts/responsebody
12
10
  class ReceiptInfo {
13
11
  cancellation_date = "";
@@ -144,7 +142,6 @@ class RequestBody {
144
142
  password = "5203c7781e254aac8942290a0a2467ac";
145
143
  "exclude-old-transactions" = true;
146
144
  }
147
- exports.GAppleTool = null;
148
145
  class AppleTool {
149
146
  _verifyUrl = "https://buy.itunes.apple.com/verifyReceipt";
150
147
  _sandboxVerifyUrl = "https://sandbox.itunes.apple.com/verifyReceipt";
@@ -161,34 +158,34 @@ class AppleTool {
161
158
  "expire_date": latest_one?.expires_date,
162
159
  "receipt_expire_date": nb.unified_receipt?.receipt?.expiration_date
163
160
  };
164
- Log_1.GLog.info(msg);
165
- Log_1.GLog.info(nb);
161
+ global_1.global.gLog.info(msg);
162
+ global_1.global.gLog.info(nb);
166
163
  }
167
164
  async onVerify(receipt, environment) {
168
- Log_1.GLog.info("begin onVerify============================" + environment);
165
+ global_1.global.gLog.info("begin onVerify============================" + environment);
169
166
  let url = this._verifyUrl;
170
167
  // if(environment.toLowerCase()=="sandbox")
171
168
  // {
172
169
  // url=this._sandboxVerifyUrl
173
170
  // }
174
- Log_1.GLog.info("url============================" + url);
171
+ global_1.global.gLog.info("url============================" + url);
175
172
  let reqb = new RequestBody();
176
173
  reqb['receipt-data'] = receipt;
177
174
  //先验证生产环境
178
- var resb = (await HttpTool_1.GHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
179
- Log_1.GLog.info("production end onVerify_Res============================status=" + (resb ? resb.status : "null"));
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"));
180
177
  //状态21007表示是沙盒环境
181
178
  if (resb && resb.status == 21007) {
182
179
  url = this._sandboxVerifyUrl;
183
- resb = (await HttpTool_1.GHttpTool.post({ url, form: JSON.stringify(reqb) })).body;
184
- Log_1.GLog.info("sandbox end onVerify_Res============================status=" + (resb ? resb.status : "null"));
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"));
185
182
  }
186
- Log_1.GLog.info(resb);
183
+ global_1.global.gLog.info(resb);
187
184
  return resb;
188
185
  }
189
186
  signature(nickname, create_time, appBundleID, productIdentifier, offerIdentifier) {
190
187
  let keyIdentifier = "";
191
- for (var k in IServerConfig_1.GServerCfg.apple.keyIds) {
188
+ for (var k in global_1.global.gServerCfg.apple.keyIds) {
192
189
  keyIdentifier = k;
193
190
  break;
194
191
  }
@@ -201,7 +198,7 @@ class AppleTool {
201
198
  nonce.toLowerCase() + '\u2063' +
202
199
  create_time;
203
200
  // Get the PEM-formatted private key string associated with the Key ID.
204
- const path = IServerConfig_1.GServerCfg.apple.keyIds[keyIdentifier];
201
+ const path = global_1.global.gServerCfg.apple.keyIds[keyIdentifier];
205
202
  const keyString = fs.readFileSync(Config_1.Config.rootDataDir + path).toString();
206
203
  // Create an Elliptic Curve Digital Signature Algorithm (ECDSA) object using the private key.
207
204
  const key = new ec_key_1.default(keyString, 'pem');
@@ -232,4 +229,4 @@ class AppleTool {
232
229
  return;
233
230
  }
234
231
  }
235
- exports.GAppleTool = new AppleTool();
232
+ exports.AppleTool = AppleTool;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CgMq = exports.RpcConfig = void 0;
4
4
  const Core_1 = require("../Core/Core");
5
- const Log_1 = require("../Logic/Log");
6
5
  const IRpcServerWebSocket_1 = require("../SocketServer/IRpcServerWebSocket");
6
+ const global_1 = require("../global");
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
- Log_1.GLog.error("dulplicate init for CgMq");
82
+ global_1.global.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
- Log_1.GLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name);
115
+ global_1.global.gLog.info("[" + (Date.now() - time) + "ms] callRemote:" + group + "-" + func_name);
116
116
  }
117
117
  return ret_rpcmsg;
118
118
  }
@@ -1,38 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GEmailTool = void 0;
3
+ exports.EmailTool = void 0;
4
4
  const nodeMailer = require("nodemailer");
5
- const IServerConfig_1 = require("../Config/IServerConfig");
6
- const Log_1 = require("../Logic/Log");
7
- exports.GEmailTool = null;
5
+ const global_1 = require("../global");
8
6
  class EmailTool {
9
7
  send(to, subject, html) {
10
8
  return new Promise((resolve, reject) => {
11
- if (!IServerConfig_1.GServerCfg.email) {
12
- Log_1.GLog.error("email config not found!");
9
+ if (!global_1.global.gServerCfg.email) {
10
+ global_1.global.gLog.error("email config not found!");
13
11
  resolve("email config not found!");
14
12
  return;
15
13
  }
16
14
  let transport = nodeMailer.createTransport({
17
- host: IServerConfig_1.GServerCfg.email.host,
18
- port: IServerConfig_1.GServerCfg.email.port,
19
- secure: IServerConfig_1.GServerCfg.email.secure,
15
+ host: global_1.global.gServerCfg.email.host,
16
+ port: global_1.global.gServerCfg.email.port,
17
+ secure: global_1.global.gServerCfg.email.secure,
20
18
  auth: {
21
- user: IServerConfig_1.GServerCfg.email.auth.user,
22
- pass: IServerConfig_1.GServerCfg.email.auth.pass
19
+ user: global_1.global.gServerCfg.email.auth.user,
20
+ pass: global_1.global.gServerCfg.email.auth.pass
23
21
  }
24
22
  });
25
23
  let mail = {
26
- from: IServerConfig_1.GServerCfg.email.from,
24
+ from: global_1.global.gServerCfg.email.from,
27
25
  to: to,
28
26
  subject: subject,
29
27
  html: html
30
28
  };
31
29
  transport.sendMail(mail, (_err, msg) => {
32
- Log_1.GLog.error(_err);
30
+ global_1.global.gLog.error(_err);
33
31
  resolve(_err);
34
32
  });
35
33
  });
36
34
  }
37
35
  }
38
- exports.GEmailTool = new EmailTool();
36
+ exports.EmailTool = EmailTool;
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QQTool = exports.GQQTool = exports.QQUserInfo = void 0;
3
+ exports.QQTool = exports.QQUserInfo = void 0;
4
4
  const _ = require("underscore");
5
5
  const URLEncode = require("urlencode");
6
- const IServerConfig_1 = require("../Config/IServerConfig");
7
- const HttpTool_1 = require("../Logic/HttpTool");
8
- const Log_1 = require("../Logic/Log");
6
+ const global_1 = require("../global");
9
7
  class QQUserInfo {
10
8
  ret = 0;
11
9
  msg = "";
@@ -30,7 +28,6 @@ class QQUserInfo {
30
28
  is_yellow_year_vip = ""; //"0"
31
29
  }
32
30
  exports.QQUserInfo = QQUserInfo;
33
- exports.GQQTool = null;
34
31
  class QQTool {
35
32
  /**
36
33
  * 获取Authorization Code
@@ -44,14 +41,14 @@ class QQTool {
44
41
  如果传入“mobile”,则展示为mobile端下的样式。
45
42
  */
46
43
  getAuthCodeUrl(scope, display) {
47
- if (!IServerConfig_1.GServerCfg.qq) {
48
- Log_1.GLog.error("qq config not found!");
44
+ if (!global_1.global.gServerCfg.qq) {
45
+ global_1.global.gLog.error("qq config not found!");
49
46
  return null;
50
47
  }
51
48
  //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
52
- let redirect_uri = URLEncode.encode(IServerConfig_1.GServerCfg.qq.redirect_uri);
49
+ let redirect_uri = URLEncode.encode(global_1.global.gServerCfg.qq.redirect_uri);
53
50
  //必须 申请QQ登录成功后,分配给应用的appid。
54
- let client_id = IServerConfig_1.GServerCfg.qq.app_id;
51
+ let client_id = global_1.global.gServerCfg.qq.app_id;
55
52
  //必须 授权类型,此值固定为“code”。
56
53
  let response_type = "code";
57
54
  //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
@@ -70,31 +67,31 @@ class QQTool {
70
67
  if (!auth_code) {
71
68
  return null;
72
69
  }
73
- if (!IServerConfig_1.GServerCfg.qq) {
74
- Log_1.GLog.error("qq config not found!");
70
+ if (!global_1.global.gServerCfg.qq) {
71
+ global_1.global.gLog.error("qq config not found!");
75
72
  return null;
76
73
  }
77
74
  //必须 授权类型,在本步骤中,此值为“authorization_code”。
78
75
  let grant_type = "authorization_code";
79
76
  //必须 申请QQ登录成功后,分配给应用的appid。
80
- let client_id = IServerConfig_1.GServerCfg.qq.app_id;
77
+ let client_id = global_1.global.gServerCfg.qq.app_id;
81
78
  //必须 申请QQ登录成功后,分配给网站的appkey。
82
- let client_secret = IServerConfig_1.GServerCfg.qq.app_key;
79
+ let client_secret = global_1.global.gServerCfg.qq.app_key;
83
80
  //必须 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心
84
- let redirect_uri = URLEncode.encode(IServerConfig_1.GServerCfg.qq.redirect_uri);
81
+ let redirect_uri = URLEncode.encode(global_1.global.gServerCfg.qq.redirect_uri);
85
82
  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;
86
- let rs = await HttpTool_1.GHttpTool.get(url);
83
+ let rs = await global_1.global.gHttpTool.get(url);
87
84
  if (rs.body && rs.body.access_token) {
88
85
  return rs.body.access_token;
89
86
  }
90
87
  else {
91
- Log_1.GLog.error(rs.body);
88
+ global_1.global.gLog.error(rs.body);
92
89
  }
93
90
  return null;
94
91
  }
95
92
  async getOpenId(access_token) {
96
93
  let url = "https://graph.qq.com/oauth2.0/me?access_token=" + access_token;
97
- let rs = await HttpTool_1.GHttpTool.get(url);
94
+ let rs = await global_1.global.gHttpTool.get(url);
98
95
  let body = rs.response ? rs.response.body : null;
99
96
  if (body) {
100
97
  body = body.replace("callback( ", "");
@@ -104,7 +101,7 @@ class QQTool {
104
101
  }
105
102
  catch (e) { }
106
103
  if (!body.openid) {
107
- Log_1.GLog.error(rs.response.body);
104
+ global_1.global.gLog.error(rs.response.body);
108
105
  }
109
106
  return body.openid;
110
107
  }
@@ -114,12 +111,12 @@ class QQTool {
114
111
  if (!access_token || !openid) {
115
112
  return null;
116
113
  }
117
- if (!IServerConfig_1.GServerCfg.qq) {
118
- Log_1.GLog.error("qq config not found!");
114
+ if (!global_1.global.gServerCfg.qq) {
115
+ global_1.global.gLog.error("qq config not found!");
119
116
  return null;
120
117
  }
121
- 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;
122
- let rs = await HttpTool_1.GHttpTool.get(url);
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);
123
120
  if (rs.body) {
124
121
  return rs.body;
125
122
  }
@@ -127,4 +124,3 @@ class QQTool {
127
124
  }
128
125
  }
129
126
  exports.QQTool = QQTool;
130
- exports.GQQTool = new QQTool();
@@ -1,29 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GQiniuTool = void 0;
3
+ exports.QiniuTool = void 0;
4
4
  const qiniu = require("qiniu");
5
- const IServerConfig_1 = require("../Config/IServerConfig");
6
- const Log_1 = require("../Logic/Log");
7
- exports.GQiniuTool = null;
5
+ const global_1 = require("../global");
8
6
  class QiniuTool {
9
7
  get host() {
10
- if (!IServerConfig_1.GServerCfg.qiniu) {
8
+ if (!global_1.global.gServerCfg.qiniu) {
11
9
  return "";
12
10
  }
13
- return IServerConfig_1.GServerCfg.qiniu.host;
11
+ return global_1.global.gServerCfg.qiniu.host;
14
12
  }
15
13
  getUploadToken(filename) {
16
- if (!IServerConfig_1.GServerCfg.qiniu) {
17
- Log_1.GLog.error("qiniu config not found!");
14
+ if (!global_1.global.gServerCfg.qiniu) {
15
+ global_1.global.gLog.error("qiniu config not found!");
18
16
  return "";
19
17
  }
20
- let mac = new qiniu.auth.digest.Mac(IServerConfig_1.GServerCfg.qiniu.accessKey, IServerConfig_1.GServerCfg.qiniu.secretKey);
18
+ let mac = new qiniu.auth.digest.Mac(global_1.global.gServerCfg.qiniu.accessKey, global_1.global.gServerCfg.qiniu.secretKey);
21
19
  let options = {
22
- scope: IServerConfig_1.GServerCfg.qiniu.bucket + ":" + filename,
20
+ scope: global_1.global.gServerCfg.qiniu.bucket + ":" + filename,
23
21
  };
24
22
  let putPolicy = new qiniu.rs.PutPolicy(options);
25
23
  let uploadToken = putPolicy.uploadToken(mac);
26
24
  return uploadToken;
27
25
  }
28
26
  }
29
- exports.GQiniuTool = new QiniuTool();
27
+ exports.QiniuTool = 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 Log_1 = require("../Logic/Log");
5
+ const global_1 = require("../global");
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
- Log_1.GLog.error({ des: "rpc no cmd", msg });
53
+ global_1.global.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,11 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WechatTool = exports.GWechatTool = exports.WechatUserInfo = void 0;
3
+ exports.WechatTool = exports.WechatUserInfo = exports.WechatOAMsg = void 0;
4
4
  const _ = require("underscore");
5
5
  const URLEncode = require("urlencode");
6
- const IServerConfig_1 = require("../Config/IServerConfig");
7
- const HttpTool_1 = require("../Logic/HttpTool");
8
- const Log_1 = require("../Logic/Log");
6
+ const global_1 = require("../global");
7
+ class WechatOAMsg {
8
+ // <xml>
9
+ // <ToUserName><![CDATA[toUser]]></ToUserName>
10
+ // <FromUserName><![CDATA[fromUser]]></FromUserName>
11
+ // <CreateTime>1348831860</CreateTime>
12
+ // <MsgType><![CDATA[text]]></MsgType>
13
+ // <Content><![CDATA[this is a test]]></Content>
14
+ // <MsgId>1234567890123456</MsgId>
15
+ // </xml>
16
+ toUserName = "";
17
+ fromUserName = ""; //其实是一个userid
18
+ createTime = -1;
19
+ msgType = ""; //text文本
20
+ content = "";
21
+ msgId = -1; //只有收到消息才会有
22
+ }
23
+ exports.WechatOAMsg = WechatOAMsg;
9
24
  class WechatUserInfo {
10
25
  openid = "OPENID";
11
26
  nickname = "NICKNAME";
@@ -21,18 +36,17 @@ class WechatUserInfo {
21
36
  unionid = "o6_bmasdasdsad6_2sgVt7hMZOPfL";
22
37
  }
23
38
  exports.WechatUserInfo = WechatUserInfo;
24
- exports.GWechatTool = null;
25
39
  class WechatTool {
26
40
  /**
27
41
  * 获取获取code的url
28
42
  */
29
43
  getAuthCodeUrl() {
30
- if (!IServerConfig_1.GServerCfg.wechat) {
31
- Log_1.GLog.error("wechat config not found!");
44
+ if (!global_1.global.gServerCfg.wechat) {
45
+ global_1.global.gLog.error("wechat config not found!");
32
46
  return null;
33
47
  }
34
- let url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + IServerConfig_1.GServerCfg.wechat.app_id;
35
- url += "&redirect_uri=" + URLEncode.encode(IServerConfig_1.GServerCfg.wechat.redirect_uri);
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);
36
50
  url += "&response_type=code&scope=snsapi_login";
37
51
  //必须 client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。请务必严格按照流程检查用户与state参数状态的绑定。
38
52
  let state = _.random(1000000, 9999999);
@@ -43,12 +57,12 @@ class WechatTool {
43
57
  if (!auth_code) {
44
58
  return null;
45
59
  }
46
- if (!IServerConfig_1.GServerCfg.wechat) {
47
- Log_1.GLog.error("wechat config not found!");
60
+ if (!global_1.global.gServerCfg.wechat) {
61
+ global_1.global.gLog.error("wechat config not found!");
48
62
  return null;
49
63
  }
50
- 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";
51
- let rs = await HttpTool_1.GHttpTool.get(url);
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);
52
66
  /*
53
67
  {
54
68
  "access_token":"ACCESS_TOKEN",
@@ -64,18 +78,54 @@ class WechatTool {
64
78
  return rs.body;
65
79
  }
66
80
  else {
67
- Log_1.GLog.error(rs.body);
81
+ global_1.global.gLog.error(rs.body);
68
82
  }
69
83
  return null;
70
84
  }
71
85
  async getUserInfo(access_token, openid) {
72
86
  let url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid;
73
- let rs = await HttpTool_1.GHttpTool.get(url);
87
+ let rs = await global_1.global.gHttpTool.get(url);
74
88
  if (rs.body) {
75
89
  return rs.body;
76
90
  }
77
91
  return null;
78
92
  }
93
+ //公众号
94
+ convertOAMsg(xmlStr) {
95
+ if (!xmlStr) {
96
+ return null;
97
+ }
98
+ let msg = new WechatOAMsg();
99
+ let pre = "<ToUserName><![CDATA[";
100
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
101
+ msg.toUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
102
+ pre = "<FromUserName><![CDATA[";
103
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
104
+ msg.fromUserName = xmlStr.substr(0, xmlStr.indexOf("]"));
105
+ pre = "<CreateTime>";
106
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
107
+ msg.createTime = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
108
+ pre = "<MsgType><![CDATA[";
109
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
110
+ msg.msgType = xmlStr.substr(0, xmlStr.indexOf("]"));
111
+ pre = "<Content><![CDATA[";
112
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
113
+ msg.content = xmlStr.substr(0, xmlStr.indexOf("]"));
114
+ pre = "<MsgId>";
115
+ xmlStr = xmlStr.substr(xmlStr.indexOf(pre) + pre.length);
116
+ msg.msgId = parseInt(xmlStr.substr(0, xmlStr.indexOf("<")));
117
+ return msg;
118
+ }
119
+ //公众号
120
+ toReplyXmlStr(msg) {
121
+ let xmlStr = "<xml>";
122
+ xmlStr += "<ToUserName><![CDATA[" + msg.toUserName + "]]></ToUserName>";
123
+ xmlStr += "<FromUserName><![CDATA[" + msg.fromUserName + "]]></FromUserName>";
124
+ xmlStr += "<CreateTime>" + msg.createTime + "</CreateTime>";
125
+ xmlStr += "<MsgType><![CDATA[" + msg.msgType + "]]></MsgType>";
126
+ xmlStr += "<Content><![CDATA[" + msg.content + "]]></Content>";
127
+ xmlStr += "</xml>";
128
+ return xmlStr;
129
+ }
79
130
  }
80
131
  exports.WechatTool = WechatTool;
81
- exports.GWechatTool = new WechatTool();