cgserver 12.0.8 → 12.2.0

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 (176) hide show
  1. package/README.md +9 -0
  2. package/dist/lib/Framework/AI/AiObject.js +10 -10
  3. package/dist/lib/Framework/AI/Astar.js +133 -133
  4. package/dist/lib/Framework/AI/BehaviorAI.js +340 -307
  5. package/dist/lib/Framework/AI/Entity.js +33 -33
  6. package/dist/lib/Framework/AI/Point.js +68 -68
  7. package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
  8. package/dist/lib/Framework/Config/Config.js +74 -41
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
  11. package/dist/lib/Framework/Config/IServerConfig.js +31 -31
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/ByteTool.js +85 -85
  14. package/dist/lib/Framework/Core/Core.js +724 -688
  15. package/dist/lib/Framework/Core/Timer.js +116 -116
  16. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
  17. package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
  18. package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
  19. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
  20. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  21. package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
  22. package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
  23. package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
  24. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
  25. package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
  26. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
  27. package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
  28. package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
  29. package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
  30. package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
  31. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  32. package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
  33. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
  34. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  35. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
  36. package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
  37. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  38. package/dist/lib/Framework/Logic/CacheTool.js +106 -73
  39. package/dist/lib/Framework/Logic/EventTool.js +31 -28
  40. package/dist/lib/Framework/Logic/HttpTool.js +138 -105
  41. package/dist/lib/Framework/Logic/Log.js +121 -88
  42. package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
  43. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
  44. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
  45. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
  46. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
  47. package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
  48. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
  49. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
  50. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
  51. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
  52. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
  53. package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
  54. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
  55. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
  56. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
  57. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
  58. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
  59. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
  60. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
  61. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
  62. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
  63. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
  64. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
  65. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
  66. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
  67. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
  68. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
  69. package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
  70. package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
  71. package/dist/lib/Framework/Service/MongoUserService.js +129 -96
  72. package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
  73. package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
  74. package/dist/lib/Framework/Service/ini.js +36 -36
  75. package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
  76. package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
  77. package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
  78. package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
  79. package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
  80. package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
  81. package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
  82. package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
  83. package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
  84. package/dist/lib/Framework/cgserver.js +215 -212
  85. package/dist/lib/Framework/global.js +74 -74
  86. package/dist/lib/Framework/index.js +38 -5
  87. package/dist/lib/Framework/index_export_.js +180 -177
  88. package/dist/lib/test/test.js +21 -21
  89. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  90. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  91. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  92. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  93. package/dist/types/Framework/AI/Point.d.ts +17 -17
  94. package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
  95. package/dist/types/Framework/Config/Config.d.ts +9 -9
  96. package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
  97. package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
  98. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  99. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  100. package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
  101. package/dist/types/Framework/Core/Core.d.ts +119 -120
  102. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  103. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  104. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
  105. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  106. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  107. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  108. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  109. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  110. package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
  111. package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
  112. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
  113. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
  114. package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
  115. package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
  116. package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
  117. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  118. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  119. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  120. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  121. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  122. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  123. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  124. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  125. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  126. package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
  127. package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
  128. package/dist/types/Framework/Logic/Log.d.ts +18 -18
  129. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  130. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  131. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
  132. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  133. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
  134. package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
  135. package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
  136. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
  137. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
  138. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
  139. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
  140. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
  141. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
  142. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
  143. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
  144. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
  145. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  146. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
  147. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
  148. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
  149. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
  150. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
  151. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
  152. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
  153. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
  154. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
  155. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
  156. package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
  157. package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
  158. package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
  159. package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
  160. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  161. package/dist/types/Framework/Service/ini.d.ts +29 -29
  162. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
  163. package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
  164. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  165. package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
  166. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
  167. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  168. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
  169. package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
  170. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
  171. package/dist/types/Framework/cgserver.d.ts +63 -63
  172. package/dist/types/Framework/global.d.ts +45 -45
  173. package/dist/types/Framework/index.d.ts +2 -2
  174. package/dist/types/Framework/index_export_.d.ts +81 -79
  175. package/dist/types/test/test.d.ts +1 -1
  176. package/package.json +8 -4
