@dg-elements/js-sdk 0.0.5

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.
@@ -0,0 +1,785 @@
1
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
2
+ try {
3
+ var i = n[a](c),
4
+ u = i.value;
5
+ } catch (n) {
6
+ return void e(n);
7
+ }
8
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
9
+ }
10
+ function _asyncToGenerator(n) {
11
+ return function () {
12
+ var t = this,
13
+ e = arguments;
14
+ return new Promise(function (r, o) {
15
+ var a = n.apply(t, e);
16
+ function _next(n) {
17
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
18
+ }
19
+ function _throw(n) {
20
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
21
+ }
22
+ _next(void 0);
23
+ });
24
+ };
25
+ }
26
+ function _classCallCheck(a, n) {
27
+ if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
28
+ }
29
+ function _defineProperties(e, r) {
30
+ for (var t = 0; t < r.length; t++) {
31
+ var o = r[t];
32
+ o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
33
+ }
34
+ }
35
+ function _createClass(e, r, t) {
36
+ return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
37
+ writable: false
38
+ }), e;
39
+ }
40
+ function _defineProperty(e, r, t) {
41
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
42
+ value: t,
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true
46
+ }) : e[r] = t, e;
47
+ }
48
+ function ownKeys(e, r) {
49
+ var t = Object.keys(e);
50
+ if (Object.getOwnPropertySymbols) {
51
+ var o = Object.getOwnPropertySymbols(e);
52
+ r && (o = o.filter(function (r) {
53
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
54
+ })), t.push.apply(t, o);
55
+ }
56
+ return t;
57
+ }
58
+ function _objectSpread2(e) {
59
+ for (var r = 1; r < arguments.length; r++) {
60
+ var t = null != arguments[r] ? arguments[r] : {};
61
+ r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
62
+ _defineProperty(e, r, t[r]);
63
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
64
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
65
+ });
66
+ }
67
+ return e;
68
+ }
69
+ function _regenerator() {
70
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
71
+ var e,
72
+ t,
73
+ r = "function" == typeof Symbol ? Symbol : {},
74
+ n = r.iterator || "@@iterator",
75
+ o = r.toStringTag || "@@toStringTag";
76
+ function i(r, n, o, i) {
77
+ var c = n && n.prototype instanceof Generator ? n : Generator,
78
+ u = Object.create(c.prototype);
79
+ return _regeneratorDefine(u, "_invoke", function (r, n, o) {
80
+ var i,
81
+ c,
82
+ u,
83
+ f = 0,
84
+ p = o || [],
85
+ y = false,
86
+ G = {
87
+ p: 0,
88
+ n: 0,
89
+ v: e,
90
+ a: d,
91
+ f: d.bind(e, 4),
92
+ d: function (t, r) {
93
+ return i = t, c = 0, u = e, G.n = r, a;
94
+ }
95
+ };
96
+ function d(r, n) {
97
+ for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
98
+ var o,
99
+ i = p[t],
100
+ d = G.p,
101
+ l = i[2];
102
+ r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
103
+ }
104
+ if (o || r > 1) return a;
105
+ throw y = true, n;
106
+ }
107
+ return function (o, p, l) {
108
+ if (f > 1) throw TypeError("Generator is already running");
109
+ for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
110
+ i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
111
+ try {
112
+ if (f = 2, i) {
113
+ if (c || (o = "next"), t = i[o]) {
114
+ if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
115
+ if (!t.done) return t;
116
+ u = t.value, c < 2 && (c = 0);
117
+ } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
118
+ i = e;
119
+ } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
120
+ } catch (t) {
121
+ i = e, c = 1, u = t;
122
+ } finally {
123
+ f = 1;
124
+ }
125
+ }
126
+ return {
127
+ value: t,
128
+ done: y
129
+ };
130
+ };
131
+ }(r, o, i), true), u;
132
+ }
133
+ var a = {};
134
+ function Generator() {}
135
+ function GeneratorFunction() {}
136
+ function GeneratorFunctionPrototype() {}
137
+ t = Object.getPrototypeOf;
138
+ var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
139
+ return this;
140
+ }), t),
141
+ u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
142
+ function f(e) {
143
+ return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
144
+ }
145
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
146
+ return this;
147
+ }), _regeneratorDefine(u, "toString", function () {
148
+ return "[object Generator]";
149
+ }), (_regenerator = function () {
150
+ return {
151
+ w: i,
152
+ m: f
153
+ };
154
+ })();
155
+ }
156
+ function _regeneratorDefine(e, r, n, t) {
157
+ var i = Object.defineProperty;
158
+ try {
159
+ i({}, "", {});
160
+ } catch (e) {
161
+ i = 0;
162
+ }
163
+ _regeneratorDefine = function (e, r, n, t) {
164
+ function o(r, n) {
165
+ _regeneratorDefine(e, r, function (e) {
166
+ return this._invoke(r, n, e);
167
+ });
168
+ }
169
+ r ? i ? i(e, r, {
170
+ value: n,
171
+ enumerable: !t,
172
+ configurable: !t,
173
+ writable: !t
174
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
175
+ }, _regeneratorDefine(e, r, n, t);
176
+ }
177
+ function _toPrimitive(t, r) {
178
+ if ("object" != typeof t || !t) return t;
179
+ var e = t[Symbol.toPrimitive];
180
+ if (void 0 !== e) {
181
+ var i = e.call(t, r);
182
+ if ("object" != typeof i) return i;
183
+ throw new TypeError("@@toPrimitive must return a primitive value.");
184
+ }
185
+ return (String )(t);
186
+ }
187
+ function _toPropertyKey(t) {
188
+ var i = _toPrimitive(t, "string");
189
+ return "symbol" == typeof i ? i : i + "";
190
+ }
191
+
192
+ /**
193
+ * @Description: 判断是否是微信浏览器
194
+ * @return {*}
195
+ */
196
+ function isWXJS() {
197
+ return navigator && navigator.userAgent.toLowerCase().indexOf('micromessenger') > 0;
198
+ }
199
+
200
+ /**
201
+ * @Description: 判断是否是支付宝浏览器
202
+ * @return {*}
203
+ */
204
+ function isAliPayJS() {
205
+ return navigator && navigator.userAgent.toLowerCase().indexOf('alipayclient') > 0;
206
+ }
207
+
208
+ /**
209
+ * @Description: 判断是否是银联浏览器
210
+ * @return {*}
211
+ */
212
+ function isUnionPayJS() {
213
+ return navigator && navigator.userAgent.toLowerCase().indexOf('unionpay') > 0;
214
+ }
215
+
216
+ /**
217
+ * @Description: 判断是否是web环境
218
+ * @return {*}
219
+ */
220
+ function isWebEnv() {
221
+ return window.innerWidth > 1000 || navigator && !navigator.userAgent.match(/Android|webOS|iPhone|iPod|Phone|Mobile|OpenHarmony|BlackBerry/);
222
+ }
223
+
224
+ /**
225
+ * @Description: 将px转换为vw
226
+ * @param {*} value
227
+ * @return {*}
228
+ */
229
+ var pxToVw = function pxToVw(value) {
230
+ return value / 750 * 100 + 'vw';
231
+ };
232
+
233
+ // 查询订单交易状态
234
+ var queryOrderStatus = /*#__PURE__*/function () {
235
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(req_seq_id, huifu_id, req_date) {
236
+ var response, data, _t2;
237
+ return _regenerator().w(function (_context2) {
238
+ while (1) switch (_context2.p = _context2.n) {
239
+ case 0:
240
+ _context2.p = 0;
241
+ _context2.n = 1;
242
+ return fetch("https://api.huifu.com/trade/hostingpay/hosting/queryorder", {
243
+ method: 'POST',
244
+ body: JSON.stringify({
245
+ data: {
246
+ req_seq_id: req_seq_id,
247
+ huifu_id: huifu_id,
248
+ req_date: req_date
249
+ }
250
+ }),
251
+ headers: {
252
+ 'Content-Type': 'application/json'
253
+ }
254
+ });
255
+ case 1:
256
+ response = _context2.v;
257
+ _context2.n = 2;
258
+ return response.json();
259
+ case 2:
260
+ data = _context2.v;
261
+ return _context2.a(2, data);
262
+ case 3:
263
+ _context2.p = 3;
264
+ _t2 = _context2.v;
265
+ throw _t2;
266
+ case 4:
267
+ return _context2.a(2);
268
+ }
269
+ }, _callee2, null, [[0, 3]]);
270
+ }));
271
+ return function queryOrderStatus(_x2, _x3, _x4) {
272
+ return _ref2.apply(this, arguments);
273
+ };
274
+ }();
275
+
276
+ var payTypeDescEnum = {
277
+ alipay: '支付宝',
278
+ wechatpay: '微信',
279
+ unionpay: '云闪付'
280
+ };
281
+ var miniProgramEnum = {
282
+ // 支付宝
283
+ alipay: {
284
+ appId: '2021003121605466',
285
+ backgroundColor: '#007bff'
286
+ },
287
+ // 微信
288
+ wechatpay: {
289
+ appId: 'wxcaced8415a866378',
290
+ backgroundColor: '#1AAD19'
291
+ },
292
+ // 银联
293
+ unionpay: {
294
+ backgroundColor: '#dd264a'
295
+ }
296
+ };
297
+ var payBase64Img = {
298
+ alipay: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAFUklEQVRYR82ZC0xXVRzHv+f+/9dUnBCGOuQlYiEqFDgVFmAPV2ImkVOnlrXmY0los81Nx9xoLelltdqsQTJDo+YsnWIPxQeNiNS1FEUEQsKUIBHl+b/3ntPO/fcHLv/L/x75g3o3NjbO+Z3P+Z7f6xxIR0cXQ6/v8AWCA+dsOHeV4N82gBn+2nvk4PwuScADPsDDEygWTqd4fLJxQeICrL8BrNtrx+9XpMFZeYBWZodSfLJIRcAopwEdkMOl5spobCUDNDu404J8GfavUnRldcCFOXdfub5bTJxEkb9CBdl3xsHWfiN7JUF6ogafYUbfyT5q4wfkld2ClQrIS7s0VnjeO787tdHR7TMuorAsGYx5B7gsVgOZkU1ZXbN3hoYKMGYCBQnfSllr170JGOTHQMIyKWtX7k3AQF8LQB5JuUtVS0e/z+4+pMt6mj4p9j0Z/Z2gJWByBMWu5eYrUQbwH15pZB6wA/ymbvMCkBAGWXKC6DDgQO7uYBYk8R/KUDTnBlxzKe1rC+jw4F6WCoqKYgY4MUsG9TLNDClgdLYMhfYoqPVSTzSBCwOunKkha54mKqjQuLQv7Dj9l+cCIQwYH0axYBoVWths0PI441zum9O2yehUPac3YcABkwEI8WMoXq8YTJReJliSZ13/7wggr6dvLzC6x9bDNuSVWeem2waUCAMhgEbFK0/+CwoSw3s6HZ5yZm+X0XDL2oYl4JRxFGkxFLNCGMaPZnrHIhHgVhdQ00RQ8Q9BWR1BWa2EuhvuC/IFStYr+qZc35FKgle+sj5ePr5fwLhgijdTNEwdL34huXYT+LlGQtElCcerCNocBK/PUbEh2RggL+6240SVWHtnCpgSRfHpIlVXqrSW4GSNhOomguvtwDAJGO/LMGUcQ9IkhgcDzDfAo7S4hiA6kOltu+srv0aQ8pmYeqYKBvsxFKUr+LsFSN9rx9mrnnc6OYBhfpSG1OkUE8dYx/rqr+34oUJMPVPAt+arWPwIxbwdMqqarJ24B4lhTgTDukc1zAzt3y06FODYJYKD5TYUXSIe67Ap4PF0B07XS9j4nUn/ZC2QPoK3aDlLVQy3MNGuAEWVEg6WSzq0WdJ288GLWxx4/5gNn5dY56j+eDfPVbEm4faqTrsD+OmihEPnnQHW9X+FcQOs2OzAzl8lZB8diIIMW+ZqWN0H7kID0QPuobFiGaHNAfxY4YStbCTGlv/7tQpau4BFO8UjjSs5chjDu89qeGaqUTn+fLIi347mduDpSAZ+PZ0eKAbK7XaqMAK+8ZiK15IoMvbZsP+s2DHznPlBqoowf+Oh83q7qsCOm53GYJsTQZGRpCEuWAzUcGkKGMVw5FUFo4cDH52QkFtqw61+bnz8sWdNgoaUKPeF9pyWkFlog+qhJCaEUWQka4gP8wzqdqubFUqxY7EK/5G8HQfO1BNUNBC0dBLYCEOwH8BVC+2jGNfvSguQWWjH0UrxXDcjhCIjUUNyhDmo6bWTP958/LwqfAx1zcCXv9mQf0rCQK+w0YFU99GnIvs8v3m6uPNmgSfuGcEMIfcz+I1wtvA3OoDLzQQlfxKcrJbA/c3bZw6XB0eO5aBUDzjeZJCZ71BWe12saoyQmR5ZgwXjKfeHj2HY9KQKsmq3ykQjVrCYDNqw9ckayKE/HOzlPbeX9waNwMIQL736A+aSPDtKL4tH3p0ATIvWsP05zQnY2Aqk5siobxHzxaEGjA2iKFipgr/5dD+iN7UBG761o7j67inJn1qWxVJsekKD7winDN2ALlV+qSU4cFZCeQP/NwTR31WG8uNy+PswxExwwkX1uWb8B848ssGs1dIwAAAAAElFTkSuQmCC',
299
+ wechatpay: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEV0lEQVRYR9WZXUybVRjH/+dtgZaOroxS+ersWIhh0Sy4rwyzi7psXLihvZAa3S5WKibuQ010U6MJ3YXT6JYwdRgkeCEXErxRrxQds5lKdBbZBBTqBISQ0bLy/dGP95jT2IbSwvvRErtz15zn/zy/85zznHPeU4JVre7POj0/H7TzoEcBUgZQPSjIaruU/CagAPECdJAD+YrTKJubHmjyrvQdE9jebTvJ8/QtANqUAEh3MsNx5PXmipYPI9IooN1lu8xTelq6z9QrOELeb3645QzzHAb8L3MfpD6UfI8cR06xTBK25oJzgb/+x2ldaxQzyk0Z24ndZXuVp/SC/LFunJIj5DVic534ARSVGxcmCc8EPxKbyzYBSvOTcLNxUkI8LIP8hu1zyaITUGL79QRNxk9BVgHKc8pRqimFNmMzcpQ58PN+TAWmMB2YgnvejVvTt7DEL8kKIwtQAQX2btmHKsNhGLO3CgYO8kH0zvbiy/EvMLQwJGgfc5JIzaBRbUTt/XYYs42SAjFjSim67v6Ez8baMBecFaWXlMG9uftQa6qFkihFOV/L6M7SHVxyX4TXH3PsJjQXDbgndw/qTM+BI1xScBFx190ufDzUJOhLFGBeZh4c5eehVqgFHa5nEOADYGDfejowujgKQ5YBnmUPKLvUrNFEAZ4qPY0KXYVsOFbRnZ5OXPNeC689jUKD6sJqmPMfRePtK+ie7pYPqMvQ4d0H34ubWp7ygtPNKrZjogO/+H5GiIbAqt+cb0Z14ePQKDVhKPecGxcG2A0vcRPMoFlvxrGtx2PUDO7c72dhKbKgMu+RuD7XlCsM5p4fjPbt3LwTNcVWFKgK4khO/vb8mvukIKC12IrD91XFOW0bbcM3E19jl24XjhmPhyvbOenEVc93mPRPRu1L1CWwFj+FHdoda2bp/B8ODC8My6titudV5sXfJXx+H871ng1PHQEBBw4hhKJBtEotniiy4EDeAcGl0OBuwM2ZHnmAlkILjhQeTSj+ZLgF1yevx/SxTB4yHMJjBUdEV72jvx4jiyPyAPdv2Q+76dmE4vGlcbzZ90Z0m9it240ni2ugz9KLrnh2DL5w84z8NajiVLj40CWoFKqEQVtHWjGyOBwGK9tUJhosYnjDdwONf1+RX8VM+XTJMzhoOCg5uJCAnc3vDLyNwRXVvlojWMVMwLJYX16P/CyDUExJ/Wzzbv3n03U1ogCZB1O2CS+XvSJ64QuR9s/247K7AX7qTw0g88L2tBe3v4TczFyh+Ov290z34KPbjYJwzInoDEYiMkh2cZDTFkILaB9rh9P7vWi5DEAjHOUO0QGYIduOGJTT65R89ZcMWGWoQk2JNRz087F29M30oUhdhG3Z26DLzIVGkQ12rZoNzoaPvIG5AfgCPkkDWmksGZCdEMuhZXR6rsYcbbIJBIT3wGfnPfDhnt5PH2n/eJT2z2+siNL6ATNS5Wn9BByFTOdH9Ahkuv0N8S+eMPDOFWg83wAAAABJRU5ErkJggg==',
300
+ unionpay: 'data:image/png;base64,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'
301
+ };
302
+
303
+ /**
304
+ * 渲染H5支付checkout
305
+ * @param {*} element
306
+ * @param {*} options
307
+ * @returns
308
+ */
309
+ var renderH5Checkout = function renderH5Checkout(element, options) {
310
+ console.log('renderH5Checkout' + options);
311
+ // options 检查
312
+ var userCreatePreOrder = options.createPreOrder;
313
+ var callback = options.callback;
314
+
315
+ // 進行一個基本的檢查,確保傳入的是一個函式
316
+ if (typeof userCreatePreOrder !== 'function') {
317
+ console.error('SDK Error: createPreOrder 必須是一個函式。');
318
+ // 可以返回一個錯誤提示的元素,或直接返回 null
319
+ var errorElement = document.createElement('div');
320
+ errorElement.textContent = 'SDK 初始化失敗:缺少 createPreOrder 方法。';
321
+ return errorElement;
322
+ }
323
+ var checkoutContainer = document.createElement('div');
324
+ checkoutContainer.className = 'checkout-container';
325
+ checkoutContainer.style.color = '#000';
326
+ checkoutContainer.style.fontSize = pxToVw(28);
327
+ checkoutContainer.style.margin = "0 ".concat(pxToVw(22));
328
+ checkoutContainer.style.padding = "".concat(pxToVw(32), " 0");
329
+ checkoutContainer.style.borderBottom = '1px solid #ddd';
330
+ var optionsContainer = document.createElement('div');
331
+ optionsContainer.className = 'payment-options';
332
+ var paymentMethods = ['wechatpay', 'alipay', 'unionpay'];
333
+ if (isAliPayJS()) {
334
+ paymentMethods = ['alipay'];
335
+ checkoutContainer.dataset.selectedMethod = 'alipay';
336
+ } else if (isWXJS()) {
337
+ paymentMethods = ['wechatpay'];
338
+ checkoutContainer.dataset.selectedMethod = 'wechatpay';
339
+ } else if (isUnionPayJS()) {
340
+ paymentMethods = ['unionpay'];
341
+ checkoutContainer.dataset.selectedMethod = 'unionpay';
342
+ } else {
343
+ paymentMethods = ['wechatpay', 'alipay'];
344
+ checkoutContainer.dataset.selectedMethod = 'wechatpay';
345
+ }
346
+ paymentMethods.forEach(function (method) {
347
+ var btn = renderOpionPayBtn(method, paymentMethods[0] == method);
348
+ optionsContainer.appendChild(btn);
349
+ });
350
+ checkoutContainer.appendChild(optionsContainer);
351
+ var confirmBtn = document.createElement('button');
352
+ confirmBtn.className = 'confirm-payment-btn';
353
+ confirmBtn.textContent = '支付';
354
+ confirmBtn.style.marginTop = '20px';
355
+ confirmBtn.style.width = '100%';
356
+ checkoutContainer.appendChild(confirmBtn);
357
+ optionsContainer.addEventListener('click', function (event) {
358
+ var clickedOption = event.target.closest('.payment-option');
359
+ if (!clickedOption) return;
360
+ checkoutContainer.dataset.selectedMethod = clickedOption.dataset.method;
361
+ confirmBtn.disabled = false;
362
+ });
363
+ confirmBtn.addEventListener('click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
364
+ var method, _yield$userCreatePreO, pre_order_id, huifu_id, req_seq_id, req_date, url;
365
+ return _regenerator().w(function (_context) {
366
+ while (1) switch (_context.n) {
367
+ case 0:
368
+ method = checkoutContainer.dataset.selectedMethod;
369
+ _context.n = 1;
370
+ return userCreatePreOrder(method);
371
+ case 1:
372
+ _yield$userCreatePreO = _context.v;
373
+ pre_order_id = _yield$userCreatePreO.pre_order_id;
374
+ huifu_id = _yield$userCreatePreO.huifu_id;
375
+ req_seq_id = _yield$userCreatePreO.req_seq_id;
376
+ req_date = _yield$userCreatePreO.req_date;
377
+ console.log('返回预下单id:' + pre_order_id);
378
+ if (pre_order_id) {
379
+ _context.n = 2;
380
+ break;
381
+ }
382
+ callback({
383
+ code: '0001',
384
+ msg: 'pre_order_id 获取失败'
385
+ });
386
+ return _context.a(2);
387
+ case 2:
388
+ url = combileUrl(method, pre_order_id, callback);
389
+ console.log(url);
390
+ window.location.href = url;
391
+ handlePayResult(callback, huifu_id, req_seq_id, req_date);
392
+ case 3:
393
+ return _context.a(2);
394
+ }
395
+ }, _callee);
396
+ })));
397
+ element.appendChild(checkoutContainer);
398
+ };
399
+
400
+ //处理支付结果
401
+ var handlePayResult = /*#__PURE__*/function () {
402
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(callback, huifu_id, req_seq_id, req_date) {
403
+ var intervalId;
404
+ return _regenerator().w(function (_context3) {
405
+ while (1) switch (_context3.n) {
406
+ case 0:
407
+ // 轮询查询订单状态,两秒查一次
408
+ intervalId = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
409
+ var _result$data;
410
+ var result;
411
+ return _regenerator().w(function (_context2) {
412
+ while (1) switch (_context2.n) {
413
+ case 0:
414
+ _context2.n = 1;
415
+ return queryOrderStatus(req_seq_id, huifu_id, req_date);
416
+ case 1:
417
+ result = _context2.v;
418
+ // console.log('查询订单状态结果:', result);
419
+ // 判断支付状态
420
+ if ((result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.trans_stat) === '1') {
421
+ // 订单支付成功
422
+ callback({
423
+ code: '00000000',
424
+ msg: '支付成功',
425
+ data: result
426
+ });
427
+ clearInterval(intervalId);
428
+ }
429
+ case 2:
430
+ return _context2.a(2);
431
+ }
432
+ }, _callee2);
433
+ })), 2000); // 轮询最多五分钟
434
+ setTimeout(function () {
435
+ clearInterval(intervalId);
436
+ callback({
437
+ code: '00000002',
438
+ msg: '支付超时'
439
+ });
440
+ }, 300000);
441
+ case 1:
442
+ return _context3.a(2);
443
+ }
444
+ }, _callee3);
445
+ }));
446
+ return function handlePayResult(_x, _x2, _x3, _x4) {
447
+ return _ref2.apply(this, arguments);
448
+ };
449
+ }();
450
+
451
+ /**
452
+ * @Description: 渲染web checkout模块
453
+ * @param {*} element
454
+ * @param {*} options
455
+ * @return {*}
456
+ */
457
+ var renderWebPayCheckout = /*#__PURE__*/function () {
458
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(element, options) {
459
+ var createPreOrder, callback, _options$paymentMetho, paymentMethods, _options$appearance, appearance, errorElement, _yield$createPreOrder, pre_order_id, huifu_id, iframe;
460
+ return _regenerator().w(function (_context4) {
461
+ while (1) switch (_context4.n) {
462
+ case 0:
463
+ createPreOrder = options.createPreOrder, callback = options.callback, _options$paymentMetho = options.paymentMethods, paymentMethods = _options$paymentMetho === void 0 ? ['alipay', 'wechatpay', 'unionpay', 'quickpay'] : _options$paymentMetho, _options$appearance = options.appearance, appearance = _options$appearance === void 0 ? {} : _options$appearance; // 進行一個基本的檢查,確保傳入的是一個函式
464
+ if (!(typeof createPreOrder !== 'function')) {
465
+ _context4.n = 1;
466
+ break;
467
+ }
468
+ console.error('SDK Error: createPreOrder 必须是一个函数');
469
+ // 可以返回一個錯誤提示的元素,或直接返回 null
470
+ errorElement = document.createElement('div');
471
+ errorElement.textContent = 'SDK 初始化失败:缺少 createPreOrder 方法。';
472
+ return _context4.a(2, errorElement);
473
+ case 1:
474
+ _context4.n = 2;
475
+ return createPreOrder();
476
+ case 2:
477
+ _yield$createPreOrder = _context4.v;
478
+ pre_order_id = _yield$createPreOrder.pre_order_id;
479
+ huifu_id = _yield$createPreOrder.huifu_id;
480
+ _yield$createPreOrder.req_seq_id;
481
+ _yield$createPreOrder.req_date;
482
+ console.log('-- ~ renderWebPayModule ~ pre_order_id:', pre_order_id);
483
+
484
+ // 创建iframe
485
+ iframe = document.createElement('iframe');
486
+ iframe.style.width = '100%';
487
+ iframe.style.height = '300px';
488
+ iframe.style.border = 'none';
489
+ // iframe.src = `http://localhost:8080/hostingh5/pay/pages/cashier/pcPay?jump_id=${pre_order_id}&huifu_id=${huifu_id}&bank_switch=Y&paymentMethods=${paymentMethods.join(
490
+ // ',',
491
+ // )}`;
492
+ iframe.src = "https://api.huifu.com/hostingh5/pay/pages/cashier/pcPay?jump_id=".concat(pre_order_id, "&huifu_id=").concat(huifu_id, "&bank_switch=Y&paymentMethods=").concat(paymentMethods.join(','));
493
+
494
+ // Append iframe to container
495
+ element.appendChild(iframe);
496
+
497
+ // Send payment methods to iframe when it's ready
498
+ iframe.onload = function () {
499
+ iframe.contentWindow.postMessage({
500
+ paymentMethods: paymentMethods,
501
+ appearance: appearance
502
+ }, '*');
503
+ };
504
+
505
+ // Listen for selection from iframe
506
+ window.addEventListener('message', function (event) {
507
+ if (event.data.type === 'payment_data') {
508
+ console.log('Selected payment method:', event.data);
509
+ // Handle the selected payment method
510
+ if (callback && typeof callback === 'function') {
511
+ callback(event.data.data);
512
+ }
513
+ }
514
+ });
515
+ // 处理支付结果
516
+ return _context4.a(2, {
517
+ error: null
518
+ });
519
+ }
520
+ }, _callee4);
521
+ }));
522
+ return function renderWebPayCheckout(_x5, _x6) {
523
+ return _ref4.apply(this, arguments);
524
+ };
525
+ }();
526
+
527
+ /**
528
+ * @Description: H5 单支付按钮
529
+ * @param {*} bindElement
530
+ * @param {*} type
531
+ * @param {*} options
532
+ * @return {*}
533
+ */
534
+ var renderH5PayButton = function renderH5PayButton(bindElement, type, options) {
535
+ var userCreatePreOrder = options.createPreOrder;
536
+ var callback = options.callback;
537
+
538
+ // 進行一個基本的檢查,確保傳入的是一個函式
539
+ if (typeof userCreatePreOrder !== 'function') {
540
+ console.error('SDK Error: createPreOrder 必須是一個函式。');
541
+ // 可以返回一個錯誤提示的元素,或直接返回 null
542
+ var errorElement = document.createElement('div');
543
+ errorElement.textContent = 'SDK 初始化失敗:缺少 createPreOrder 方法。';
544
+ return errorElement;
545
+ }
546
+ var element = document.createElement('div');
547
+ element.className = "pay-button-".concat(type);
548
+ element.innerHTML = "".concat(payTypeDescEnum[type]);
549
+ element.style.width = '90%';
550
+ element.style.height = pxToVw(100);
551
+ element.style.border = 'none';
552
+ element.style.display = 'flex';
553
+ element.style.justifyContent = 'center';
554
+ element.style.alignItems = 'center';
555
+ element.style.backgroundColor = miniProgramEnum[type]['backgroundColor'];
556
+ element.style.color = '#fff';
557
+ element.style.fontSize = pxToVw(34);
558
+ element.style.fontWeight = 'bold';
559
+ element.style.cursor = 'pointer';
560
+ element.style.borderRadius = '8px';
561
+ element.style.outline = 'none';
562
+ element.style.margin = '10px auto';
563
+ element.addEventListener('click', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
564
+ var _yield$userCreatePreO2, pre_order_id, huifu_id, req_seq_id, req_date, url;
565
+ return _regenerator().w(function (_context5) {
566
+ while (1) switch (_context5.n) {
567
+ case 0:
568
+ _context5.n = 1;
569
+ return userCreatePreOrder(type);
570
+ case 1:
571
+ _yield$userCreatePreO2 = _context5.v;
572
+ pre_order_id = _yield$userCreatePreO2.pre_order_id;
573
+ huifu_id = _yield$userCreatePreO2.huifu_id;
574
+ req_seq_id = _yield$userCreatePreO2.req_seq_id;
575
+ req_date = _yield$userCreatePreO2.req_date;
576
+ url = combileUrl(type, pre_order_id, callback);
577
+ handlePayResult(callback, huifu_id, req_seq_id, req_date);
578
+ window.location.href = url;
579
+ case 2:
580
+ return _context5.a(2);
581
+ }
582
+ }, _callee5);
583
+ })));
584
+ bindElement.appendChild(element);
585
+ };
586
+ var renderWebPayButton = function renderWebPayButton(element, type, options) {
587
+ console.log('-- ~renderWebPayButton options:', options);
588
+ options.paymentMethods = [type];
589
+ renderWebPayCheckout(element, options);
590
+ return {
591
+ error: null
592
+ };
593
+ };
594
+ function combileUrl(method, pre_order_id, callback) {
595
+ var query = encodeURIComponent("p=".concat(pre_order_id));
596
+ var url = '';
597
+ if (method === 'alipay') {
598
+ if (isAliPayJS()) {
599
+ url = "https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=".concat(pre_order_id, "&paymentMethods=alipay");
600
+ } else {
601
+ var alipayAppId = miniProgramEnum['alipay']['appId'];
602
+ url = "alipays://platformapi/startapp?appId=".concat(alipayAppId, "&page=pages/cashier/cashier?").concat(query, "%26s%3Dapp&bank_switch=Y");
603
+ }
604
+ } else if (method === 'wechatpay') {
605
+ // 跳转至微信链接
606
+ if (isWXJS()) {
607
+ url = "https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=".concat(pre_order_id, "&paymentMethods=wechatpay");
608
+ } else {
609
+ var wxAppId = miniProgramEnum['wechatpay']['appId'];
610
+ url = "weixin://dl/business/?appid=".concat(wxAppId, "&version=release&path=pages/cashier/cashier&query=").concat(query);
611
+ }
612
+ } else if (method === 'unionpay') {
613
+ // 跳转至云闪付链接
614
+ if (isUnionPayJS()) {
615
+ url = "https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=".concat(pre_order_id, "&paymentMethods=unionpay");
616
+ } else {
617
+ callback({
618
+ code: '0003',
619
+ msg: '非云闪付App 环境,暂不支持'
620
+ });
621
+ return;
622
+ }
623
+ }
624
+ console.log(url);
625
+ return url;
626
+ }
627
+ function renderOpionPayBtn(method, checked) {
628
+ var option = document.createElement('div');
629
+ option.className = 'payment-option';
630
+ option.dataset.method = method;
631
+ option.style.display = 'flex';
632
+ option.style.alignItems = 'center';
633
+ option.style.justifyContent = 'space-between';
634
+ // 创建label元素
635
+ var label = document.createElement('label');
636
+ label.htmlFor = method;
637
+ label.style.width = '100%';
638
+ label.style.display = 'flex';
639
+ label.style.alignItems = 'center';
640
+ label.style.height = '40px';
641
+
642
+ // 创建图片元素
643
+ var img = document.createElement('img');
644
+ img.src = payBase64Img[method];
645
+ img.style.width = '20px';
646
+ img.style.height = '20px';
647
+ img.style.marginRight = '10px';
648
+
649
+ // 创建文本span
650
+ var span = document.createElement('span');
651
+ span.textContent = "".concat(payTypeDescEnum[method]);
652
+ span.style.color = '#000';
653
+ span.style.fontSize = '14px';
654
+ span.style.margin = "0 ".concat(pxToVw(10));
655
+
656
+ // 创建隐藏的单选按钮
657
+ var radioInput = document.createElement('input');
658
+ radioInput.type = 'radio';
659
+ radioInput.id = method;
660
+ radioInput.style.height = '20px';
661
+ radioInput.style.width = '20px';
662
+ radioInput.style.position = 'relative';
663
+ radioInput.style.right = '0px';
664
+ radioInput.name = 'paymentMethod';
665
+ radioInput.value = method;
666
+ radioInput.checked = checked;
667
+
668
+ // 组装元素
669
+ label.appendChild(img);
670
+ label.appendChild(span);
671
+ option.appendChild(label);
672
+ option.appendChild(radioInput);
673
+ return option;
674
+ }
675
+
676
+ /**
677
+ * @Description: 组件类
678
+ * @return {*}
679
+ */
680
+ var Component = /*#__PURE__*/function () {
681
+ function Component(type, options) {
682
+ _classCallCheck(this, Component);
683
+ if (!type) {
684
+ return {
685
+ error: 'Type is required'
686
+ };
687
+ }
688
+ this.type = type;
689
+ this.options = options;
690
+ this.element = null;
691
+ }
692
+ return _createClass(Component, [{
693
+ key: "mount",
694
+ value: function mount(selector) {
695
+ if (!selector) {
696
+ return {
697
+ error: 'Selector is required'
698
+ };
699
+ }
700
+ this.element = document.querySelector(selector);
701
+ console.log('---this.type---', this.type);
702
+ // 支付按钮
703
+ if (this.type === 'alipay' || this.type === 'wechatpay' || this.type === 'unionpay') {
704
+ if (isWebEnv()) {
705
+ return renderWebPayButton(this.element, this.type, this.options);
706
+ } else {
707
+ return renderH5PayButton(this.element, this.type, this.options);
708
+ }
709
+ } else if (this.type === 'checkout') {
710
+ // 支付收银台
711
+ if (isWebEnv()) {
712
+ this.element.style.display = 'flex';
713
+ this.element.style.justifyContent = 'center';
714
+ this.element.style.alignItems = 'center';
715
+ this.element.style.minHeight = '300px';
716
+ this.element.style.minWidth = '400px';
717
+ // 渲染pc支付模块
718
+ return renderWebPayCheckout(this.element, this.options);
719
+ } else {
720
+ return renderH5Checkout(this.element, _objectSpread2({}, this.options));
721
+ }
722
+ }
723
+ }
724
+
725
+ /**
726
+ * @Description: 渲染支付按钮
727
+ * @return {*}
728
+ */
729
+ }, {
730
+ key: "renderPaymentButton",
731
+ value: function renderPaymentButton() {
732
+ // 判断是否是web环境
733
+ if (isWebEnv()) {
734
+ this.element.style.display = 'flex';
735
+ this.element.style.justifyContent = 'center';
736
+ this.element.style.alignItems = 'center';
737
+ this.element.style.minHeight = '300px';
738
+ this.element.style.minWidth = '400px';
739
+ // 渲染pc支付模块
740
+ return renderWebPayButton(this.element, this.type, this.options);
741
+ } else {
742
+ return renderPayButton(this.element, this.type, this.options);
743
+ }
744
+ }
745
+ }]);
746
+ }();
747
+ /**
748
+ * @Description: 支付sdk类
749
+ * @return {*}
750
+ */
751
+ var HuiFuSDK = /*#__PURE__*/function () {
752
+ function HuiFuSDK() {
753
+ _classCallCheck(this, HuiFuSDK);
754
+ }
755
+ return _createClass(HuiFuSDK, [{
756
+ key: "component",
757
+ value: function component(type, options) {
758
+ return new Component(type, options);
759
+ }
760
+ }]);
761
+ }();
762
+ /**
763
+ * @Description: 初始化支付sdk
764
+ * @return {*}
765
+ */
766
+ function HFPay() {
767
+ return _HFPay.apply(this, arguments);
768
+ }
769
+ function _HFPay() {
770
+ _HFPay = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
771
+ return _regenerator().w(function (_context) {
772
+ while (1) switch (_context.n) {
773
+ case 0:
774
+ return _context.a(2, {
775
+ error: null,
776
+ hfPay: new HuiFuSDK()
777
+ });
778
+ }
779
+ }, _callee);
780
+ }));
781
+ return _HFPay.apply(this, arguments);
782
+ }
783
+
784
+ export { HFPay as default };
785
+ //# sourceMappingURL=dg-element.esm.js.map