@pisell/pisellos 0.10.15 → 0.10.16

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 (299) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/strategy-example.js +5 -19
  5. package/dist/modules/Cart/index.js +0 -3
  6. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  7. package/dist/modules/Date/index.js +1 -5
  8. package/dist/modules/Discount/index.js +2 -4
  9. package/dist/modules/OpenData/index.js +0 -2
  10. package/dist/modules/Order/index.d.ts +1 -1
  11. package/dist/modules/Order/index.js +75 -91
  12. package/dist/modules/Order/types.d.ts +5 -1
  13. package/dist/modules/Order/utils.js +7 -1
  14. package/dist/modules/Payment/index.js +97 -162
  15. package/dist/modules/Product/types.d.ts +2 -0
  16. package/dist/modules/Rules/index.js +1 -4
  17. package/dist/modules/Schedule/index.js +0 -1
  18. package/dist/modules/Schedule/utils.js +0 -1
  19. package/dist/modules/Step/index.js +0 -1
  20. package/dist/plugins/request.js +1 -4
  21. package/dist/plugins/window.js +2 -6
  22. package/dist/server/index.js +97 -129
  23. package/dist/server/modules/menu/index.js +32 -41
  24. package/dist/server/modules/order/index.js +2 -4
  25. package/dist/server/modules/products/index.js +24 -42
  26. package/dist/server/modules/quotation/index.js +29 -38
  27. package/dist/server/modules/resource/index.js +3 -4
  28. package/dist/server/modules/schedule/index.js +27 -35
  29. package/dist/server/utils/product.js +0 -1
  30. package/dist/solution/BaseSales/index.js +100 -72
  31. package/dist/solution/BaseSales/types.d.ts +2 -0
  32. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  33. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  34. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  35. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
  36. package/dist/solution/BaseSales/utils.js +6 -3
  37. package/dist/solution/BookingByStep/index.d.ts +1 -1
  38. package/dist/solution/BookingByStep/index.js +7 -59
  39. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  40. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  41. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  42. package/dist/solution/BookingTicket/index.js +8 -4
  43. package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
  44. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  45. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  46. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  47. package/dist/solution/BuyTickets/index.js +9 -12
  48. package/dist/solution/Checkout/index.js +177 -252
  49. package/dist/solution/Checkout/utils/index.js +4 -16
  50. package/dist/solution/RegisterAndLogin/index.js +30 -76
  51. package/dist/solution/ScanOrder/index.js +50 -60
  52. package/dist/solution/ScanOrder/types.d.ts +2 -0
  53. package/dist/solution/ScanOrder/utils.js +6 -3
  54. package/dist/solution/ShopDiscount/index.js +2 -7
  55. package/dist/solution/VenueBooking/index.js +45 -55
  56. package/dist/utils/task.js +15 -18
  57. package/dist/utils/watch.js +0 -1
  58. package/lib/apis/picoding.js +2 -0
  59. package/lib/core/index.js +131 -131
  60. package/lib/effects/index.js +46 -57
  61. package/lib/index.js +82 -49
  62. package/lib/model/index.js +14 -21
  63. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  64. package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
  65. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  66. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  67. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  68. package/lib/model/strategy/adapter/index.js +100 -64
  69. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  70. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  71. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  72. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  73. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  74. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  75. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  76. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  77. package/lib/model/strategy/adapter/promotion/index.js +43 -48
  78. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  79. package/lib/model/strategy/adapter/type.js +4 -16
  80. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  81. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  82. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  83. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  84. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  85. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  86. package/lib/model/strategy/engine.js +270 -168
  87. package/lib/model/strategy/index.js +49 -34
  88. package/lib/model/strategy/strategy-example.js +243 -239
  89. package/lib/model/strategy/type.js +100 -40
  90. package/lib/modules/Account/index.js +39 -53
  91. package/lib/modules/Account/types.js +20 -33
  92. package/lib/modules/AccountList/index.js +116 -154
  93. package/lib/modules/AccountList/types.js +30 -31
  94. package/lib/modules/AccountList/utils.js +18 -30
  95. package/lib/modules/BaseModule.js +23 -42
  96. package/lib/modules/BookingContext/index.js +158 -136
  97. package/lib/modules/BookingContext/types.js +46 -32
  98. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  99. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  100. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  101. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  102. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  103. package/lib/modules/BookingContext/utils/index.js +124 -41
  104. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  105. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  106. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  107. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  108. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  109. package/lib/modules/BookingContext/utils/resources.js +209 -167
  110. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  111. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  112. package/lib/modules/Cart/index.js +170 -124
  113. package/lib/modules/Cart/types.js +46 -51
  114. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  115. package/lib/modules/Cart/utils/cartDate.js +56 -61
  116. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  117. package/lib/modules/Cart/utils/cartNote.js +27 -32
  118. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  119. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  120. package/lib/modules/Cart/utils/cartResource.js +70 -78
  121. package/lib/modules/Cart/utils/changePrice.js +22 -50
  122. package/lib/modules/Cart/utils/index.js +106 -48
  123. package/lib/modules/Customer/constants.js +13 -34
  124. package/lib/modules/Customer/index.js +235 -172
  125. package/lib/modules/Customer/types.js +38 -35
  126. package/lib/modules/Date/index.js +116 -115
  127. package/lib/modules/Date/types.js +16 -28
  128. package/lib/modules/Date/utils.js +174 -123
  129. package/lib/modules/Discount/index.js +133 -143
  130. package/lib/modules/Discount/types.js +9 -31
  131. package/lib/modules/Guests/index.js +30 -56
  132. package/lib/modules/Guests/types.js +23 -33
  133. package/lib/modules/Holder/index.js +209 -189
  134. package/lib/modules/Holder/types.js +4 -16
  135. package/lib/modules/Holder/utils.js +20 -49
  136. package/lib/modules/OpenData/index.js +70 -76
  137. package/lib/modules/OpenData/types.js +4 -16
  138. package/lib/modules/OpenData/utils.js +44 -78
  139. package/lib/modules/Order/index.d.ts +1 -1
  140. package/lib/modules/Order/index.js +1810 -2238
  141. package/lib/modules/Order/payment-utils.js +77 -120
  142. package/lib/modules/Order/types.d.ts +5 -1
  143. package/lib/modules/Order/types.js +87 -35
  144. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  145. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  146. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  147. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  148. package/lib/modules/Order/utils/virtualSettlement.js +120 -171
  149. package/lib/modules/Order/utils.js +834 -668
  150. package/lib/modules/Payment/cash.js +20 -33
  151. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  152. package/lib/modules/Payment/eftpos.js +16 -30
  153. package/lib/modules/Payment/index.js +532 -399
  154. package/lib/modules/Payment/mx51.js +1 -0
  155. package/lib/modules/Payment/types.js +230 -108
  156. package/lib/modules/Payment/utils.js +52 -51
  157. package/lib/modules/Payment/walletpass.js +485 -660
  158. package/lib/modules/Product/index.js +51 -46
  159. package/lib/modules/Product/types.d.ts +2 -0
  160. package/lib/modules/Product/types.js +4 -16
  161. package/lib/modules/Product/utils.js +32 -33
  162. package/lib/modules/ProductList/index.js +138 -161
  163. package/lib/modules/ProductList/types.js +9 -31
  164. package/lib/modules/Quotation/index.js +66 -100
  165. package/lib/modules/Quotation/types.js +4 -16
  166. package/lib/modules/Resource/index.js +27 -59
  167. package/lib/modules/Resource/types.js +22 -32
  168. package/lib/modules/Resource/utils.js +30 -38
  169. package/lib/modules/ResourcePlanner/index.js +25 -23
  170. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  171. package/lib/modules/ResourcePlanner/planner.js +591 -772
  172. package/lib/modules/ResourcePlanner/types.js +10 -29
  173. package/lib/modules/Rules/index.js +1218 -959
  174. package/lib/modules/Rules/types.js +17 -40
  175. package/lib/modules/SalesSummary/index.js +78 -89
  176. package/lib/modules/SalesSummary/types.js +4 -16
  177. package/lib/modules/SalesSummary/utils.js +359 -442
  178. package/lib/modules/ScanOrderLogger/index.js +59 -79
  179. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  180. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  181. package/lib/modules/ScanOrderLogger/types.js +4 -16
  182. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  183. package/lib/modules/Schedule/index.js +100 -114
  184. package/lib/modules/Schedule/type.js +4 -16
  185. package/lib/modules/Schedule/types.js +4 -16
  186. package/lib/modules/Schedule/utils.js +433 -291
  187. package/lib/modules/Step/index.js +40 -52
  188. package/lib/modules/Step/tyeps.js +4 -16
  189. package/lib/modules/Summary/index.js +66 -71
  190. package/lib/modules/Summary/types.js +4 -16
  191. package/lib/modules/Summary/utils.js +773 -418
  192. package/lib/modules/SurchargeList/index.js +46 -60
  193. package/lib/modules/SurchargeList/types.js +4 -16
  194. package/lib/modules/index.js +245 -63
  195. package/lib/plugins/app.js +4 -16
  196. package/lib/plugins/index.js +36 -25
  197. package/lib/plugins/request.js +137 -126
  198. package/lib/plugins/shopStore.js +4 -16
  199. package/lib/plugins/user.js +4 -16
  200. package/lib/plugins/window.js +171 -179
  201. package/lib/server/index.js +3027 -2655
  202. package/lib/server/modules/floor-plan/index.js +102 -123
  203. package/lib/server/modules/floor-plan/types.js +15 -30
  204. package/lib/server/modules/index.js +106 -68
  205. package/lib/server/modules/menu/index.js +146 -122
  206. package/lib/server/modules/menu/types.js +18 -31
  207. package/lib/server/modules/order/index.js +758 -956
  208. package/lib/server/modules/order/types.js +122 -33
  209. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  210. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  211. package/lib/server/modules/payment/index.js +59 -83
  212. package/lib/server/modules/payment/types.js +4 -16
  213. package/lib/server/modules/products/index.js +575 -459
  214. package/lib/server/modules/products/types.js +44 -34
  215. package/lib/server/modules/quotation/index.js +137 -172
  216. package/lib/server/modules/quotation/types.js +21 -31
  217. package/lib/server/modules/resource/index.js +213 -184
  218. package/lib/server/modules/resource/types.js +42 -33
  219. package/lib/server/modules/schedule/index.js +135 -123
  220. package/lib/server/modules/schedule/types.js +14 -21
  221. package/lib/server/modules/schedule/utils.js +334 -163
  222. package/lib/server/types.js +4 -16
  223. package/lib/server/utils/index.js +25 -23
  224. package/lib/server/utils/product.js +196 -139
  225. package/lib/server/utils/schedule.js +34 -41
  226. package/lib/server/utils/small-ticket.js +479 -456
  227. package/lib/server/utils/time.js +40 -49
  228. package/lib/solution/BaseSales/index.js +1274 -1489
  229. package/lib/solution/BaseSales/types.d.ts +2 -0
  230. package/lib/solution/BaseSales/types.js +42 -38
  231. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  232. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  233. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  234. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  235. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  236. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
  237. package/lib/solution/BaseSales/utils.js +161 -143
  238. package/lib/solution/BookingByStep/index.d.ts +1 -1
  239. package/lib/solution/BookingByStep/index.js +1527 -1340
  240. package/lib/solution/BookingByStep/types.js +40 -99
  241. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  242. package/lib/solution/BookingByStep/utils/products.js +42 -52
  243. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  244. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  245. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  246. package/lib/solution/BookingTicket/index.js +598 -514
  247. package/lib/solution/BookingTicket/types.js +99 -77
  248. package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
  249. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  250. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  251. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  252. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  253. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  254. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  255. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  256. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  257. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  258. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  259. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  260. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  261. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  262. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  263. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  264. package/lib/solution/BuyTickets/index.js +67 -70
  265. package/lib/solution/BuyTickets/types.js +22 -38
  266. package/lib/solution/Checkout/index.js +1451 -1158
  267. package/lib/solution/Checkout/types.js +91 -61
  268. package/lib/solution/Checkout/utils/index.js +228 -156
  269. package/lib/solution/PlaceOrder/index.js +55 -0
  270. package/lib/solution/RegisterAndLogin/config.js +493 -460
  271. package/lib/solution/RegisterAndLogin/index.js +633 -630
  272. package/lib/solution/RegisterAndLogin/types.js +189 -76
  273. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  274. package/lib/solution/Sales/index.js +328 -324
  275. package/lib/solution/Sales/types.js +27 -33
  276. package/lib/solution/ScanOrder/index.js +822 -852
  277. package/lib/solution/ScanOrder/types.d.ts +2 -0
  278. package/lib/solution/ScanOrder/types.js +33 -34
  279. package/lib/solution/ScanOrder/utils.js +412 -374
  280. package/lib/solution/ShopDiscount/index.js +226 -232
  281. package/lib/solution/ShopDiscount/types.js +15 -37
  282. package/lib/solution/ShopDiscount/utils.js +300 -172
  283. package/lib/solution/UnifiedBookingSales/index.js +1052 -1213
  284. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  285. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  286. package/lib/solution/VenueBooking/index.js +811 -879
  287. package/lib/solution/VenueBooking/types.js +19 -39
  288. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  289. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  290. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  291. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  292. package/lib/solution/VenueBooking/utils.js +130 -67
  293. package/lib/solution/index.js +124 -41
  294. package/lib/store/createStore.js +32 -29
  295. package/lib/types/index.js +4 -16
  296. package/lib/utils/payment-number.js +26 -46
  297. package/lib/utils/task.js +36 -36
  298. package/lib/utils/watch.js +81 -47
  299. package/package.json +2 -1