@@ -1,205 +1,117 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gAlipayTool = exports.AlipayTool = exports.AlipayCallBack = exports.AlipayResult = void 0;
4
- const alipay_sdk_1 = require("alipay-sdk");
5
- const aliUtil = require("alipay-sdk/lib/util");
6
- const AliPayUtil_1 = require("alipay_sdk2/AliPayUtil");
7
- const fs = require("fs");
8
- const form_1 = require("alipay-sdk/lib/form");
9
- const Config_1 = require("../Config/Config");
10
- const IServerConfig_1 = require("../Config/IServerConfig");
11
- const Log_1 = require("../Logic/Log");
12
- class AlipayResult {
13
- alipay_trade_app_pay_response = {
14
- code: "10000",
15
- msg: "Success",
16
- app_id: "2021003143637369",
17
- auth_app_id: "2021003143637369",
18
- charset: "utf-8",
19
- timestamp: "2022-08-10 16:38:04",
20
- out_trade_no: "62f36e657a355ecc1cb8eec2",
21
- total_amount: "0.05",
22
- trade_no: "2022081022001489431433911625",
23
- seller_id: "2088441785429273"
24
- };
25
- sign = "d/Guf6QYnuk9fFlRS1EUFTY+n3/jQKp7IwQENG4WXO+qxMGglPXa3RhUHaJELTMwC4tcKhz8Z8GCiiI1Y7G84kAql1jyoekaOMWvdPRDOjkAqouP3oh5v9r23BziJUxgv/kanBRfOoTKvIT7R0L5DyfxMpEoHdssPHAtENMiniCVZlRUkAhHxjmgMrP0rzMtBvqctC5Me6UiV1yBdGWecLk9RNwMTZF8QSXKVpWXmhmimdjjFjGMcE6r7LoV9YW1Bsvjoq2kdRMX7CJZufGk1Y5Qz8Cv+E9QxTnDJMtA0XyYzte53/dSw0W3Z4Gbosn/kV4QDBRzN39NwwuoFwGuVg==";
26
- sign_type = "RSA2";
27
- }
28
- exports.AlipayResult = AlipayResult;
29
- class AlipayCallBack {
30
- gmt_create = "2022-08-10 16=38=03";
31
- charset = "utf-8";
32
- seller_email = "zdpuke@163.com";
33
- subject = "一把砖石";
34
- sign = "gytkeBGeea9V05lI6Qvvut8CZnXtXJmbb0dMDd76a6fgN2k2IO0HH4wkJylMQG3EXYJQctysURDtIB0dhqaZbDVtePsM3iQVeI2jwT3YS3XGS4xi13k8foag9vCcSgojKjxJS3ihfzuyK/Pc+KDTOQftoWP2s1dPUpJNGLcZp4sUFysl0Iyzf+2vXh4OJUPQ3DvCqePnDUawq1+AUUj63WHWvdsGCP70+eTsbKxJxWBhHfMVrwkOmUI0zivcHpHLVHbfTFvaM5LAa/ivSU8jiDHqgHYFZqqzTyZ1DLxEy0Ypo3sKBs5eK/UhdsNf5tjse7PxYJwMU2ziIo9gnqv6fQ==";
35
- buyer_id = 2088202482689432;
36
- invoice_amount = "0.05";
37
- notify_id = 2.022081000222164e+33;
38
- fund_bill_list = [{ amount: "0.05", fundChannel: "PCREDIT" }];
39
- notify_type = "trade_status_sync";
40
- trade_status = "TRADE_SUCCESS";
41
- receipt_amount = "0.05";
42
- app_id = 2021003143637369;
43
- buyer_pay_amount = "0.05";
44
- sign_type = "RSA2";
45
- seller_id = 2088441785429273;
46
- gmt_payment = "2022-08-10 16:38:03";
47
- notify_time = "2022-08-10 16:38:04";
48
- version = 1;
49
- out_trade_no = "62f36e657a355ecc1cb8eec2";
50
- total_amount = "0.05";
51
- trade_no = 2.0220810220014894e+27;
52
- auth_app_id = 2021003143637369;
53
- buyer_logon_id = "138****3531";
54
- point_amount = 0;
55
- }
56
- exports.AlipayCallBack = AlipayCallBack;
57
- class AlipayTool {
58
- _alipaySdk = null;
59
- _aliPay = null;
60
- _cfg = {
61
- app_id: "",
62
- app_key: "",
63
- gateway: "",
64
- //RSA1 RSA2
65
- signType: 'RSA2',
66
- /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
67
- keyType: 'PKCS1',
68
- alipay_root_cert_sn: "",
69
- alipay_cert_sn: "",
70
- app_cert_sn: "",
71
- notify_url: ""
72
- };
73
- init() {
74
- if (!IServerConfig_1.gServerCfg.alipay
75
- || !IServerConfig_1.gServerCfg.alipay.open) {
76
- return false;
77
- }
78
- let suffix = "";
79
- if (IServerConfig_1.gServerCfg.alipay.dev) {
80
- suffix = "_dev";
81
- }
82
- this._cfg = {
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],
86
- //RSA1 RSA2
87
- signType: IServerConfig_1.gServerCfg.alipay["signType" + suffix],
88
- /** 指定private key类型, 默认: PKCS1, PKCS8: PRIVATE KEY, PKCS1: RSA PRIVATE KEY */
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]
94
- };
95
- if (this._cfg.alipay_cert_sn) {
96
- this._aliPay = new AliPayUtil_1.AliPayUtil(this._cfg.alipay_cert_sn, this._cfg.app_key);
97
- }
98
- else {
99
- let app_key = "";
100
- if (this._cfg.app_key.indexOf(".pem") > 0) {
101
- app_key = fs.readFileSync(Config_1.Config.rootDataDir + this._cfg.app_key, 'ascii');
102
- }
103
- else {
104
- app_key = this._cfg.app_key;
105
- }
106
- this._alipaySdk = new alipay_sdk_1.default({
107
- appId: this._cfg.app_id,
108
- privateKey: app_key,
109
- gateway: this._cfg.gateway,
110
- signType: this._cfg.signType,
111
- keyType: this._cfg.keyType
112
- });
113
- }
114
- Log_1.gLog.info("alipay init success!");
115
- }
116
- /**
117
- * charset:"utf-8",method:"alipay.trade.app.pay",sign_type:"RSA2,version:"1.0"
118
- * @param out_trade_no
119
- * @param total_amount
120
- * @param subject
121
- * @param body
122
- * @param timeout_express
123
- * @param product_code
124
- * @returns
125
- */
126
- _buildOrderParams(out_trade_no, total_amount, subject = "1", body = "我是测试数据", timeout_express = "30m", product_code = "QUICK_MSECURITY_PAY") {
127
- let order_params = {
128
- notifyUrl: this._cfg.notify_url,
129
- bizContent: {
130
- timeout_express: timeout_express,
131
- product_code: product_code,
132
- total_amount: total_amount,
133
- subject: encodeURIComponent(subject),
134
- body: encodeURIComponent(body),
135
- out_trade_no: out_trade_no
136
- }
137
- };
138
- return order_params;
139
- }
140
- _sign(order_params) {
141
- let sign = aliUtil.sign("alipay.trade.app.pay", order_params, this._alipaySdk.config);
142
- return sign;
143
- }
144
- getOrderInfo(out_trade_no, total_amount, subject = "1", body = "我是测试数据") {
145
- let order_params = this._buildOrderParams(out_trade_no, total_amount, subject, body);
146
- let sign = this._sign(order_params);
147
- let { url, execParams } = this._alipaySdk["formatUrl"]("", sign);
148
- const order_info = (url + '&biz_content=' + encodeURIComponent(execParams.biz_content)).substring(1);
149
- return order_info;
150
- }
151
- /**
152
- *
153
- * @param title
154
- * @param order_id
155
- * @param money
156
- */
157
- doPay(title, order_id, money) {
158
- const param = {
159
- app_id: this._cfg.app_id,
160
- notify_url: this._cfg.notify_url,
161
- app_cert_sn: this._cfg.app_cert_sn,
162
- alipay_root_cert_sn: this._cfg.alipay_root_cert_sn,
163
- subject: title,
164
- trade_no: order_id,
165
- total_amount: money,
166
- };
167
- var str = this._aliPay.getPayCode(param);
168
- return str;
169
- }
170
- rsaCheck(payInfo) {
171
- return this._aliPay.rsaCheck(payInfo);
172
- }
173
- /**
174
- *
175
- * @param method get|post
176
- * @param notifyUrl 通知回调
177
- * @param returnUrl
178
- * @param outTradeNo
179
- * @param money 价格
180
- * @param subject 标题
181
- * @param body 内容介绍
182
- */
183
- async getAlipayPage(method, notifyUrl, returnUrl, outTradeNo, money, subject, body) {
184
- if (!this._alipaySdk) {
185
- Log_1.gLog.error("并未配置alipay或者初始化失败");
186
- return;
187
- }
188
- const formData = new form_1.default();
189
- // 调用 setMethod 并传入 get,会返回可以跳转到支付页面的 url
190
- formData.setMethod(method);
191
- formData.addField("return_url", returnUrl);
192
- formData.addField('notifyUrl', notifyUrl);
193
- formData.addField('bizContent', {
194
- outTradeNo: outTradeNo,
195
- productCode: "FAST_INSTANT_TRADE_PAY",
196
- totalAmount: money,
197
- subject: subject,
198
- body: body,
199
- });
200
- let url_or_html = await this._alipaySdk.exec('alipay.trade.page.pay', {}, { formData: formData });
201
- return url_or_html;
202
- }
203
- }
204
- exports.AlipayTool = AlipayTool;
205
- exports.gAlipayTool = new AlipayTool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gAlipayTool = exports.AlipayTool = exports.EAlipayExecType = void 0;
4
+ const alipay_sdk_1 = require("alipay-sdk");
5
+ const Log_1 = require("../Logic/Log");
6
+ var EAlipayExecType;
7
+ (function (EAlipayExecType) {
8
+ EAlipayExecType[EAlipayExecType["exec"] = 0] = "exec";
9
+ EAlipayExecType[EAlipayExecType["sdkExec"] = 1] = "sdkExec";
10
+ EAlipayExecType[EAlipayExecType["pageExec"] = 2] = "pageExec";
11
+ })(EAlipayExecType || (exports.EAlipayExecType = EAlipayExecType = {}));
12
+ class AlipayTool {
13
+ _alipaySdk = null;
14
+ get alipaySdk() {
15
+ return this._alipaySdk;
16
+ }
17
+ async init(cfg) {
18
+ if (!cfg
19
+ || !cfg.open) {
20
+ return false;
21
+ }
22
+ let ret = true;
23
+ // 实例化客户端
24
+ this._alipaySdk = new alipay_sdk_1.AlipaySdk(cfg);
25
+ const result = await this._alipaySdk.curl('POST', '/v3/alipay/user/deloauth/detail/query', {
26
+ body: {
27
+ date: '20230102',
28
+ offset: 20,
29
+ limit: 1,
30
+ },
31
+ });
32
+ if (result && result.responseHttpStatus == 200) {
33
+ Log_1.gLog.info(result);
34
+ Log_1.gLog.info("alipay init success!");
35
+ }
36
+ else {
37
+ Log_1.gLog.error(result);
38
+ Log_1.gLog.error("alipay init failed!");
39
+ ret = false;
40
+ }
41
+ return ret;
42
+ }
43
+ /**
44
+ * 创建支付宝APP支付订单
45
+ * @param params 支付参数
46
+ * @returns 支付订单信息
47
+ */
48
+ async trade_app_pay(params, execType = EAlipayExecType.exec) {
49
+ return await this.exec('alipay.trade.app.pay', params, execType);
50
+ }
51
+ /**
52
+ * 验证支付宝支付回调
53
+ * @param notifyData 回调数据
54
+ * @returns 验证结果
55
+ */
56
+ async verifyNotify(notifyData) {
57
+ try {
58
+ if (!this._alipaySdk) {
59
+ return false;
60
+ }
61
+ // 验证签名
62
+ const signValid = await this._alipaySdk.checkNotifySign(notifyData);
63
+ if (!signValid) {
64
+ Log_1.gLog.error({ tip: '支付宝回调签名验证失败' });
65
+ return false;
66
+ }
67
+ // 验证交易状态
68
+ if (notifyData.trade_status !== 'TRADE_SUCCESS' && notifyData.trade_status !== 'TRADE_FINISHED') {
69
+ Log_1.gLog.error({ tip: '支付宝回调交易状态异常:', status: notifyData.trade_status });
70
+ return false;
71
+ }
72
+ return true;
73
+ }
74
+ catch (error) {
75
+ Log_1.gLog.error({ tip: '验证支付宝回调失败:', error });
76
+ return false;
77
+ }
78
+ }
79
+ async exec(method, params, execType = EAlipayExecType.exec) {
80
+ try {
81
+ if (!this._alipaySdk) {
82
+ return null;
83
+ }
84
+ let result = null;
85
+ switch (execType) {
86
+ case EAlipayExecType.exec:
87
+ result = await this._alipaySdk.exec(method, params);
88
+ break;
89
+ case EAlipayExecType.sdkExec:
90
+ result = await this._alipaySdk.sdkExec(method, params);
91
+ break;
92
+ case EAlipayExecType.pageExec:
93
+ result = await this._alipaySdk.pageExec(method, params);
94
+ break;
95
+ }
96
+ return result;
97
+ }
98
+ catch (error) {
99
+ Log_1.gLog.error({ tip: '执行支付宝请求失败:', method, params, error: error });
100
+ return null;
101
+ }
102
+ }
103
+ /**
104
+ * 查询订单状态
105
+ * @param outTradeNo 商户订单号
106
+ * @returns 订单状态
107
+ */
108
+ async trade_query(outTradeNo, execType = EAlipayExecType.exec) {
109
+ return await this.exec('alipay.trade.query', {
110
+ bizContent: {
111
+ out_trade_no: outTradeNo
112
+ }
113
+ }, execType);
114
+ }
115
+ }
116
+ exports.AlipayTool = AlipayTool;
117
+ exports.gAlipayTool = new AlipayTool();
@@ -1,50 +1,61 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gSMSTool = exports.SMSTool = void 0;
4
- const IServerConfig_1 = require("../Config/IServerConfig");
5
- const Log_1 = require("../Logic/Log");
6
- let SMSClient = require("@alicloud/sms-sdk");
7
- class SMSTool {
8
- _is_init = false;
9
- _sms_client = null;
10
- init() {
11
- if (!IServerConfig_1.gServerCfg.aliSms) {
12
- return false;
13
- }
14
- if (this._is_init) {
15
- return true;
16
- }
17
- this._is_init = true;
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!");
20
- }
21
- /**
22
- * 发送短信验证码
23
- * @param code 验证码
24
- * @param phone 手机号
25
- * @param callback 回调
26
- */
27
- sendSMS(code, phone) {
28
- return new Promise((resolve, reject) => {
29
- this._sms_client.sendSMS({
30
- PhoneNumbers: phone,
31
- SignName: IServerConfig_1.gServerCfg.aliSms.signName,
32
- TemplateCode: IServerConfig_1.gServerCfg.aliSms.templateCode,
33
- TemplateParam: JSON.stringify({ code: code })
34
- }).then((res) => {
35
- if (res.Code == "OK") {
36
- resolve(null);
37
- }
38
- else {
39
- Log_1.gLog.error("phone:" + phone + " code:" + res.Code);
40
- resolve(res.Code);
41
- }
42
- }, (err) => {
43
- Log_1.gLog.error(err);
44
- resolve(err);
45
- });
46
- });
47
- }
48
- }
49
- exports.SMSTool = SMSTool;
50
- exports.gSMSTool = new SMSTool();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gSMSTool = exports.SMSTool = exports.AliSmsConfig = void 0;
4
+ const Log_1 = require("../Logic/Log");
5
+ let SMSClient = require("@alicloud/sms-sdk");
6
+ class AliSmsConfig {
7
+ open = false;
8
+ signName = "";
9
+ accessKeyId = "";
10
+ secretAccessKey = "";
11
+ templateCode = "";
12
+ }
13
+ exports.AliSmsConfig = AliSmsConfig;
14
+ class SMSTool {
15
+ _is_init = false;
16
+ _sms_client = null;
17
+ _cfg = null;
18
+ init(cfg) {
19
+ if (!cfg
20
+ || !cfg.open) {
21
+ return false;
22
+ }
23
+ this._cfg = cfg;
24
+ if (this._is_init) {
25
+ return true;
26
+ }
27
+ this._is_init = true;
28
+ this._sms_client = new SMSClient({ accessKeyId: cfg.accessKeyId, secretAccessKey: cfg.secretAccessKey });
29
+ Log_1.gLog.info("SMSClient init success!");
30
+ }
31
+ /**
32
+ * 发送短信验证码
33
+ * @param code 验证码
34
+ * @param phone 手机号
35
+ * @param callback 回调
36
+ */
37
+ sendSMS(code, phone) {
38
+ let param = typeof code == "string" ? { code: code } : code;
39
+ return new Promise((resolve, reject) => {
40
+ this._sms_client.sendSMS({
41
+ PhoneNumbers: phone,
42
+ SignName: this._cfg.signName,
43
+ TemplateCode: this._cfg.templateCode,
44
+ TemplateParam: JSON.stringify(param)
45
+ }).then((res) => {
46
+ if (res.Code == "OK") {
47
+ resolve(null);
48
+ }
49
+ else {
50
+ Log_1.gLog.error("phone:" + phone + " code:" + res.Code);
51
+ resolve(res.Code);
52
+ }
53
+ }, (err) => {
54
+ Log_1.gLog.error(err);
55
+ resolve(err);
56
+ });
57
+ });
58
+ }
59
+ }
60
+ exports.SMSTool = SMSTool;
61
+ exports.gSMSTool = new SMSTool();