cgserver 5.4.12 → 5.4.15

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 (205) hide show
  1. package/lib/Framework/AI/AiObject.d.ts +5 -0
  2. package/lib/Framework/AI/AiObject.js +11 -0
  3. package/lib/Framework/AI/AiObject.js.map +1 -0
  4. package/lib/Framework/AI/Astar.d.ts +38 -0
  5. package/lib/Framework/AI/Astar.js +134 -0
  6. package/lib/Framework/AI/Astar.js.map +1 -0
  7. package/lib/Framework/AI/BehaviorAI.d.ts +24 -0
  8. package/lib/Framework/AI/BehaviorAI.js +308 -0
  9. package/lib/Framework/AI/BehaviorAI.js.map +1 -0
  10. package/lib/Framework/AI/Entity.d.ts +12 -0
  11. package/lib/Framework/AI/Entity.js +34 -0
  12. package/lib/Framework/AI/Entity.js.map +1 -0
  13. package/lib/Framework/AI/Point.d.ts +17 -0
  14. package/lib/Framework/AI/Point.js +69 -0
  15. package/lib/Framework/AI/Point.js.map +1 -0
  16. package/lib/Framework/AI/TriggerMgr.d.ts +52 -0
  17. package/lib/Framework/AI/TriggerMgr.js +202 -0
  18. package/lib/Framework/AI/TriggerMgr.js.map +1 -0
  19. package/lib/Framework/Config/Config.d.ts +7 -0
  20. package/lib/Framework/Config/Config.js +38 -0
  21. package/lib/Framework/Config/Config.js.map +1 -0
  22. package/lib/Framework/Config/FrameworkConfig.d.ts +219 -0
  23. package/lib/Framework/Config/FrameworkConfig.js +225 -0
  24. package/lib/Framework/Config/FrameworkConfig.js.map +1 -0
  25. package/lib/Framework/Config/ServerConfig.d.ts +9 -0
  26. package/lib/Framework/Config/ServerConfig.js +19 -0
  27. package/lib/Framework/Config/ServerConfig.js.map +1 -0
  28. package/lib/Framework/Config/_error_.d.ts +95 -0
  29. package/lib/Framework/Config/_error_.js +35 -0
  30. package/lib/Framework/Config/_error_.js.map +1 -0
  31. package/lib/Framework/Core/Core.d.ts +101 -0
  32. package/lib/Framework/Core/Core.js +562 -0
  33. package/lib/Framework/Core/Core.js.map +1 -0
  34. package/lib/Framework/Core/Timer.d.ts +16 -0
  35. package/lib/Framework/Core/Timer.js +117 -0
  36. package/lib/Framework/Core/Timer.js.map +1 -0
  37. package/lib/Framework/Database/BaseMongoService.d.ts +67 -0
  38. package/lib/Framework/Database/BaseMongoService.js +80 -0
  39. package/lib/Framework/Database/BaseMongoService.js.map +1 -0
  40. package/lib/Framework/Database/BaseService.d.ts +34 -0
  41. package/lib/Framework/Database/BaseService.js +282 -0
  42. package/lib/Framework/Database/BaseService.js.map +1 -0
  43. package/lib/Framework/Database/Decorator/AutoIncrement.d.ts +1 -0
  44. package/lib/Framework/Database/Decorator/AutoIncrement.js +12 -0
  45. package/lib/Framework/Database/Decorator/AutoIncrement.js.map +1 -0
  46. package/lib/Framework/Database/Decorator/DBCache.d.ts +21 -0
  47. package/lib/Framework/Database/Decorator/DBCache.js +65 -0
  48. package/lib/Framework/Database/Decorator/DBCache.js.map +1 -0
  49. package/lib/Framework/Database/Decorator/NotNull.d.ts +1 -0
  50. package/lib/Framework/Database/Decorator/NotNull.js +12 -0
  51. package/lib/Framework/Database/Decorator/NotNull.js.map +1 -0
  52. package/lib/Framework/Database/Decorator/PrimaryKey.d.ts +1 -0
  53. package/lib/Framework/Database/Decorator/PrimaryKey.js +12 -0
  54. package/lib/Framework/Database/Decorator/PrimaryKey.js.map +1 -0
  55. package/lib/Framework/Database/Decorator/Property.d.ts +55 -0
  56. package/lib/Framework/Database/Decorator/Property.js +62 -0
  57. package/lib/Framework/Database/Decorator/Property.js.map +1 -0
  58. package/lib/Framework/Database/Decorator/Table.d.ts +1 -0
  59. package/lib/Framework/Database/Decorator/Table.js +16 -0
  60. package/lib/Framework/Database/Decorator/Table.js.map +1 -0
  61. package/lib/Framework/Database/Decorator/Type.d.ts +1 -0
  62. package/lib/Framework/Database/Decorator/Type.js +21 -0
  63. package/lib/Framework/Database/Decorator/Type.js.map +1 -0
  64. package/lib/Framework/Database/MongoManager.d.ts +135 -0
  65. package/lib/Framework/Database/MongoManager.js +407 -0
  66. package/lib/Framework/Database/MongoManager.js.map +1 -0
  67. package/lib/Framework/Database/MysqlManager.d.ts +41 -0
  68. package/lib/Framework/Database/MysqlManager.js +181 -0
  69. package/lib/Framework/Database/MysqlManager.js.map +1 -0
  70. package/lib/Framework/Database/RedisManager.d.ts +64 -0
  71. package/lib/Framework/Database/RedisManager.js +409 -0
  72. package/lib/Framework/Database/RedisManager.js.map +1 -0
  73. package/lib/Framework/Logic/CacheTool.d.ts +25 -0
  74. package/lib/Framework/Logic/CacheTool.js +74 -0
  75. package/lib/Framework/Logic/CacheTool.js.map +1 -0
  76. package/lib/Framework/Logic/HttpTool.d.ts +14 -0
  77. package/lib/Framework/Logic/HttpTool.js +59 -0
  78. package/lib/Framework/Logic/HttpTool.js.map +1 -0
  79. package/lib/Framework/Logic/Log.d.ts +15 -0
  80. package/lib/Framework/Logic/Log.js +78 -0
  81. package/lib/Framework/Logic/Log.js.map +1 -0
  82. package/lib/Framework/Service/AccountService.d.ts +77 -0
  83. package/lib/Framework/Service/AccountService.js +474 -0
  84. package/lib/Framework/Service/AccountService.js.map +1 -0
  85. package/lib/Framework/Service/MongoAccountService.d.ts +78 -0
  86. package/lib/Framework/Service/MongoAccountService.js +397 -0
  87. package/lib/Framework/Service/MongoAccountService.js.map +1 -0
  88. package/lib/Framework/Service/MongoCacheService.d.ts +13 -0
  89. package/lib/Framework/Service/MongoCacheService.js +28 -0
  90. package/lib/Framework/Service/MongoCacheService.js.map +1 -0
  91. package/lib/Framework/Service/MongoUserService.d.ts +36 -0
  92. package/lib/Framework/Service/MongoUserService.js +94 -0
  93. package/lib/Framework/Service/MongoUserService.js.map +1 -0
  94. package/lib/Framework/Service/UserService.d.ts +36 -0
  95. package/lib/Framework/Service/UserService.js +185 -0
  96. package/lib/Framework/Service/UserService.js.map +1 -0
  97. package/lib/Framework/Service/ini.d.ts +28 -0
  98. package/lib/Framework/Service/ini.js +36 -0
  99. package/lib/Framework/Service/ini.js.map +1 -0
  100. package/lib/Framework/SocketServer/IClientWebSocket.d.ts +24 -0
  101. package/lib/Framework/SocketServer/IClientWebSocket.js +72 -0
  102. package/lib/Framework/SocketServer/IClientWebSocket.js.map +1 -0
  103. package/lib/Framework/SocketServer/IServerWebSocket.d.ts +13 -0
  104. package/lib/Framework/SocketServer/IServerWebSocket.js +42 -0
  105. package/lib/Framework/SocketServer/IServerWebSocket.js.map +1 -0
  106. package/lib/Framework/SocketServer/ISocket.d.ts +44 -0
  107. package/lib/Framework/SocketServer/ISocket.js +224 -0
  108. package/lib/Framework/SocketServer/ISocket.js.map +1 -0
  109. package/lib/Framework/SocketServer/ISocketServer.d.ts +36 -0
  110. package/lib/Framework/SocketServer/ISocketServer.js +189 -0
  111. package/lib/Framework/SocketServer/ISocketServer.js.map +1 -0
  112. package/lib/Framework/SocketServer/IWebSocket copy.d.ts +44 -0
  113. package/lib/Framework/SocketServer/IWebSocket copy.js +224 -0
  114. package/lib/Framework/SocketServer/IWebSocket copy.js.map +1 -0
  115. package/lib/Framework/SocketServer/IWebSocket.d.ts +44 -0
  116. package/lib/Framework/SocketServer/IWebSocket.js +224 -0
  117. package/lib/Framework/SocketServer/IWebSocket.js.map +1 -0
  118. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -0
  119. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +58 -0
  120. package/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js.map +1 -0
  121. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -0
  122. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +9 -0
  123. package/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js.map +1 -0
  124. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -0
  125. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +30 -0
  126. package/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js.map +1 -0
  127. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -0
  128. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +32 -0
  129. package/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js.map +1 -0
  130. package/lib/Framework/ThirdParty/AlipayTool.d.ts +40 -0
  131. package/lib/Framework/ThirdParty/AlipayTool.js +123 -0
  132. package/lib/Framework/ThirdParty/AlipayTool.js.map +1 -0
  133. package/lib/Framework/ThirdParty/Alisms.d.ts +14 -0
  134. package/lib/Framework/ThirdParty/Alisms.js +47 -0
  135. package/lib/Framework/ThirdParty/Alisms.js.map +1 -0
  136. package/lib/Framework/ThirdParty/AppleTool.d.ts +131 -0
  137. package/lib/Framework/ThirdParty/AppleTool.js +235 -0
  138. package/lib/Framework/ThirdParty/AppleTool.js.map +1 -0
  139. package/lib/Framework/ThirdParty/EmailTool.d.ts +5 -0
  140. package/lib/Framework/ThirdParty/EmailTool.js +34 -0
  141. package/lib/Framework/ThirdParty/EmailTool.js.map +1 -0
  142. package/lib/Framework/ThirdParty/OpenSocial.d.ts +7 -0
  143. package/lib/Framework/ThirdParty/OpenSocial.js +33 -0
  144. package/lib/Framework/ThirdParty/OpenSocial.js.map +1 -0
  145. package/lib/Framework/ThirdParty/QQTool.d.ts +41 -0
  146. package/lib/Framework/ThirdParty/QQTool.js +116 -0
  147. package/lib/Framework/ThirdParty/QQTool.js.map +1 -0
  148. package/lib/Framework/ThirdParty/QiniuTool.d.ts +6 -0
  149. package/lib/Framework/ThirdParty/QiniuTool.js +22 -0
  150. package/lib/Framework/ThirdParty/QiniuTool.js.map +1 -0
  151. package/lib/Framework/ThirdParty/WechatOATool.d.ts +13 -0
  152. package/lib/Framework/ThirdParty/WechatOATool.js +62 -0
  153. package/lib/Framework/ThirdParty/WechatOATool.js.map +1 -0
  154. package/lib/Framework/ThirdParty/WechatTool.d.ts +20 -0
  155. package/lib/Framework/ThirdParty/WechatTool.js +75 -0
  156. package/lib/Framework/ThirdParty/WechatTool.js.map +1 -0
  157. package/lib/Framework/WebServer/Controller/BaseController.d.ts +33 -0
  158. package/lib/Framework/WebServer/Controller/BaseController.js +113 -0
  159. package/lib/Framework/WebServer/Controller/BaseController.js.map +1 -0
  160. package/lib/Framework/WebServer/Controller/BaseUserController.d.ts +26 -0
  161. package/lib/Framework/WebServer/Controller/BaseUserController.js +169 -0
  162. package/lib/Framework/WebServer/Controller/BaseUserController.js.map +1 -0
  163. package/lib/Framework/WebServer/Controller/MongoBaseUserController.d.ts +26 -0
  164. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -0
  165. package/lib/Framework/WebServer/Controller/MongoBaseUserController.js.map +1 -0
  166. package/lib/Framework/WebServer/Decorator/AdminValidate.d.ts +1 -0
  167. package/lib/Framework/WebServer/Decorator/AdminValidate.js +20 -0
  168. package/lib/Framework/WebServer/Decorator/AdminValidate.js.map +1 -0
  169. package/lib/Framework/WebServer/Decorator/AuthorityValidate.d.ts +2 -0
  170. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js +23 -0
  171. package/lib/Framework/WebServer/Decorator/AuthorityValidate.js.map +1 -0
  172. package/lib/Framework/WebServer/Decorator/CreatorValidate.d.ts +1 -0
  173. package/lib/Framework/WebServer/Decorator/CreatorValidate.js +20 -0
  174. package/lib/Framework/WebServer/Decorator/CreatorValidate.js.map +1 -0
  175. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.d.ts +1 -0
  176. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js +16 -0
  177. package/lib/Framework/WebServer/Decorator/JsonAdminValidate.js.map +1 -0
  178. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +2 -0
  179. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js +21 -0
  180. package/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js.map +1 -0
  181. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.d.ts +1 -0
  182. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js +20 -0
  183. package/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js.map +1 -0
  184. package/lib/Framework/WebServer/Engine/ControllerManager.d.ts +21 -0
  185. package/lib/Framework/WebServer/Engine/ControllerManager.js +113 -0
  186. package/lib/Framework/WebServer/Engine/ControllerManager.js.map +1 -0
  187. package/lib/Framework/WebServer/Engine/Engine.d.ts +21 -0
  188. package/lib/Framework/WebServer/Engine/Engine.js +135 -0
  189. package/lib/Framework/WebServer/Engine/Engine.js.map +1 -0
  190. package/lib/Framework/WebServer/Engine/RazorJs.d.ts +21 -0
  191. package/lib/Framework/WebServer/Engine/RazorJs.js +545 -0
  192. package/lib/Framework/WebServer/Engine/RazorJs.js.map +1 -0
  193. package/lib/Framework/WebServer/Engine/Request.d.ts +35 -0
  194. package/lib/Framework/WebServer/Engine/Request.js +215 -0
  195. package/lib/Framework/WebServer/Engine/Request.js.map +1 -0
  196. package/lib/Framework/WebServer/Engine/Response.d.ts +28 -0
  197. package/lib/Framework/WebServer/Engine/Response.js +95 -0
  198. package/lib/Framework/WebServer/Engine/Response.js.map +1 -0
  199. package/lib/Framework/WebServer/IWebServer.d.ts +20 -0
  200. package/lib/Framework/WebServer/IWebServer.js +50 -0
  201. package/lib/Framework/WebServer/IWebServer.js.map +1 -0
  202. package/lib/index.d.ts +4 -0
  203. package/lib/index.js +8 -0
  204. package/lib/index.js.map +1 -0
  205. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GProtoFactory = void 0;
