@pisell/pisellos 0.0.566 → 0.0.568

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 (230) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/adapter/walletPass/utils.js +0 -3
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +1 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +14 -41
  13. package/dist/modules/Payment/index.js +142 -270
  14. package/dist/modules/Payment/walletpass.js +4 -5
  15. package/dist/modules/Rules/index.js +0 -7
  16. package/dist/modules/SalesSummary/utils.js +4 -2
  17. package/dist/modules/Schedule/utils.js +0 -1
  18. package/dist/modules/Step/index.js +0 -1
  19. package/dist/modules/Summary/utils.js +2 -2
  20. package/dist/plugins/request.js +1 -4
  21. package/dist/plugins/window.js +2 -6
  22. package/dist/server/index.js +88 -121
  23. package/dist/server/modules/menu/index.js +32 -41
  24. package/dist/server/modules/products/index.js +29 -49
  25. package/dist/server/modules/quotation/index.js +29 -38
  26. package/dist/server/modules/resource/index.js +3 -4
  27. package/dist/server/modules/schedule/index.js +32 -40
  28. package/dist/server/utils/product.js +0 -1
  29. package/dist/solution/BookingByStep/index.d.ts +1 -1
  30. package/dist/solution/BookingByStep/index.js +7 -59
  31. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  32. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  33. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  34. package/dist/solution/BookingTicket/index.d.ts +1 -1
  35. package/dist/solution/BookingTicket/index.js +5 -7
  36. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  37. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  38. package/dist/solution/BuyTickets/index.js +9 -12
  39. package/dist/solution/Checkout/index.js +177 -246
  40. package/dist/solution/Checkout/utils/index.js +4 -16
  41. package/dist/solution/RegisterAndLogin/index.js +30 -76
  42. package/dist/solution/ScanOrder/index.js +50 -60
  43. package/dist/solution/ShopDiscount/index.js +2 -7
  44. package/dist/solution/VenueBooking/index.d.ts +5 -0
  45. package/dist/solution/VenueBooking/index.js +364 -327
  46. package/dist/utils/task.js +15 -18
  47. package/dist/utils/watch.js +0 -1
  48. package/lib/apis/picoding.js +2 -0
  49. package/lib/core/index.js +130 -131
  50. package/lib/effects/index.js +46 -57
  51. package/lib/index.js +92 -53
  52. package/lib/model/index.js +14 -21
  53. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  54. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  55. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  56. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  57. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  58. package/lib/model/strategy/adapter/index.js +100 -64
  59. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  60. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  61. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  62. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  63. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  64. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  65. package/lib/model/strategy/adapter/promotion/evaluator.js +381 -231
  66. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  67. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  68. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  69. package/lib/model/strategy/adapter/type.js +4 -16
  70. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  71. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  72. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  73. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  74. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  75. package/lib/model/strategy/adapter/walletPass/utils.js +652 -402
  76. package/lib/model/strategy/engine.js +270 -168
  77. package/lib/model/strategy/index.js +49 -34
  78. package/lib/model/strategy/strategy-example.js +243 -239
  79. package/lib/model/strategy/type.js +100 -40
  80. package/lib/modules/Account/index.js +39 -53
  81. package/lib/modules/Account/types.js +20 -33
  82. package/lib/modules/AccountList/index.js +116 -154
  83. package/lib/modules/AccountList/types.js +30 -31
  84. package/lib/modules/AccountList/utils.js +18 -30
  85. package/lib/modules/BaseModule.js +22 -45
  86. package/lib/modules/Cart/index.js +170 -124
  87. package/lib/modules/Cart/types.js +46 -51
  88. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  89. package/lib/modules/Cart/utils/cartDate.js +56 -61
  90. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  91. package/lib/modules/Cart/utils/cartNote.js +27 -32
  92. package/lib/modules/Cart/utils/cartProduct.js +306 -241
  93. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  94. package/lib/modules/Cart/utils/cartResource.js +72 -78
  95. package/lib/modules/Cart/utils/changePrice.js +26 -62
  96. package/lib/modules/Cart/utils/index.js +106 -48
  97. package/lib/modules/Customer/constants.js +13 -34
  98. package/lib/modules/Customer/index.js +216 -153
  99. package/lib/modules/Customer/types.js +38 -35
  100. package/lib/modules/Date/index.js +116 -115
  101. package/lib/modules/Date/types.js +16 -28
  102. package/lib/modules/Date/utils.js +174 -123
  103. package/lib/modules/Discount/index.js +117 -113
  104. package/lib/modules/Discount/types.js +9 -31
  105. package/lib/modules/Guests/index.js +30 -56
  106. package/lib/modules/Guests/types.js +23 -33
  107. package/lib/modules/Holder/index.js +209 -189
  108. package/lib/modules/Holder/types.js +4 -16
  109. package/lib/modules/Holder/utils.js +20 -49
  110. package/lib/modules/OpenData/index.js +63 -74
  111. package/lib/modules/OpenData/types.js +4 -16
  112. package/lib/modules/OpenData/utils.js +44 -78
  113. package/lib/modules/Order/index.d.ts +1 -1
  114. package/lib/modules/Order/index.js +332 -320
  115. package/lib/modules/Order/types.js +24 -33
  116. package/lib/modules/Order/utils.js +350 -284
  117. package/lib/modules/Payment/cash.js +20 -33
  118. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  119. package/lib/modules/Payment/eftpos.js +16 -30
  120. package/lib/modules/Payment/index.js +566 -432
  121. package/lib/modules/Payment/mx51.js +1 -0
  122. package/lib/modules/Payment/types.js +216 -107
  123. package/lib/modules/Payment/utils.js +50 -47
  124. package/lib/modules/Payment/walletpass.js +221 -203
  125. package/lib/modules/Product/index.js +51 -46
  126. package/lib/modules/Product/types.js +4 -16
  127. package/lib/modules/Product/utils.js +32 -33
  128. package/lib/modules/ProductList/index.js +111 -110
  129. package/lib/modules/ProductList/types.js +9 -31
  130. package/lib/modules/Quotation/index.js +60 -82
  131. package/lib/modules/Quotation/types.js +4 -16
  132. package/lib/modules/Resource/index.js +27 -59
  133. package/lib/modules/Resource/types.js +22 -32
  134. package/lib/modules/Resource/utils.js +30 -38
  135. package/lib/modules/Rules/index.js +1172 -872
  136. package/lib/modules/Rules/types.js +17 -40
  137. package/lib/modules/SalesSummary/index.js +59 -68
  138. package/lib/modules/SalesSummary/types.js +4 -16
  139. package/lib/modules/SalesSummary/utils.js +178 -193
  140. package/lib/modules/ScanOrderLogger/index.js +59 -79
  141. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  142. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  143. package/lib/modules/ScanOrderLogger/types.js +4 -16
  144. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -167
  145. package/lib/modules/Schedule/index.js +97 -107
  146. package/lib/modules/Schedule/type.js +4 -16
  147. package/lib/modules/Schedule/types.js +4 -16
  148. package/lib/modules/Schedule/utils.js +433 -291
  149. package/lib/modules/Step/index.js +40 -52
  150. package/lib/modules/Step/tyeps.js +4 -16
  151. package/lib/modules/Summary/index.js +66 -70
  152. package/lib/modules/Summary/types.js +4 -16
  153. package/lib/modules/Summary/utils.js +782 -429
  154. package/lib/modules/index.js +212 -57
  155. package/lib/plugins/app.js +4 -16
  156. package/lib/plugins/index.js +36 -25
  157. package/lib/plugins/request.js +137 -126
  158. package/lib/plugins/shopStore.js +4 -16
  159. package/lib/plugins/user.js +4 -16
  160. package/lib/plugins/window.js +171 -179
  161. package/lib/server/index.js +882 -623
  162. package/lib/server/modules/index.js +85 -59
  163. package/lib/server/modules/menu/index.js +146 -122
  164. package/lib/server/modules/menu/types.js +18 -31
  165. package/lib/server/modules/order/index.js +195 -231
  166. package/lib/server/modules/order/types.js +107 -32
  167. package/lib/server/modules/order/utils/filterBookings.js +174 -140
  168. package/lib/server/modules/order/utils/filterOrders.js +89 -60
  169. package/lib/server/modules/products/index.js +430 -335
  170. package/lib/server/modules/products/types.js +41 -34
  171. package/lib/server/modules/quotation/index.js +76 -77
  172. package/lib/server/modules/quotation/types.js +21 -31
  173. package/lib/server/modules/resource/index.js +216 -187
  174. package/lib/server/modules/resource/types.js +42 -33
  175. package/lib/server/modules/schedule/index.js +134 -119
  176. package/lib/server/modules/schedule/types.js +14 -21
  177. package/lib/server/modules/schedule/utils.js +334 -163
  178. package/lib/server/types.js +4 -16
  179. package/lib/server/utils/index.js +25 -23
  180. package/lib/server/utils/product.js +196 -139
  181. package/lib/server/utils/schedule.js +34 -41
  182. package/lib/server/utils/time.js +40 -49
  183. package/lib/solution/BookingByStep/index.d.ts +1 -1
  184. package/lib/solution/BookingByStep/index.js +1530 -1343
  185. package/lib/solution/BookingByStep/types.js +40 -99
  186. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  187. package/lib/solution/BookingByStep/utils/products.js +42 -52
  188. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  189. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  190. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  191. package/lib/solution/BookingTicket/index.d.ts +1 -1
  192. package/lib/solution/BookingTicket/index.js +147 -122
  193. package/lib/solution/BookingTicket/types.js +38 -64
  194. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +64 -80
  195. package/lib/solution/BookingTicket/utils/scan/handleScan.js +82 -80
  196. package/lib/solution/BookingTicket/utils/scan/index.js +90 -94
  197. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  198. package/lib/solution/BuyTickets/index.js +67 -70
  199. package/lib/solution/BuyTickets/types.js +22 -38
  200. package/lib/solution/Checkout/index.js +1451 -1158
  201. package/lib/solution/Checkout/types.js +91 -61
  202. package/lib/solution/Checkout/utils/index.js +227 -158
  203. package/lib/solution/PlaceOrder/index.js +55 -0
  204. package/lib/solution/RegisterAndLogin/config.js +493 -460
  205. package/lib/solution/RegisterAndLogin/index.js +633 -630
  206. package/lib/solution/RegisterAndLogin/types.js +189 -76
  207. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  208. package/lib/solution/Sales/index.js +218 -200
  209. package/lib/solution/Sales/types.js +27 -33
  210. package/lib/solution/ScanOrder/index.js +803 -840
  211. package/lib/solution/ScanOrder/types.js +34 -34
  212. package/lib/solution/ScanOrder/utils.js +372 -331
  213. package/lib/solution/ShopDiscount/index.js +230 -236
  214. package/lib/solution/ShopDiscount/types.js +15 -37
  215. package/lib/solution/ShopDiscount/utils.js +309 -172
  216. package/lib/solution/VenueBooking/index.d.ts +5 -0
  217. package/lib/solution/VenueBooking/index.js +886 -929
  218. package/lib/solution/VenueBooking/types.js +20 -40
  219. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  220. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  221. package/lib/solution/VenueBooking/utils/slotMerge.js +88 -106
  222. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  223. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  224. package/lib/solution/VenueBooking/utils.js +130 -67
  225. package/lib/solution/index.js +102 -37
  226. package/lib/store/createStore.js +32 -29
  227. package/lib/types/index.js +4 -16
  228. package/lib/utils/task.js +36 -36
  229. package/lib/utils/watch.js +81 -47
  230. package/package.json +2 -1