@@ -1,63 +1,49 @@
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/weighingProductSku.ts
20
- var weighingProductSku_exports = {};
21
- __export(weighingProductSku_exports, {
22
- buildProductSkuFromCacheItem: () => buildProductSkuFromCacheItem
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(weighingProductSku_exports);
25
- var WEIGHT_UNIT_MAP = {
26
- KILOGRAMS: "kg",
27
- GRAMS: "g",
28
- POUNDS: "lb",
29
- OUNCES: "oz"
6
+ exports.buildProductSkuFromCacheItem = buildProductSkuFromCacheItem;
7
+ const WEIGHT_UNIT_MAP = {
8
+ KILOGRAMS: 'kg',
9
+ GRAMS: 'g',
10
+ POUNDS: 'lb',
11
+ OUNCES: 'oz'
30
12
  };
31
13
  function isRecord(value) {
32
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
14
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
33
15
  }
16
+
17
+ /**
18
+ * 将规格弹窗的称重结果写入订单行权威字段 product_sku。
19
+ * 商品目录已有的 SKU 字段会保留,本次称重结果只覆盖运行态称重字段。
20
+ */
34
21
  function buildProductSkuFromCacheItem(cacheItem) {
35
- var _a, _b, _c, _d;
36
- const currentSku = isRecord(cacheItem == null ? void 0 : cacheItem.product_sku) ? cacheItem.product_sku : void 0;
37
- const weighing = isRecord((_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.weighing) ? (_b = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _b.weighing : void 0;
38
- const hasRuntimeWeighingSku = Number((currentSku == null ? void 0 : currentSku.open_sold_weight) || 0) === 1 && ((currentSku == null ? void 0 : currentSku.weight) !== void 0 || (currentSku == null ? void 0 : currentSku.net_weight) !== void 0 || (currentSku == null ? void 0 : currentSku.weight_source) !== void 0);
39
- const isWeighingSku = Number((currentSku == null ? void 0 : currentSku.open_sold_weight) || 0) === 1;
40
- if (!isWeighingSku && !weighing)
41
- return void 0;
42
- if (hasRuntimeWeighingSku)
43
- return { ...currentSku };
44
- if (!weighing)
45
- return currentSku ? { ...currentSku } : void 0;
22
+ const currentSku = isRecord(cacheItem?.product_sku) ? cacheItem.product_sku : undefined;
23
+ const weighing = isRecord(cacheItem?._extend?.weighing) ? cacheItem?._extend?.weighing : undefined;
24
+ const hasRuntimeWeighingSku = Number(currentSku?.open_sold_weight || 0) === 1 && (currentSku?.weight !== undefined || currentSku?.net_weight !== undefined || currentSku?.weight_source !== undefined);
25
+ const isWeighingSku = Number(currentSku?.open_sold_weight || 0) === 1;
26
+
27
+ // 普通商品维持旧转换行为,不把目录侧完整 SKU 引入订单行。
28
+ if (!isWeighingSku && !weighing) return undefined;
29
+ // 新版 SkuDetailModal 已直接生成 product_sku;_extend.weighing 只作为旧调用方回退。
30
+ if (hasRuntimeWeighingSku) return {
31
+ ...currentSku
32
+ };
33
+ if (!weighing) return currentSku ? {
34
+ ...currentSku
35
+ } : undefined;
46
36
  return {
47
- ...currentSku || {},
37
+ ...(currentSku || {}),
48
38
  open_sold_weight: 1,
49
39
  unit_data_snapshot: weighing.scalePriceProduct,
50
40
  unit: WEIGHT_UNIT_MAP[String(weighing.unit)] || weighing.unit,
51
- unit_weight: weighing.unit_weight ?? "1.000",
41
+ unit_weight: weighing.unit_weight ?? '1.000',
52
42
  unit_price: weighing.unit_price,
53
43
  weight_source: weighing.mode,
54
- tare_name: ((_c = weighing.tare) == null ? void 0 : _c.label) ?? "",
55
- tare_weight: ((_d = weighing.tare) == null ? void 0 : _d.value) ?? 0,
44
+ tare_name: weighing.tare?.label ?? '',
45
+ tare_weight: weighing.tare?.value ?? 0,
56
46
  weight: weighing.weight ?? 0,
57
47
  net_weight: weighing.net_weight ?? 0
58
48
  };
59
- }
60
- // Annotate the CommonJS export names for ESM import in node:
61
- 0 && (module.exports = {
62
- buildProductSkuFromCacheItem
63
- });
49
+ }
@@ -1,67 +1,66 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
19
2
 
20
- // src/solution/BuyTickets/index.ts
21
- var BuyTickets_exports = {};
22
- __export(BuyTickets_exports, {
23
- BuyTicketsImpl: () => BuyTicketsImpl
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
24
5
  });
25
- module.exports = __toCommonJS(BuyTickets_exports);
26
- var import_modules = require("../../modules/");
27
- var import_BaseModule = require("../../modules/BaseModule");
28
- __reExport(BuyTickets_exports, require("./types"), module.exports);
29
- var BuyTicketsImpl = class extends import_BaseModule.BaseModule {
6
+ var _exportNames = {
7
+ BuyTicketsImpl: true
8
+ };
9
+ exports.BuyTicketsImpl = void 0;
10
+ var _modules = require("../../modules/");
11
+ var _BaseModule = require("../../modules/BaseModule");
12
+ var _types = require("./types");
13
+ Object.keys(_types).forEach(function (key) {
14
+ if (key === "default" || key === "__esModule") return;
15
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
+ if (key in exports && exports[key] === _types[key]) return;
17
+ Object.defineProperty(exports, key, {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _types[key];
21
+ }
22
+ });
23
+ });
24
+ class BuyTicketsImpl extends _BaseModule.BaseModule {
25
+ // 提供给 baseModule 用的默认名称 和 默认版本
26
+ defaultName = 'buyTickets';
27
+ defaultVersion = '1.0.0';
28
+ isSolution = true;
29
+ request;
30
+ window;
31
+ store;
32
+ otherParams = {};
30
33
  constructor(name, version) {
31
34
  super(name, version);
32
- // 提供给 baseModule 用的默认名称 和 默认版本
33
- this.defaultName = "buyTickets";
34
- this.defaultVersion = "1.0.0";
35
- this.isSolution = true;
36
- this.otherParams = {};
37
35
  }
38
36
  async initialize(core, options) {
39
37
  this.core = core;
40
38
  this.store = options.store || {};
41
39
  this.otherParams = options.otherParams || {};
42
- console.log("[BuyTickets] 初始化完成");
43
- this.request = core.getPlugin("request");
44
- this.window = core.getPlugin("window");
40
+ // 获取依赖的插件
41
+ this.request = core.getPlugin('request');
42
+ this.window = core.getPlugin('window');
45
43
  if (!this.request) {
46
- throw new Error("购物车模块需要 request 插件支持");
44
+ throw new Error('购物车模块需要 request 插件支持');
47
45
  }
48
46
  if (this.otherParams.prodctIds) {
49
47
  await this.loadProductsByIds(this.otherParams.prodctIds);
50
48
  }
51
49
  await this.core.effects.emit(`${this.name}:onInited`, {});
52
50
  }
51
+
53
52
  // 通过 ids 获取产品,在当前解决方案下,获取到的就是主商品
54
53
  async loadProductsByIds(ids) {
55
- const productsData = await this.request.post("/product/query", {
54
+ const productsData = await this.request.post('/product/query', {
56
55
  ids,
57
56
  open_quotation: 1,
58
57
  open_bundle: 1,
59
- with: ["bundleGroup.bundleItem"],
60
- status: "published",
58
+ with: ['bundleGroup.bundleItem'],
59
+ status: 'published',
61
60
  num: 10,
62
61
  skip: 1
63
62
  });
64
- const mainProducts = new import_modules.ProductList(`product-kiosk-main-list`);
63
+ const mainProducts = new _modules.ProductList(`product-kiosk-main-list`);
65
64
  this.core.registerModule(mainProducts, {
66
65
  initialState: {
67
66
  list: productsData.data.list
@@ -70,66 +69,64 @@ var BuyTicketsImpl = class extends import_BaseModule.BaseModule {
70
69
  this.store.mainProducts = mainProducts;
71
70
  await this.core.effects.emit(`${this.name}:onMainProductsLoaded`, {});
72
71
  }
72
+
73
73
  // 通过 ids 获取产品,在当前解决方案下,获取到的就是其他商品
74
- async loadProductsByCategory(categoryId) {
75
- }
74
+ async loadProductsByCategory(categoryId) {}
76
75
  async destroy() {
77
76
  await this.core.effects.emit(`${this.name}:onDestroy`, {});
78
- console.log("[BuyTickets] 已销毁");
79
77
  }
80
78
  // 获取当前绑定的所有商品
81
79
  async getProducts() {
82
- var _a;
83
- const mainData = await this.store.mainProducts.getProducts() || [];
84
- const otherData = await ((_a = this.store.otherProducts) == null ? void 0 : _a.getProducts()) || [];
85
- await this.core.effects.emit(`${this.name}:onGetProducts`, [
86
- ...mainData,
87
- ...otherData
88
- ]);
80
+ const mainData = (await this.store.mainProducts.getProducts()) || [];
81
+ const otherData = (await this.store.otherProducts?.getProducts()) || [];
82
+ await this.core.effects.emit(`${this.name}:onGetProducts`, [...mainData, ...otherData]);
89
83
  return [...mainData, ...otherData];
90
84
  }
85
+
91
86
  // 根据 id 获取商品详情,他会尝试先去主列表里找,找不到再去子列表,还找不到就报错
92
87
  async getProduct(id) {
93
- var _a, _b;
94
- const mainProduct = await ((_a = this.store.mainProducts) == null ? void 0 : _a.getProduct(id));
95
- const otherProduct = await ((_b = this.store.otherProducts) == null ? void 0 : _b.getProduct(id));
96
- if (mainProduct)
97
- return mainProduct;
98
- if (otherProduct)
99
- return otherProduct;
88
+ const mainProduct = await this.store.mainProducts?.getProduct(id);
89
+ const otherProduct = await this.store.otherProducts?.getProduct(id);
90
+ if (mainProduct) return mainProduct;
91
+ if (otherProduct) return otherProduct;
100
92
  throw new Error(`Product not found: ${id}`);
101
93
  }
94
+
102
95
  // 商品列表页提交
103
96
  async listSubmit(data) {
104
97
  const res = await this.core.effects.emit(`${this.name}:onListSubmit`, {
105
98
  ...data,
106
99
  products: this.getProducts()
107
100
  });
108
- if (res.status === false)
109
- return res;
110
- this.window.localStorage.setItem(
111
- "buyTickets:listSubmit",
112
- JSON.stringify({ ...data, products: this.getProducts() })
113
- );
114
- console.log("listSubmit 应该走逻辑层的 API 发请求了");
101
+ if (res.status === false) return res;
102
+ // 这里要搞一下缓存,等会,缓存往这写还是往哪儿写啊?
103
+ this.window.localStorage.setItem('buyTickets:listSubmit', JSON.stringify({
104
+ ...data,
105
+ products: this.getProducts()
106
+ }));
107
+ // 如果外部没有阻拦,则默认调用后端的保存至购物车接口,然后通知页面 push 到购物车页面
108
+ // 游乐场逻辑:这里会被 hook 先拦截一次,业务层展示 add other product
109
+ // 然后第二次继续被拦截,业务层把这里的数据推给 native 的购物车
110
+
111
+ // fetch('')
115
112
  }
113
+
116
114
  // 购物车提交
117
115
  async cartSubmit(data) {
118
116
  await this.core.effects.emit(`${this.name}:onCartSubmit`, {
119
117
  ...data,
120
118
  products: this.getProducts()
121
119
  });
120
+ // 如果外部没有阻拦,则默认调用后端的购物车提交接口,然后页面这边 push 到 checkout 页面
122
121
  }
122
+
123
123
  // 结算提交
124
124
  async checkoutSubmit(data) {
125
125
  await this.core.effects.emit(`${this.name}:onCheckoutSubmit`, {
126
126
  ...data,
127
127
  products: this.getProducts()
128
128
  });
129
+ // 如果外部没有阻拦,则默认调用后端的订单提交接口,然后拉起支付
129
130
  }
130
- };
131
- // Annotate the CommonJS export names for ESM import in node:
132
- 0 && (module.exports = {
133
- BuyTicketsImpl,
134
- ...require("./types")
135
- });
131
+ }
132
+ exports.BuyTicketsImpl = BuyTicketsImpl;
@@ -1,40 +1,24 @@
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/BuyTickets/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- BuyTicketsHooks: () => BuyTicketsHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var BuyTicketsHooks = /* @__PURE__ */ ((BuyTicketsHooks2) => {
26
- BuyTicketsHooks2["onInited"] = "buyTickets:onInited";
27
- BuyTicketsHooks2["onDestroy"] = "buyTickets:onDestroy";
28
- BuyTicketsHooks2["onMainProductsLoaded"] = "buyTickets:onMainProductsLoaded";
29
- BuyTicketsHooks2["onOtherProductsLoaded"] = "buyTickets:onOtherProductsLoaded";
30
- BuyTicketsHooks2["OnGetProducts"] = "buyTickets:onGetProducts";
31
- BuyTicketsHooks2["OnGetProduct"] = "buyTickets:onGetProduct";
32
- BuyTicketsHooks2["onListSubmit"] = "buyTickets:onListSubmit";
33
- BuyTicketsHooks2["onCartSubmit"] = "buyTickets:onCartubmit";
34
- BuyTicketsHooks2["onCheckoutSubmit"] = "buyTickets:onCheckoutSubmit";
35
- return BuyTicketsHooks2;
36
- })(BuyTicketsHooks || {});
37
- // Annotate the CommonJS export names for ESM import in node:
38
- 0 && (module.exports = {
39
- BuyTicketsHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
40
5
  });
6
+ exports.BuyTicketsHooks = void 0;
7
+ /**
8
+ * 购票流程hook
9
+ */
10
+ let BuyTicketsHooks = exports.BuyTicketsHooks = /*#__PURE__*/function (BuyTicketsHooks) {
11
+ BuyTicketsHooks["onInited"] = "buyTickets:onInited";
12
+ BuyTicketsHooks["onDestroy"] = "buyTickets:onDestroy";
13
+ BuyTicketsHooks["onMainProductsLoaded"] = "buyTickets:onMainProductsLoaded";
14
+ BuyTicketsHooks["onOtherProductsLoaded"] = "buyTickets:onOtherProductsLoaded";
15
+ BuyTicketsHooks["OnGetProducts"] = "buyTickets:onGetProducts";
16
+ BuyTicketsHooks["OnGetProduct"] = "buyTickets:onGetProduct";
17
+ BuyTicketsHooks["onListSubmit"] = "buyTickets:onListSubmit";
18
+ BuyTicketsHooks["onCartSubmit"] = "buyTickets:onCartubmit";
19
+ BuyTicketsHooks["onCheckoutSubmit"] = "buyTickets:onCheckoutSubmit";
20
+ return BuyTicketsHooks;
21
+ }({});
22
+ /**
23
+ * 票务状态接口
24
+ */