4
+ const GoogleProtoFilter_1 = require("./GoogleProtoFilter");
5
+ const JsonProtoFilter_1 = require("./JsonProtoFilter");
6
+ const IProtoFilter_1 = require("./IProtoFilter");
7
+ exports.GProtoFactory = null;
8
+ class ProtoFactory {
9
+ _filters = new Map();
10
+ createFilter(type) {
11
+ let filter = this._filters.get(type);
12
+ if (filter) {
13
+ return filter;
14
+ }
15
+ switch (type) {
16
+ case IProtoFilter_1.EProtoType.GoogleProtoBuffer:
17
+ {
18
+ filter = new GoogleProtoFilter_1.GoogleProtoFilter();
19
+ break;
20
+ }
21
+ default:
22
+ {
23
+ filter = new JsonProtoFilter_1.JsonProtoFilter();
24
+ break;
25
+ }
26
+ }
27
+ this._filters.set(type, filter);
28
+ return filter;
29
+ }
30
+ }
31
+ exports.GProtoFactory = new ProtoFactory();
32
+ //# sourceMappingURL=ProtoFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtoFactory.js","sourceRoot":"","sources":["../../../../Framework/SocketServer/ProtoFilter/ProtoFactory.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AACxD,uDAAoD;AAEpD,iDAA4C;AAEjC,QAAA,aAAa,GAAc,IAAI,CAAA;AAC1C,MAAM,YAAY;IAEJ,QAAQ,GAAC,IAAI,GAAG,EAA2B,CAAA;IACrD,YAAY,CAAC,IAAe;QAExB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,IAAG,MAAM,EACT;YACI,OAAO,MAAM,CAAA;SAChB;QACD,QAAO,IAAI,EACX;YACI,KAAK,yBAAU,CAAC,iBAAiB;gBACjC;oBACI,MAAM,GAAG,IAAI,qCAAiB,EAAE,CAAA;oBAChC,MAAK;iBACR;YACD;gBACA;oBACI,MAAM,GAAG,IAAI,iCAAe,EAAE,CAAA;oBAC9B,MAAK;iBACR;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAC,MAAM,CAAC,CAAA;QAC9B,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ;AACD,qBAAa,GAAC,IAAI,YAAY,EAAE,CAAA"}
@@ -0,0 +1,40 @@
1
+ import AlipaySdk from 'alipay-sdk';
2
+ import { AliPayUtil } from "alipay_sdk2/AliPayUtil";
3
+ export declare let GAlipayTool: AlipayTool;
4
+ declare class AlipayTool {
5
+ protected _alipaySdk: AlipaySdk;
6
+ protected _aliPay: AliPayUtil;
7
+ protected _cfg: {
8
+ app_id: string;
9
+ app_key: string;
10
+ gateway: string;
11
+ signType: "RSA2" | "RSA";
12
+ /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
13
+ keyType: "PKCS1" | "PKCS8";
14
+ alipay_root_cert_sn: string;
15
+ alipay_cert_sn: string;
16
+ app_cert_sn: string;
17
+ notify_url: string;
18
+ };
19
+ init(): boolean;
20
+ /**
21
+ *
22
+ * @param title
23
+ * @param order_id
24
+ * @param money
25
+ */
26
+ doPay(title: string, order_id: string, money: number): string;
27
+ rsaCheck(payInfo: any): boolean;
28
+ /**
29
+ *
30
+ * @param method get|post
31
+ * @param notifyUrl 通知回调
32
+ * @param returnUrl
33
+ * @param outTradeNo
34
+ * @param money 价格
35
+ * @param subject 标题
36
+ * @param body 内容介绍
37
+ */
38
+ getAlipayPage(method: "get" | "post", notifyUrl: string, returnUrl: string, outTradeNo: string, money: number, subject: string, body: string): Promise<string | import("alipay-sdk").AlipaySdkCommonResult>;
39
+ }
40
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GAlipayTool = void 0;
4
+ const alipay_sdk_1 = require("alipay-sdk");
5
+ const AliPayUtil_1 = require("alipay_sdk2/AliPayUtil");
6
+ const fs = require("fs");
7
+ const FrameworkConfig_1 = require("../Config/FrameworkConfig");
8
+ const form_1 = require("alipay-sdk/lib/form");
9
+ const Log_1 = require("../Logic/Log");
10
+ exports.GAlipayTool = null;
11
+ class AlipayTool {
12
+ _alipaySdk = null;
13
+ _aliPay = null;
14
+ _cfg = {
15
+ app_id: "",
16
+ app_key: "",
17
+ gateway: "",
18
+ //RSA1 RSA2
19
+ signType: 'RSA2',
20
+ /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
21
+ keyType: 'PKCS1',
22
+ alipay_root_cert_sn: "",
23
+ alipay_cert_sn: "",
24
+ app_cert_sn: "",
25
+ notify_url: ""
26
+ };
27
+ init() {
28
+ if (!FrameworkConfig_1.GFCfg.third_cfg.alipay
29
+ || !FrameworkConfig_1.GFCfg.third_cfg.alipay.open) {
30
+ return false;
31
+ }
32
+ let suffix = "";
33
+ if (FrameworkConfig_1.GFCfg.third_cfg.alipay.dev) {
34
+ suffix = "_dev";
35
+ }
36
+ this._cfg = {
37
+ app_id: FrameworkConfig_1.GFCfg.third_cfg.alipay["app_id" + suffix],
38
+ app_key: FrameworkConfig_1.GFCfg.third_cfg.alipay["app_key" + suffix],
39
+ gateway: FrameworkConfig_1.GFCfg.third_cfg.alipay["gateway" + suffix],
40
+ //RSA1 RSA2
41
+ signType: FrameworkConfig_1.GFCfg.third_cfg.alipay["signType" + suffix],
42
+ /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
43
+ keyType: FrameworkConfig_1.GFCfg.third_cfg.alipay["signType" + suffix],
44
+ alipay_root_cert_sn: FrameworkConfig_1.GFCfg.third_cfg.alipay["alipay_root_cert_sn" + suffix],
45
+ alipay_cert_sn: FrameworkConfig_1.GFCfg.third_cfg.alipay["alipay_cert_sn" + suffix],
46
+ app_cert_sn: FrameworkConfig_1.GFCfg.third_cfg.alipay["app_cert_sn" + suffix],
47
+ notify_url: FrameworkConfig_1.GFCfg.third_cfg.alipay["notify_url" + suffix]
48
+ };
49
+ if (this._cfg.alipay_cert_sn) {
50
+ this._aliPay = new AliPayUtil_1.AliPayUtil(this._cfg.alipay_cert_sn, this._cfg.app_key);
51
+ }
52
+ else {
53
+ let app_key = "";
54
+ if (this._cfg.app_key.indexOf(".pem") > 0) {
55
+ app_key = fs.readFileSync(this._cfg.app_key, 'ascii');
56
+ }
57
+ else {
58
+ app_key = this._cfg.app_key;
59
+ }
60
+ this._alipaySdk = new alipay_sdk_1.default({
61
+ appId: this._cfg.app_id,
62
+ privateKey: app_key,
63
+ gateway: this._cfg.gateway,
64
+ signType: this._cfg.signType,
65
+ keyType: this._cfg.keyType
66
+ });
67
+ }
68
+ }
69
+ /**
70
+ *
71
+ * @param title
72
+ * @param order_id
73
+ * @param money
74
+ */
75
+ doPay(title, order_id, money) {
76
+ const param = {
77
+ app_id: this._cfg.app_id,
78
+ notify_url: this._cfg.notify_url,
79
+ app_cert_sn: this._cfg.app_cert_sn,
80
+ alipay_root_cert_sn: this._cfg.alipay_root_cert_sn,
81
+ subject: title,
82
+ trade_no: order_id,
83
+ total_amount: money,
84
+ };
85
+ var str = this._aliPay.getPayCode(param);
86
+ return str;
87
+ }
88
+ rsaCheck(payInfo) {
89
+ return this._aliPay.rsaCheck(payInfo);
90
+ }
91
+ /**
92
+ *
93
+ * @param method get|post
94
+ * @param notifyUrl 通知回调
95
+ * @param returnUrl
96
+ * @param outTradeNo
97
+ * @param money 价格
98
+ * @param subject 标题
99
+ * @param body 内容介绍
100
+ */
101
+ async getAlipayPage(method, notifyUrl, returnUrl, outTradeNo, money, subject, body) {
102
+ if (!this._alipaySdk) {
103
+ Log_1.GLog.error("并未配置alipay或者初始化失败");
104
+ return;
105
+ }
106
+ const formData = new form_1.default();
107
+ // 调用 setMethod 并传入 get,会返回可以跳转到支付页面的 url
108
+ formData.setMethod(method);
109
+ formData.addField("return_url", returnUrl);
110
+ formData.addField('notifyUrl', notifyUrl);
111
+ formData.addField('bizContent', {
112
+ outTradeNo: outTradeNo,
113
+ productCode: "FAST_INSTANT_TRADE_PAY",
114
+ totalAmount: money,
115
+ subject: subject,
116
+ body: body,
117
+ });
118
+ let url_or_html = await this._alipaySdk.exec('alipay.trade.page.pay', {}, { formData: formData });
119
+ return url_or_html;
120
+ }
121
+ }
122
+ exports.GAlipayTool = new AlipayTool();
123
+ //# sourceMappingURL=AlipayTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlipayTool.js","sourceRoot":"","sources":["../../../Framework/ThirdParty/AlipayTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare let GSmsTool: SMSTool;
2
+ declare class SMSTool {
3
+ protected _is_init: boolean;
4
+ protected _sms_client: any;
5
+ init(): boolean;
6
+ /**
7
+ * 发送短信验证码
8
+ * @param code 验证码
9
+ * @param phone 手机号
10
+ * @param callback 回调
11
+ */
12
+ sendSMS(code: number, phone: string): Promise<String>;
13
+ }
14
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GSmsTool = void 0;
4
+ const Log_1 = require("./../Logic/Log");
5
+ let SMSClient = require("@alicloud/sms-sdk");
6
+ const FrameworkConfig_1 = require("../Config/FrameworkConfig");
7
+ exports.GSmsTool = null;
8
+ class SMSTool {
9
+ _is_init = false;
10
+ _sms_client = null;
11
+ init() {
12
+ if (this._is_init) {
13
+ return true;
14
+ }
15
+ this._is_init = true;
16
+ this._sms_client = new SMSClient({ accessKeyId: FrameworkConfig_1.GFCfg.third_cfg.aliSms.accessKeyId, secretAccessKey: FrameworkConfig_1.GFCfg.third_cfg.aliSms.secretAccessKey });
17
+ }
18
+ /**
19
+ * 发送短信验证码
20
+ * @param code 验证码
21
+ * @param phone 手机号
22
+ * @param callback 回调
23
+ */
24
+ sendSMS(code, phone) {
25
+ return new Promise((resolve, reject) => {
26
+ this._sms_client.sendSMS({
27
+ PhoneNumbers: phone,
28
+ SignName: FrameworkConfig_1.GFCfg.third_cfg.aliSms.signName,
29
+ TemplateCode: FrameworkConfig_1.GFCfg.third_cfg.aliSms.templateCode,
30
+ TemplateParam: JSON.stringify({ code: code })
31
+ }).then((res) => {
32
+ if (res.Code == "OK") {
33
+ resolve(null);
34
+ }
35
+ else {
36
+ Log_1.GLog.error("phone:" + phone + " code:" + res.Code);
37
+ resolve(res.Code);
38
+ }
39
+ }, (err) => {
40
+ Log_1.GLog.error(err);
41
+ resolve(err);
42
+ });
43
+ });
44
+ }
45
+ }
46
+ exports.GSmsTool = new SMSTool();
47
+ //# sourceMappingURL=Alisms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alisms.js","sourceRoot":"","sources":["../../../Framework/ThirdParty/Alisms.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AACtC,IAAI,SAAS,GAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAC3C,+DAAkD;AAEvC,QAAA,QAAQ,GAAS,IAAI,CAAA;AAChC,MAAM,OAAO;IAEC,QAAQ,GAAC,KAAK,CAAA;IACd,WAAW,GAAC,IAAI,CAAA;IAC1B,IAAI;QAEA,IAAG,IAAI,CAAC,QAAQ,EAChB;YACI,OAAO,IAAI,CAAA;SACd;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,EAAC,WAAW,EAAC,uBAAK,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAC,eAAe,EAAC,uBAAK,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAC,CAAC,CAAA;IAC7I,CAAC;IACD;;;;;OAKG;IACH,OAAO,CAAC,IAAW,EAAC,KAAY;QAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAC,MAAM,EAAC,EAAE;YAEjC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBACrB,YAAY,EAAC,KAAK;gBAClB,QAAQ,EAAC,uBAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ;gBACxC,YAAY,EAAC,uBAAK,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY;gBAChD,aAAa,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,CAAC;aAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAC,EAAE;gBAEX,IAAG,GAAG,CAAC,IAAI,IAAE,IAAI,EACjB;oBACI,OAAO,CAAC,IAAI,CAAC,CAAA;iBAChB;qBAED;oBACI,UAAI,CAAC,KAAK,CAAC,QAAQ,GAAC,KAAK,GAAC,QAAQ,GAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;iBACpB;YACL,CAAC,EAAC,CAAC,GAAG,EAAC,EAAE;gBAEL,UAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACf,OAAO,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AACD,gBAAQ,GAAC,IAAI,OAAO,EAAE,CAAA"}
@@ -0,0 +1,131 @@
1
+ declare class ReceiptInfo {
2
+ cancellation_date: string;
3
+ cancellation_date_ms: string;
4
+ cancellation_date_pst: string;
5
+ cancellation_date_reason: string;
6
+ expires_date: string;
7
+ expires_date_ms: string;
8
+ expires_date_pst: string;
9
+ in_app_ownership_type: "FAMILY_SHARED" | "PURCHASED";
10
+ is_in_intro_offer_period: boolean;
11
+ is_trial_period: boolean;
12
+ is_upgraded: boolean;
13
+ offer_code_ref_name: string;
14
+ original_purchase_date: string;
15
+ original_purchase_date_ms: string;
16
+ original_purchase_date_pst: string;
17
+ original_transaction_id: string;
18
+ purchase_date: string;
19
+ purchase_date_ms: string;
20
+ purchase_date_pst: string;
21
+ quantity: number;
22
+ subscription_group_identifier: string;
23
+ web_order_line_item_id: string;
24
+ transaction_id: string;
25
+ product_id: string;
26
+ }
27
+ declare class PendingRenewalInfo {
28
+ auto_renew_product_id: string;
29
+ auto_renew_status: number;
30
+ expiration_intent: number;
31
+ grace_period_expires_date: string;
32
+ grace_period_expires_date_ms: string;
33
+ grace_period_expires_date_pst: string;
34
+ is_in_billing_retry_period: number;
35
+ offer_code_ref_name: string;
36
+ original_transaction_id: string;
37
+ price_consent_status: string;
38
+ product_id: string;
39
+ promotional_offer_id: string;
40
+ }
41
+ declare class InApp {
42
+ cancellation_date: string;
43
+ cancellation_date_ms: string;
44
+ cancellation_date_pst: string;
45
+ cancellation_reason: string;
46
+ expires_date: string;
47
+ expires_date_ms: string;
48
+ expires_date_pst: string;
49
+ is_in_intro_offer_period: boolean;
50
+ is_trial_period: boolean;
51
+ original_purchase_date: string;
52
+ original_purchase_date_ms: string;
53
+ original_purchase_date_pst: string;
54
+ original_transaction_id: string;
55
+ product_id: string;
56
+ promotional_offer_id: string;
57
+ purchase_date: string;
58
+ purchase_date_ms: string;
59
+ purchase_date_pst: string;
60
+ quantity: number;
61
+ transaction_id: string;
62
+ web_order_line_item_id: string;
63
+ }
64
+ declare class Receipt {
65
+ adam_id: number;
66
+ app_item_id: number;
67
+ application_version: string;
68
+ bundle_id: string;
69
+ download_id: number;
70
+ expiration_date: string;
71
+ expiration_date_ms: string;
72
+ expiration_date_pst: string;
73
+ in_app: InApp;
74
+ original_application_version: string;
75
+ original_purchase_date: string;
76
+ original_purchase_date_ms: string;
77
+ original_purchase_date_pst: string;
78
+ preorder_date: string;
79
+ preorder_date_ms: string;
80
+ preorder_date_pst: string;
81
+ receipt_creation_date: string;
82
+ receipt_creation_date_ms: string;
83
+ receipt_creation_date_pst: string;
84
+ receipt_type: string;
85
+ request_date: string;
86
+ request_date_ms: string;
87
+ request_date_pst: string;
88
+ version_external_identifier: number;
89
+ }
90
+ export declare class ResponseBody {
91
+ environment: "Sandbox" | "Production";
92
+ is_retryable: boolean;
93
+ latest_receipt: string;
94
+ latest_receipt_info: Array<ReceiptInfo>;
95
+ pending_renewal_info: Array<PendingRenewalInfo>;
96
+ receipt: Receipt;
97
+ status: number;
98
+ }
99
+ export declare class NotificationType {
100
+ static CANCEL: string;
101
+ static DID_CHANGE_RENEWAL_PREF: string;
102
+ static DID_CHANGE_RENEWAL_STATUS: string;
103
+ static DID_RECOVER: string;
104
+ static DID_RENEW: string;
105
+ static INTERACTIVE_RENEWAL: string;
106
+ }
107
+ export declare class NotificationBody {
108
+ unified_receipt: ResponseBody;
109
+ environment: string;
110
+ auto_renew_status: string;
111
+ auto_renew_status_change_date: string;
112
+ bvrs: string;
113
+ bid: string;
114
+ password: string;
115
+ auto_renew_product_id: string;
116
+ notification_type: string;
117
+ }
118
+ export declare let GAppleTool: AppleTool;
119
+ declare class AppleTool {
120
+ protected _verifyUrl: string;
121
+ protected _sandboxVerifyUrl: string;
122
+ onNotify(nb: NotificationBody): Promise<void>;
123
+ onVerify(receipt: string, environment: string): Promise<ResponseBody>;
124
+ signature(nickname: string, create_time: number, appBundleID: string, productIdentifier: string, offerIdentifier: string): {
125
+ keyIdentifier: string;
126
+ nonce: any;
127
+ timestamp: number;
128
+ signature: any;
129
+ };
130
+ }
131
+ export {};
@@ -0,0 +1,235 @@
1
+ "use strict";
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");
6
+ const ec_key_1 = require("ec-key");
7
+ const uuid_1 = require("uuid");
8
+ const FrameworkConfig_1 = require("../Config/FrameworkConfig");
9
+ const fs = require("fs");
10
+ //developer.apple.com/documentation/appstorereceipts/responsebody
11
+ class ReceiptInfo {
12
+ cancellation_date = "";
13
+ cancellation_date_ms = "";
14
+ cancellation_date_pst = "";
15
+ cancellation_date_reason = "";
16
+ expires_date = "2021-03-10 14:25:54 Etc/GMT";
17
+ expires_date_ms = "1615386354000";
18
+ expires_date_pst = "2021-03-10 06:25:54 America/Los_Angeles";
19
+ in_app_ownership_type;
20
+ is_in_intro_offer_period = false;
21
+ is_trial_period = false;
22
+ is_upgraded = false;
23
+ offer_code_ref_name = "";
24
+ original_purchase_date = "2021-03-10 08:22:26 Etc/GMT";
25
+ original_purchase_date_ms = "1615364546000";
26
+ original_purchase_date_pst = "2021-03-10 00:22:26 America/Los_Angeles";
27
+ original_transaction_id = "1000000786747716";
28
+ purchase_date = "2021-03-10 14:22:54 Etc/GMT";
29
+ purchase_date_ms = "1615386174000";
30
+ purchase_date_pst = "2021-03-10 06:22:54 America/Los_Angeles";
31
+ quantity = 1;
32
+ subscription_group_identifier = "20745320";
33
+ web_order_line_item_id = "1000000060695307";
34
+ transaction_id = "1000000786974540";
35
+ product_id = "com.eryi.eyreader.week";
36
+ }
37
+ class PendingRenewalInfo {
38
+ auto_renew_product_id = "com.eryi.eyreader.week";
39
+ auto_renew_status = 0;
40
+ expiration_intent = 1;
41
+ grace_period_expires_date = "";
42
+ grace_period_expires_date_ms = "";
43
+ grace_period_expires_date_pst = "";
44
+ is_in_billing_retry_period = 0;
45
+ offer_code_ref_name = "";
46
+ original_transaction_id = "1000000786747716";
47
+ price_consent_status = "";
48
+ product_id = "com.eryi.eyreader.week";
49
+ promotional_offer_id = "";
50
+ }
51
+ class InApp {
52
+ cancellation_date = "";
53
+ cancellation_date_ms = "";
54
+ cancellation_date_pst = "";
55
+ cancellation_reason = "";
56
+ expires_date = "2021-03-10 14:25:54 Etc/GMT";
57
+ expires_date_ms = "1615386354000";
58
+ expires_date_pst = "2021-03-10 06:25:54 America/Los_Angeles";
59
+ is_in_intro_offer_period = false;
60
+ is_trial_period = false;
61
+ original_purchase_date = "2021-03-10 08:22:26 Etc/GMT";
62
+ original_purchase_date_ms = "1615364546000";
63
+ original_purchase_date_pst = "2021-03-10 00:22:26 America/Los_Angeles";
64
+ original_transaction_id = "1000000786747716";
65
+ product_id = "com.eryi.eyreader.week";
66
+ promotional_offer_id = "";
67
+ purchase_date = "2021-03-10 14:22:54 Etc/GMT";
68
+ purchase_date_ms = "1615386174000";
69
+ purchase_date_pst = "2021-03-10 06:22:54 America/Los_Angeles";
70
+ quantity = 1;
71
+ transaction_id = "1000000786974540";
72
+ web_order_line_item_id = "1000000060695307";
73
+ }
74
+ class Receipt {
75
+ adam_id = -1;
76
+ app_item_id = -1;
77
+ application_version = "";
78
+ bundle_id = "";
79
+ download_id = -1;
80
+ expiration_date = "";
81
+ expiration_date_ms = "";
82
+ expiration_date_pst = "";
83
+ in_app = null;
84
+ original_application_version = "";
85
+ original_purchase_date = "";
86
+ original_purchase_date_ms = "";
87
+ original_purchase_date_pst = "";
88
+ preorder_date = "";
89
+ preorder_date_ms = "";
90
+ preorder_date_pst = "";
91
+ receipt_creation_date = "";
92
+ receipt_creation_date_ms = "";
93
+ receipt_creation_date_pst = "";
94
+ receipt_type = "";
95
+ request_date = "";
96
+ request_date_ms = "";
97
+ request_date_pst = "";
98
+ version_external_identifier = -1;
99
+ }
100
+ class ResponseBody {
101
+ environment = "Sandbox";
102
+ is_retryable = false; //出错之后的重试
103
+ latest_receipt = "0OkG/Sw==";
104
+ latest_receipt_info = null;
105
+ pending_renewal_info = null;
106
+ receipt = null;
107
+ status = 0;
108
+ }
109
+ exports.ResponseBody = ResponseBody;
110
+ class NotificationType {
111
+ //退款
112
+ static CANCEL = "CANCEL";
113
+ //变更续订方式,下次续订的时候生效,当前不变
114
+ static DID_CHANGE_RENEWAL_PREF = "DID_CHANGE_RENEWAL_PREF";
115
+ /*
116
+ 续订状态发生变化的时候通知
117
+ 检查auto_renew_status_change_date_ms获取最新的状态更新时间.
118
+ 通过auto_renew_status了解当前续订状态.
119
+ */
120
+ static DID_CHANGE_RENEWAL_STATUS = "DID_CHANGE_RENEWAL_STATUS";
121
+ //自动续订了一个之前续订失败了的续订
122
+ static DID_RECOVER = "DID_RECOVER";
123
+ //自动续订成功
124
+ static DID_RENEW = "DID_RENEW";
125
+ //客户交互更新订阅,订阅可以立刻生效
126
+ static INTERACTIVE_RENEWAL = "INTERACTIVE_RENEWAL";
127
+ }
128
+ exports.NotificationType = NotificationType;
129
+ class NotificationBody {
130
+ unified_receipt = null;
131
+ environment = "Sandbox";
132
+ auto_renew_status = "false";
133
+ auto_renew_status_change_date = "2021-03-11 03:03:14 Etc/GMT";
134
+ bvrs = "1";
135
+ bid = "com.eryi.eyreader";
136
+ password = "5203c7781e254aac8942290a0a2467ac";
137
+ auto_renew_product_id = "com.eryi.eyreader.week";
138
+ notification_type = NotificationType.DID_RECOVER;
139
+ }
140
+ exports.NotificationBody = NotificationBody;
141
+ class RequestBody {
142
+ "receipt-data" = "";
143
+ password = "5203c7781e254aac8942290a0a2467ac";
144
+ "exclude-old-transactions" = true;
145
+ }
146
+ exports.GAppleTool = null;
147
+ class AppleTool {
148
+ _verifyUrl = "https://buy.itunes.apple.com/verifyReceipt";
149
+ _sandboxVerifyUrl = "https://sandbox.itunes.apple.com/verifyReceipt";
150
+ async onNotify(nb) {
151
+ let ris = nb.unified_receipt?.latest_receipt_info;
152
+ var latest_one = (ris?.length > 0 ? ris[0] : null);
153
+ let msg = {
154
+ "notification_type": nb.notification_type,
155
+ "status": nb.unified_receipt.status,
156
+ "environment": nb.environment,
157
+ "auto_renew_status": nb.auto_renew_status,
158
+ "orginal_transaction_id": latest_one?.original_transaction_id,
159
+ "transaction_id": latest_one?.transaction_id,
160
+ "expire_date": latest_one?.expires_date,
161
+ "receipt_expire_date": nb.unified_receipt?.receipt?.expiration_date
162
+ };
163
+ Log_1.GLog.info(msg, true);
164
+ Log_1.GLog.info(nb);
165
+ }
166
+ async onVerify(receipt, environment) {
167
+ Log_1.GLog.info("begin onVerify============================" + environment, true);
168
+ let url = this._verifyUrl;
169
+ // if(environment.toLowerCase()=="sandbox")
170
+ // {
171
+ // url=this._sandboxVerifyUrl
172
+ // }
173
+ Log_1.GLog.info("url============================" + url, true);
174
+ let reqb = new RequestBody();
175
+ reqb['receipt-data'] = receipt;
176
+ //先验证生产环境
177
+ var resb = (await HttpTool_1.GHttpTool.httpPost(url, JSON.stringify(reqb))).body;
178
+ Log_1.GLog.info("production end onVerify_Res============================status=" + (resb ? resb.status : "null"), true);
179
+ //状态21007表示是沙盒环境
180
+ if (resb && resb.status == 21007) {
181
+ url = this._sandboxVerifyUrl;
182
+ resb = (await HttpTool_1.GHttpTool.httpPost(url, JSON.stringify(reqb))).body;
183
+ Log_1.GLog.info("sandbox end onVerify_Res============================status=" + (resb ? resb.status : "null"), true);
184
+ }
185
+ Log_1.GLog.info(resb);
186
+ return resb;
187
+ }
188
+ signature(nickname, create_time, appBundleID, productIdentifier, offerIdentifier) {
189
+ let keyIdentifier = "";
190
+ for (var k in FrameworkConfig_1.GFCfg.third_cfg.apple.keyIds) {
191
+ keyIdentifier = k;
192
+ break;
193
+ }
194
+ var nonce = (0, uuid_1.v4)();
195
+ var payload = appBundleID + '\u2063' +
196
+ keyIdentifier + '\u2063' +
197
+ productIdentifier + '\u2063' +
198
+ offerIdentifier + '\u2063' +
199
+ nickname + '\u2063' +
200
+ nonce.toLowerCase() + '\u2063' +
201
+ create_time;
202
+ // Get the PEM-formatted private key string associated with the Key ID.
203
+ const path = FrameworkConfig_1.GFCfg.third_cfg.apple.keyIds[keyIdentifier];
204
+ const keyString = fs.readFileSync(path).toString();
205
+ // Create an Elliptic Curve Digital Signature Algorithm (ECDSA) object using the private key.
206
+ const key = new ec_key_1.default(keyString, 'pem');
207
+ // Set up the cryptographic format used to sign the key with the SHA-256 hashing algorithm.
208
+ const cryptoSign = key.createSign('SHA256');
209
+ // Add the payload string to sign.
210
+ cryptoSign.update(payload);
211
+ /*
212
+ The Node.js crypto library creates a DER-formatted binary value signature,
213
+ and then base-64 encodes it to create the string that you will use in StoreKit.
214
+ */
215
+ const signature = cryptoSign.sign('base64');
216
+ /*
217
+ Check that the signature passes verification by using the ec-key library.
218
+ The verification process is similar to creating the signature, except it uses 'createVerify'
219
+ instead of 'createSign', and after updating it with the payload, it uses `verify` to pass in
220
+ the signature and encoding, instead of `sign` to get the signature.
221
+
222
+ This step is not required, but it's useful to check when implementing your signature code.
223
+ This helps debug issues with signing before sending transactions to Apple.
224
+ If verification succeeds, the next recommended testing step is attempting a purchase
225
+ in the Sandbox environment.
226
+ */
227
+ const verificationResult = key.createVerify('SHA256').update(payload).verify(signature, 'base64');
228
+ if (verificationResult) {
229
+ return { 'keyIdentifier': keyIdentifier, 'nonce': nonce, 'timestamp': create_time, 'signature': signature };
230
+ }
231
+ return;
232
+ }
233
+ }
234
+ exports.GAppleTool = new AppleTool();
235
+ //# sourceMappingURL=AppleTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppleTool.js","sourceRoot":"","sources":["../../../Framework/ThirdParty/AppleTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare let GEmailTool: EmailTool;
2
+ declare class EmailTool {
3
+ send(to: string, subject: string, html: string): Promise<unknown>;
4
+ }
5
+ export {};