@@ -1,84 +1,77 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/solution/BookingTicket/utils/scan/cloudSearch.ts
20
- var cloudSearch_exports = {};
21
- __export(cloudSearch_exports, {
22
- searchProduct: () => searchProduct,
23
- searchWallet: () => searchWallet,
24
- searchWalletPass: () => searchWalletPass
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
25
5
  });
26
- module.exports = __toCommonJS(cloudSearch_exports);
27
- var searchWalletPass = async (request, code) => {
6
+ exports.searchWalletPass = exports.searchWallet = exports.searchProduct = void 0;
7
+ /**
8
+ * 搜索通用识别码
9
+ */
10
+ const searchWalletPass = async (request, code) => {
28
11
  const params = {
29
12
  code,
30
13
  translate_flag: 1,
31
14
  // 翻译识别码名称 0:不翻译 1:翻译
32
15
  relation_product: 1,
33
16
  // 组装关联商品: 0不处理 1处理
34
- with: ["customer"],
35
- tags: [
36
- "point_card",
37
- // 积分卡
38
- "gift_card",
39
- // 充值卡
40
- "product_voucher",
41
- // 代金券
42
- "product_discount_card",
43
- // 折扣卡
44
- "good_pass",
45
- // 商品券
46
- "session_ticket",
47
- // 场次票
48
- "appointment_ticket"
49
- // 预约类门票
17
+ with: ['customer'],
18
+ tags: ['point_card',
19
+ // 积分卡
20
+ 'gift_card',
21
+ // 充值卡
22
+ 'product_voucher',
23
+ // 代金券
24
+ 'product_discount_card',
25
+ // 折扣卡
26
+ 'good_pass',
27
+ // 商品券
28
+ 'session_ticket',
29
+ // 场次票
30
+ 'appointment_ticket' // 预约类门票
50
31
  ]
51
32
  };
52
33
  try {
53
- const res = await (request == null ? void 0 : request.get(
54
- "/machinecode/batch-search",
55
- params
56
- ));
57
- if ((res == null ? void 0 : res.code) == 200 && !!(res == null ? void 0 : res.data)) {
58
- return { searchType: "walletPass", response: res };
34
+ const res = await request?.get('/machinecode/batch-search', params);
35
+ if (res?.code == 200 && !!res?.data) {
36
+ return {
37
+ searchType: 'walletPass',
38
+ response: res
39
+ };
59
40
  }
60
- throw new Error("没有找到对应的识别码");
41
+ throw new Error('没有找到对应的识别码');
61
42
  } catch (error) {
62
43
  throw error;
63
44
  }
64
45
  };
65
- var searchWallet = async (request, code) => {
66
- const params = { code, with_customer: 1 };
46
+
47
+ /**
48
+ * 搜索钱包
49
+ */
50
+ exports.searchWalletPass = searchWalletPass;
51
+ const searchWallet = async (request, code) => {
52
+ const params = {
53
+ code,
54
+ with_customer: 1
55
+ };
67
56
  try {
68
- const res = await (request == null ? void 0 : request.post(
69
- "/wallet/detail/search",
70
- params
71
- ));
72
- if ((res == null ? void 0 : res.code) == 200 && !!(res == null ? void 0 : res.data)) {
73
- return { searchType: "wallet", response: res };
57
+ const res = await request?.post('/wallet/detail/search', params);
58
+ if (res?.code == 200 && !!res?.data) {
59
+ return {
60
+ searchType: 'wallet',
61
+ response: res
62
+ };
74
63
  }
75
- throw new Error("没有找到对应的识别码");
64
+ throw new Error('没有找到对应的识别码');
76
65
  } catch (error) {
77
66
  throw error;
78
67
  }
79
68
  };
80
- var searchProduct = async (request, code) => {
81
- var _a, _b;
69
+
70
+ /**
71
+ * 搜索商品
72
+ */
73
+ exports.searchWallet = searchWallet;
74
+ const searchProduct = async (request, code) => {
82
75
  const params = {
83
76
  exact_search: code,
84
77
  open_bundle: 0,
@@ -87,31 +80,22 @@ var searchProduct = async (request, code) => {
87
80
  // 报价单
88
81
  skip: 1,
89
82
  num: 20,
90
- status: "published",
91
- with: ["variantGroup"],
92
- with_count: ["bundleGroup", "optionGroup"],
93
- exclude_extension_type: [
94
- "product_party",
95
- "product_event",
96
- "product_series_event",
97
- "product_package_ticket",
98
- "ticket",
99
- "event_item"
100
- ]
83
+ status: 'published',
84
+ with: ['variantGroup'],
85
+ with_count: ['bundleGroup', 'optionGroup'],
86
+ exclude_extension_type: ['product_party', 'product_event', 'product_series_event', 'product_package_ticket', 'ticket', 'event_item']
101
87
  };
102
88
  try {
103
- const res = await (request == null ? void 0 : request.post("/product/query", params));
104
- if ((res == null ? void 0 : res.code) == 200 && ((_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.list) == null ? void 0 : _b.length) > 0) {
105
- return { searchType: "product", response: res };
89
+ const res = await request?.post('/product/query', params);
90
+ if (res?.code == 200 && res?.data?.list?.length > 0) {
91
+ return {
92
+ searchType: 'product',
93
+ response: res
94
+ };
106
95
  }
107
- throw new Error("没有找到对应的识别码");
96
+ throw new Error('没有找到对应的识别码');
108
97
  } catch (error) {
109
98
  throw error;
110
99
  }
111
100
  };
112
- // Annotate the CommonJS export names for ESM import in node:
113
- 0 && (module.exports = {
114
- searchProduct,
115
- searchWallet,
116
- searchWalletPass
117
- });
101
+ exports.searchProduct = searchProduct;
@@ -1,56 +1,35 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/solution/BookingTicket/utils/scan/handleScan.ts
30
- var handleScan_exports = {};
31
- __export(handleScan_exports, {
32
- handleCustomerScan: () => handleCustomerScan,
33
- handleGlobalScan: () => handleGlobalScan,
34
- handleUniversalScan: () => handleUniversalScan
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
35
5
  });
36
- module.exports = __toCommonJS(handleScan_exports);
37
- var import_cloudSearch = require("./cloudSearch");
38
- var import_scanCache = __toESM(require("./scanCache"));
39
- var promiseAny = async (promises) => {
6
+ exports.handleUniversalScan = exports.handleGlobalScan = exports.handleCustomerScan = void 0;
7
+ var _cloudSearch = require("./cloudSearch");
8
+ var _scanCache = _interopRequireDefault(require("./scanCache"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ /**
11
+ * Promise.any 的替代实现
12
+ * 返回第一个成功解析的 Promise,如果所有 Promise 都失败则抛出错误
13
+ * @param promises Promise 数组
14
+ * @returns 第一个成功的结果
15
+ */
16
+ const promiseAny = async promises => {
40
17
  if (promises.length === 0) {
41
- throw new Error("No promises provided");
18
+ throw new Error('No promises provided');
42
19
  }
43
20
  const errors = [];
44
21
  let completedCount = 0;
45
22
  return new Promise((resolve, reject) => {
46
23
  promises.forEach((promise, index) => {
47
- promise.then((result) => {
24
+ promise.then(result => {
48
25
  resolve(result);
49
- }).catch((error) => {
26
+ }).catch(error => {
50
27
  errors[index] = error;
51
28
  completedCount++;
29
+
30
+ // 如果所有 Promise 都失败了,抛出包含所有错误的错误
52
31
  if (completedCount === promises.length) {
53
- const errorMessage = `All promises were rejected. Errors: ${errors.map((e) => e.message).join(", ")}`;
32
+ const errorMessage = `All promises were rejected. Errors: ${errors.map(e => e.message).join(', ')}`;
54
33
  const combinedError = new Error(errorMessage);
55
34
  combinedError.errors = errors;
56
35
  reject(combinedError);
@@ -59,74 +38,97 @@ var promiseAny = async (promises) => {
59
38
  });
60
39
  });
61
40
  };
62
- var handleScanFn = (getRequestList, localSearch) => {
63
- return async (scanResult) => {
64
- const { value } = scanResult || {};
41
+
42
+ /**
43
+ * 处理扫码
44
+ * @param getRequestList 获取请求列表
45
+ * @returns 处理结果
46
+ */
47
+ const handleScanFn = (getRequestList, localSearch) => {
48
+ return async scanResult => {
49
+ const {
50
+ value
51
+ } = scanResult || {};
52
+
53
+ // 本地解析识别码
65
54
  if (localSearch) {
66
55
  try {
67
- const localResult = localSearch == null ? void 0 : localSearch(value);
68
- if ((localResult == null ? void 0 : localResult.length) > 0) {
69
- console.log("本地搜索到数据>>>>>>>", localResult);
56
+ const localResult = localSearch?.(value);
57
+ if (localResult?.length > 0) {
70
58
  return {
71
- searchType: "local_product",
72
- response: { data: { list: localResult } }
59
+ searchType: 'local_product',
60
+ response: {
61
+ data: {
62
+ list: localResult
63
+ }
64
+ }
73
65
  };
74
- } else {
75
- console.log("本地搜索无数据>>>>>>>");
76
- }
66
+ } else {}
77
67
  } catch (error) {
78
- console.error("本地搜索到数据失败>>>>>>>", error);
68
+ console.error('本地搜索到数据失败>>>>>>>', error);
79
69
  }
80
70
  }
71
+
72
+ // 检查缓存中是否已有数据
81
73
  try {
82
- if (import_scanCache.default.has(value)) {
83
- const result = import_scanCache.default.get(value);
84
- console.log("缓存中搜索到数据>>>>>>>", result);
74
+ if (_scanCache.default.has(value)) {
75
+ const result = _scanCache.default.get(value);
85
76
  return result;
86
- } else {
87
- console.log("缓存中无数据>>>>>>>");
88
- }
77
+ } else {}
89
78
  } catch (error) {
90
- console.error("缓存中搜索数据失败>>>>>>>", error);
79
+ console.error('缓存中搜索数据失败>>>>>>>', error);
91
80
  }
92
- const requestList = (getRequestList == null ? void 0 : getRequestList(value)) || [];
81
+ const requestList = getRequestList?.(value) || [];
93
82
  if (requestList.length === 0) {
94
- throw new Error("requestList is empty");
83
+ throw new Error('requestList is empty');
95
84
  }
96
85
  try {
97
86
  const result = await promiseAny(requestList);
98
- import_scanCache.default.set(value, result);
87
+ // 将结果缓存
88
+ _scanCache.default.set(value, result);
99
89
  return result;
100
90
  } catch (error) {
101
91
  throw error;
102
92
  }
103
93
  };
104
94
  };
105
- var handleGlobalScan = (request, localSearch) => {
106
- const getRequestList = (value) => {
95
+
96
+ /**
97
+ * 处理全局扫码
98
+ * @param request 请求插件
99
+ * @returns 处理结果
100
+ */
101
+ const handleGlobalScan = (request, localSearch) => {
102
+ const getRequestList = value => {
107
103
  let requestList = [];
108
- if (value.startsWith("WL")) {
109
- requestList = [(0, import_cloudSearch.searchWallet)(request, value)];
104
+ // 如果value是已WL开头的,则认为是钱包识别码
105
+ if (value.startsWith('WL')) {
106
+ requestList = [(0, _cloudSearch.searchWallet)(request, value)];
110
107
  } else {
111
- requestList = [
112
- (0, import_cloudSearch.searchWalletPass)(request, value),
113
- (0, import_cloudSearch.searchWallet)(request, value),
114
- (0, import_cloudSearch.searchProduct)(request, value)
115
- ];
108
+ requestList = [(0, _cloudSearch.searchWalletPass)(request, value), (0, _cloudSearch.searchWallet)(request, value), (0, _cloudSearch.searchProduct)(request, value)];
116
109
  }
117
110
  return requestList;
118
111
  };
119
112
  return handleScanFn(getRequestList, localSearch);
120
113
  };
121
- var handleCustomerScan = () => {
114
+
115
+ /**
116
+ * 处理客户扫码
117
+ * @param request 请求插件
118
+ * @returns 处理结果
119
+ */
120
+ exports.handleGlobalScan = handleGlobalScan;
121
+ const handleCustomerScan = () => {
122
122
  return () => Promise.resolve({});
123
123
  };
124
- var handleUniversalScan = () => {
124
+
125
+ /**
126
+ * 处理钱包扫码
127
+ * @param request 请求插件
128
+ * @returns 处理结果
129
+ */
130
+ exports.handleCustomerScan = handleCustomerScan;
131
+ const handleUniversalScan = () => {
125
132
  return () => Promise.resolve({});
126
133
  };
127
- // Annotate the CommonJS export names for ESM import in node:
128
- 0 && (module.exports = {
129
- handleCustomerScan,
130
- handleGlobalScan,
131
- handleUniversalScan
132
- });
134
+ exports.handleUniversalScan = handleUniversalScan;