@pisell/pisellos 0.10.15 → 0.10.17

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 (331) 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.d.ts +5 -2
  10. package/dist/modules/OpenData/index.js +27 -14
  11. package/dist/modules/OpenData/types.d.ts +42 -0
  12. package/dist/modules/OpenData/types.js +7 -1
  13. package/dist/modules/OpenData/utils.d.ts +15 -1
  14. package/dist/modules/OpenData/utils.js +85 -0
  15. package/dist/modules/Order/index.d.ts +4 -2
  16. package/dist/modules/Order/index.js +131 -123
  17. package/dist/modules/Order/types.d.ts +8 -1
  18. package/dist/modules/Order/types.js +1 -0
  19. package/dist/modules/Order/utils.js +7 -1
  20. package/dist/modules/Payment/index.js +97 -162
  21. package/dist/modules/Product/types.d.ts +2 -0
  22. package/dist/modules/ProductList/index.js +96 -74
  23. package/dist/modules/Rules/index.js +12 -12
  24. package/dist/modules/SalesSummary/index.js +6 -4
  25. package/dist/modules/Schedule/index.js +0 -1
  26. package/dist/modules/Schedule/utils.js +0 -1
  27. package/dist/modules/Step/index.js +0 -1
  28. package/dist/plugins/request.js +1 -4
  29. package/dist/plugins/window.js +2 -6
  30. package/dist/server/index.d.ts +11 -0
  31. package/dist/server/index.js +977 -641
  32. package/dist/server/modules/menu/index.js +32 -41
  33. package/dist/server/modules/order/index.d.ts +8 -0
  34. package/dist/server/modules/order/index.js +253 -219
  35. package/dist/server/modules/products/index.js +24 -42
  36. package/dist/server/modules/quotation/index.js +29 -38
  37. package/dist/server/modules/resource/index.js +3 -4
  38. package/dist/server/modules/schedule/index.js +27 -35
  39. package/dist/server/utils/product.js +0 -1
  40. package/dist/server/utils/small-ticket.d.ts +9 -1
  41. package/dist/server/utils/small-ticket.js +117 -43
  42. package/dist/solution/BaseSales/index.d.ts +7 -0
  43. package/dist/solution/BaseSales/index.js +350 -215
  44. package/dist/solution/BaseSales/types.d.ts +2 -0
  45. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  46. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  47. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  48. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
  49. package/dist/solution/BaseSales/utils.js +6 -3
  50. package/dist/solution/BookingByStep/index.d.ts +2 -2
  51. package/dist/solution/BookingByStep/index.js +7 -59
  52. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  53. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  54. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  55. package/dist/solution/BookingTicket/index.d.ts +14 -19
  56. package/dist/solution/BookingTicket/index.js +553 -433
  57. package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
  58. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  59. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  60. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  61. package/dist/solution/BuyTickets/index.js +9 -12
  62. package/dist/solution/Checkout/index.js +177 -252
  63. package/dist/solution/Checkout/utils/index.js +4 -16
  64. package/dist/solution/RegisterAndLogin/index.js +30 -76
  65. package/dist/solution/Sales/index.d.ts +20 -4
  66. package/dist/solution/Sales/index.js +348 -75
  67. package/dist/solution/Sales/types.d.ts +10 -0
  68. package/dist/solution/ScanOrder/index.js +50 -60
  69. package/dist/solution/ScanOrder/types.d.ts +2 -0
  70. package/dist/solution/ScanOrder/utils.js +6 -3
  71. package/dist/solution/ShopDiscount/index.js +2 -7
  72. package/dist/solution/UnifiedBookingSales/index.d.ts +5 -4
  73. package/dist/solution/UnifiedBookingSales/index.js +495 -422
  74. package/dist/solution/UnifiedBookingSales/types.d.ts +7 -1
  75. package/dist/solution/VenueBooking/index.js +45 -55
  76. package/dist/utils/task.js +15 -18
  77. package/dist/utils/watch.js +0 -1
  78. package/lib/apis/picoding.js +2 -0
  79. package/lib/core/index.js +131 -131
  80. package/lib/effects/index.js +46 -57
  81. package/lib/index.js +82 -49
  82. package/lib/model/index.js +14 -21
  83. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  84. package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
  85. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  86. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  87. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  88. package/lib/model/strategy/adapter/index.js +100 -64
  89. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  90. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  91. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  92. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  93. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  94. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  95. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  96. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  97. package/lib/model/strategy/adapter/promotion/index.js +1 -51
  98. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  99. package/lib/model/strategy/adapter/type.js +4 -16
  100. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  101. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  102. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  103. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  104. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  105. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  106. package/lib/model/strategy/engine.js +270 -168
  107. package/lib/model/strategy/index.js +49 -34
  108. package/lib/model/strategy/strategy-example.js +243 -239
  109. package/lib/model/strategy/type.js +100 -40
  110. package/lib/modules/Account/index.js +39 -53
  111. package/lib/modules/Account/types.js +20 -33
  112. package/lib/modules/AccountList/index.js +116 -154
  113. package/lib/modules/AccountList/types.js +30 -31
  114. package/lib/modules/AccountList/utils.js +18 -30
  115. package/lib/modules/BaseModule.js +23 -42
  116. package/lib/modules/BookingContext/index.js +158 -136
  117. package/lib/modules/BookingContext/types.js +46 -32
  118. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  119. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  120. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  121. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  122. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  123. package/lib/modules/BookingContext/utils/index.js +124 -41
  124. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  125. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  126. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  127. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  128. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  129. package/lib/modules/BookingContext/utils/resources.js +209 -167
  130. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  131. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  132. package/lib/modules/Cart/index.js +170 -124
  133. package/lib/modules/Cart/types.js +46 -51
  134. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  135. package/lib/modules/Cart/utils/cartDate.js +56 -61
  136. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  137. package/lib/modules/Cart/utils/cartNote.js +27 -32
  138. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  139. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  140. package/lib/modules/Cart/utils/cartResource.js +70 -78
  141. package/lib/modules/Cart/utils/changePrice.js +22 -50
  142. package/lib/modules/Cart/utils/index.js +106 -48
  143. package/lib/modules/Customer/constants.js +13 -34
  144. package/lib/modules/Customer/index.js +235 -172
  145. package/lib/modules/Customer/types.js +38 -35
  146. package/lib/modules/Date/index.js +116 -115
  147. package/lib/modules/Date/types.js +16 -28
  148. package/lib/modules/Date/utils.js +174 -123
  149. package/lib/modules/Discount/index.js +133 -143
  150. package/lib/modules/Discount/types.js +9 -31
  151. package/lib/modules/Guests/index.js +30 -56
  152. package/lib/modules/Guests/types.js +23 -33
  153. package/lib/modules/Holder/index.js +209 -189
  154. package/lib/modules/Holder/types.js +4 -16
  155. package/lib/modules/Holder/utils.js +20 -49
  156. package/lib/modules/OpenData/index.d.ts +5 -2
  157. package/lib/modules/OpenData/index.js +119 -78
  158. package/lib/modules/OpenData/types.d.ts +42 -0
  159. package/lib/modules/OpenData/types.js +12 -16
  160. package/lib/modules/OpenData/utils.d.ts +15 -1
  161. package/lib/modules/OpenData/utils.js +129 -78
  162. package/lib/modules/Order/index.d.ts +4 -2
  163. package/lib/modules/Order/index.js +1843 -2251
  164. package/lib/modules/Order/payment-utils.js +77 -120
  165. package/lib/modules/Order/types.d.ts +8 -1
  166. package/lib/modules/Order/types.js +88 -35
  167. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  168. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  169. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  170. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  171. package/lib/modules/Order/utils/virtualSettlement.js +120 -171
  172. package/lib/modules/Order/utils.js +834 -668
  173. package/lib/modules/Payment/cash.js +20 -33
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  175. package/lib/modules/Payment/eftpos.js +16 -30
  176. package/lib/modules/Payment/index.js +532 -399
  177. package/lib/modules/Payment/mx51.js +1 -0
  178. package/lib/modules/Payment/types.js +230 -108
  179. package/lib/modules/Payment/utils.js +52 -51
  180. package/lib/modules/Payment/walletpass.js +485 -660
  181. package/lib/modules/Product/index.js +51 -46
  182. package/lib/modules/Product/types.d.ts +2 -0
  183. package/lib/modules/Product/types.js +4 -16
  184. package/lib/modules/Product/utils.js +32 -33
  185. package/lib/modules/ProductList/index.js +141 -161
  186. package/lib/modules/ProductList/types.js +9 -31
  187. package/lib/modules/Quotation/index.js +66 -100
  188. package/lib/modules/Quotation/types.js +4 -16
  189. package/lib/modules/Resource/index.js +27 -59
  190. package/lib/modules/Resource/types.js +22 -32
  191. package/lib/modules/Resource/utils.js +30 -38
  192. package/lib/modules/ResourcePlanner/index.js +25 -23
  193. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  194. package/lib/modules/ResourcePlanner/planner.js +591 -772
  195. package/lib/modules/ResourcePlanner/types.js +10 -29
  196. package/lib/modules/Rules/index.js +1224 -963
  197. package/lib/modules/Rules/types.js +17 -40
  198. package/lib/modules/SalesSummary/index.js +80 -89
  199. package/lib/modules/SalesSummary/types.js +4 -16
  200. package/lib/modules/SalesSummary/utils.js +359 -442
  201. package/lib/modules/ScanOrderLogger/index.js +59 -79
  202. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  203. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  204. package/lib/modules/ScanOrderLogger/types.js +4 -16
  205. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  206. package/lib/modules/Schedule/index.js +100 -114
  207. package/lib/modules/Schedule/type.js +4 -16
  208. package/lib/modules/Schedule/types.js +4 -16
  209. package/lib/modules/Schedule/utils.js +433 -291
  210. package/lib/modules/Step/index.js +40 -52
  211. package/lib/modules/Step/tyeps.js +4 -16
  212. package/lib/modules/Summary/index.js +66 -71
  213. package/lib/modules/Summary/types.js +4 -16
  214. package/lib/modules/Summary/utils.js +773 -418
  215. package/lib/modules/SurchargeList/index.js +46 -60
  216. package/lib/modules/SurchargeList/types.js +4 -16
  217. package/lib/modules/index.js +245 -63
  218. package/lib/plugins/app.js +4 -16
  219. package/lib/plugins/index.js +36 -25
  220. package/lib/plugins/request.js +137 -126
  221. package/lib/plugins/shopStore.js +4 -16
  222. package/lib/plugins/user.js +4 -16
  223. package/lib/plugins/window.js +171 -179
  224. package/lib/server/index.d.ts +11 -0
  225. package/lib/server/index.js +3432 -2757
  226. package/lib/server/modules/floor-plan/index.js +102 -123
  227. package/lib/server/modules/floor-plan/types.js +15 -30
  228. package/lib/server/modules/index.js +106 -68
  229. package/lib/server/modules/menu/index.js +146 -122
  230. package/lib/server/modules/menu/types.js +18 -31
  231. package/lib/server/modules/order/index.d.ts +8 -0
  232. package/lib/server/modules/order/index.js +781 -956
  233. package/lib/server/modules/order/types.js +122 -33
  234. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  235. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  236. package/lib/server/modules/payment/index.js +59 -83
  237. package/lib/server/modules/payment/types.js +4 -16
  238. package/lib/server/modules/products/index.js +575 -459
  239. package/lib/server/modules/products/types.js +44 -34
  240. package/lib/server/modules/quotation/index.js +137 -172
  241. package/lib/server/modules/quotation/types.js +21 -31
  242. package/lib/server/modules/resource/index.js +213 -184
  243. package/lib/server/modules/resource/types.js +42 -33
  244. package/lib/server/modules/schedule/index.js +135 -123
  245. package/lib/server/modules/schedule/types.js +14 -21
  246. package/lib/server/modules/schedule/utils.js +334 -163
  247. package/lib/server/types.js +4 -16
  248. package/lib/server/utils/index.js +25 -23
  249. package/lib/server/utils/product.js +196 -139
  250. package/lib/server/utils/schedule.js +34 -41
  251. package/lib/server/utils/small-ticket.d.ts +9 -1
  252. package/lib/server/utils/small-ticket.js +565 -470
  253. package/lib/server/utils/time.js +40 -49
  254. package/lib/solution/BaseSales/index.d.ts +7 -0
  255. package/lib/solution/BaseSales/index.js +1385 -1503
  256. package/lib/solution/BaseSales/types.d.ts +2 -0
  257. package/lib/solution/BaseSales/types.js +42 -38
  258. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  259. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  260. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  261. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  262. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  263. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
  264. package/lib/solution/BaseSales/utils.js +161 -143
  265. package/lib/solution/BookingByStep/index.d.ts +2 -2
  266. package/lib/solution/BookingByStep/index.js +1527 -1340
  267. package/lib/solution/BookingByStep/types.js +40 -99
  268. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  269. package/lib/solution/BookingByStep/utils/products.js +42 -52
  270. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  271. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  272. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  273. package/lib/solution/BookingTicket/index.d.ts +14 -19
  274. package/lib/solution/BookingTicket/index.js +663 -526
  275. package/lib/solution/BookingTicket/types.js +99 -77
  276. package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
  277. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  278. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  279. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  280. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  281. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  282. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  283. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  284. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  285. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  286. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  287. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  288. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  289. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  290. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  291. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  292. package/lib/solution/BuyTickets/index.js +67 -70
  293. package/lib/solution/BuyTickets/types.js +22 -38
  294. package/lib/solution/Checkout/index.js +1451 -1158
  295. package/lib/solution/Checkout/types.js +91 -61
  296. package/lib/solution/Checkout/utils/index.js +228 -156
  297. package/lib/solution/PlaceOrder/index.js +55 -0
  298. package/lib/solution/RegisterAndLogin/config.js +493 -460
  299. package/lib/solution/RegisterAndLogin/index.js +633 -630
  300. package/lib/solution/RegisterAndLogin/types.js +189 -76
  301. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  302. package/lib/solution/Sales/index.d.ts +20 -4
  303. package/lib/solution/Sales/index.js +502 -330
  304. package/lib/solution/Sales/types.d.ts +10 -0
  305. package/lib/solution/Sales/types.js +27 -33
  306. package/lib/solution/ScanOrder/index.js +822 -852
  307. package/lib/solution/ScanOrder/types.d.ts +2 -0
  308. package/lib/solution/ScanOrder/types.js +33 -34
  309. package/lib/solution/ScanOrder/utils.js +412 -374
  310. package/lib/solution/ShopDiscount/index.js +226 -232
  311. package/lib/solution/ShopDiscount/types.js +15 -37
  312. package/lib/solution/ShopDiscount/utils.js +300 -172
  313. package/lib/solution/UnifiedBookingSales/index.d.ts +5 -4
  314. package/lib/solution/UnifiedBookingSales/index.js +1087 -1222
  315. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  316. package/lib/solution/UnifiedBookingSales/types.d.ts +7 -1
  317. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  318. package/lib/solution/VenueBooking/index.js +811 -879
  319. package/lib/solution/VenueBooking/types.js +19 -39
  320. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  321. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  322. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  323. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  324. package/lib/solution/VenueBooking/utils.js +130 -67
  325. package/lib/solution/index.js +124 -41
  326. package/lib/store/createStore.js +32 -29
  327. package/lib/types/index.js +4 -16
  328. package/lib/utils/payment-number.js +26 -46
  329. package/lib/utils/task.js +36 -36
  330. package/lib/utils/watch.js +81 -47
  331. package/package.json +2 -1
@@ -1,98 +1,101 @@
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/plugins/request.ts
20
- var request_exports = {};
21
- __export(request_exports, {
22
- RequestError: () => RequestError,
23
- RequestModeENUM: () => RequestModeENUM,
24
- default: () => request_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
25
5
  });
26
- module.exports = __toCommonJS(request_exports);
27
- var RequestModeENUM = /* @__PURE__ */ ((RequestModeENUM2) => {
28
- RequestModeENUM2["LOCAL"] = "local";
29
- RequestModeENUM2["REMOTE"] = "remote";
30
- RequestModeENUM2["LOCAL_REMOTE"] = "local_remote";
31
- RequestModeENUM2["REMOTE_LOCAL"] = "remote_local";
32
- RequestModeENUM2["OS_SERVER"] = "os_server";
33
- return RequestModeENUM2;
34
- })(RequestModeENUM || {});
35
- var RequestError = class extends Error {
6
+ exports.default = exports.RequestModeENUM = exports.RequestError = void 0;
7
+ /**
8
+ * RequestPlugin 接口定义
9
+ */
10
+ let RequestModeENUM = exports.RequestModeENUM = /*#__PURE__*/function (RequestModeENUM) {
11
+ RequestModeENUM["LOCAL"] = "local";
12
+ RequestModeENUM["REMOTE"] = "remote";
13
+ RequestModeENUM["LOCAL_REMOTE"] = "local_remote";
14
+ RequestModeENUM["REMOTE_LOCAL"] = "remote_local";
15
+ RequestModeENUM["OS_SERVER"] = "os_server";
16
+ return RequestModeENUM;
17
+ }({}); // 请求模式
18
+ /**
19
+ * 请求配置
20
+ */
21
+ /**
22
+ * 响应接口
23
+ */
24
+ /**
25
+ * 请求错误
26
+ */
27
+ class RequestError extends Error {
28
+ response;
29
+ request;
30
+ config;
36
31
  constructor(message, config, request, response) {
37
32
  super(message);
38
- this.name = "RequestError";
33
+ this.name = 'RequestError';
39
34
  this.config = config;
40
35
  this.request = request;
41
36
  this.response = response;
42
37
  }
43
- };
44
- var RequestPluginImpl = class {
45
- constructor() {
46
- this.name = "request";
47
- this.version = "1.0.0";
48
- this.core = null;
49
- /**
50
- * 默认请求选项
51
- */
52
- this.defaultOptions = {
53
- method: "GET",
54
- headers: {
55
- "Content-Type": "application/json"
56
- },
57
- timeout: 3e4,
58
- responseType: "json"
59
- };
60
- /**
61
- * 全局拦截器
62
- */
63
- this.interceptors = {
64
- request: [],
65
- response: [],
66
- error: []
67
- };
68
- }
38
+ }
39
+
40
+ /**
41
+ * RequestPlugin 实现
42
+ */
43
+ exports.RequestError = RequestError;
44
+ class RequestPluginImpl {
45
+ name = 'request';
46
+ version = '1.0.0';
47
+ core = null;
48
+
49
+ /**
50
+ * 默认请求选项
51
+ */
52
+ defaultOptions = {
53
+ method: 'GET',
54
+ headers: {
55
+ 'Content-Type': 'application/json'
56
+ },
57
+ timeout: 30000,
58
+ responseType: 'json'
59
+ };
60
+
61
+ /**
62
+ * 全局拦截器
63
+ */
64
+ interceptors = {
65
+ request: [],
66
+ response: [],
67
+ error: []
68
+ };
69
+
69
70
  // 初始化方法
70
71
  initialize() {
71
72
  this.core = globalThis.pisellOS;
72
- console.log("[RequestPlugin] 初始化完成");
73
73
  }
74
+
74
75
  // 销毁方法
75
- destroy() {
76
- console.log("[RequestPlugin] 已销毁");
77
- }
76
+ destroy() {}
77
+
78
78
  /**
79
79
  * 添加请求拦截器
80
80
  */
81
81
  addRequestInterceptor(interceptor) {
82
82
  this.interceptors.request.push(interceptor);
83
83
  }
84
+
84
85
  /**
85
86
  * 添加响应拦截器
86
87
  */
87
88
  addResponseInterceptor(interceptor) {
88
89
  this.interceptors.response.push(interceptor);
89
90
  }
91
+
90
92
  /**
91
93
  * 添加错误拦截器
92
94
  */
93
95
  addErrorInterceptor(interceptor) {
94
96
  this.interceptors.error.push(interceptor);
95
97
  }
98
+
96
99
  /**
97
100
  * GET 请求
98
101
  */
@@ -100,9 +103,10 @@ var RequestPluginImpl = class {
100
103
  return this.request({
101
104
  ...options,
102
105
  url,
103
- method: "GET"
106
+ method: 'GET'
104
107
  });
105
108
  }
109
+
106
110
  /**
107
111
  * POST 请求
108
112
  */
@@ -110,10 +114,11 @@ var RequestPluginImpl = class {
110
114
  return this.request({
111
115
  ...options,
112
116
  url,
113
- method: "POST",
117
+ method: 'POST',
114
118
  data
115
119
  });
116
120
  }
121
+
117
122
  /**
118
123
  * PUT 请求
119
124
  */
@@ -121,10 +126,11 @@ var RequestPluginImpl = class {
121
126
  return this.request({
122
127
  ...options,
123
128
  url,
124
- method: "PUT",
129
+ method: 'PUT',
125
130
  data
126
131
  });
127
132
  }
133
+
128
134
  /**
129
135
  * DELETE 请求
130
136
  */
@@ -132,13 +138,15 @@ var RequestPluginImpl = class {
132
138
  return this.request({
133
139
  ...options,
134
140
  url,
135
- method: "DELETE"
141
+ method: 'DELETE'
136
142
  });
137
143
  }
144
+
138
145
  /**
139
146
  * 通用请求方法
140
147
  */
141
148
  async request(options) {
149
+ // 合并默认选项
142
150
  let config = {
143
151
  ...this.defaultOptions,
144
152
  ...options,
@@ -147,54 +155,52 @@ var RequestPluginImpl = class {
147
155
  ...options.headers
148
156
  }
149
157
  };
150
- if (!config.headers["authorization"] && this.core) {
151
- const windowPlugin = this.core.getPlugin("window");
158
+ if (!config.headers['authorization'] && this.core) {
159
+ const windowPlugin = this.core.getPlugin('window');
152
160
  if (windowPlugin) {
153
- config.headers["authorization"] = windowPlugin.localStorage.getItem("token") || "";
161
+ config.headers['authorization'] = windowPlugin.localStorage.getItem('token') || '';
154
162
  }
155
163
  }
164
+
165
+ // 应用请求拦截器
156
166
  for (const interceptor of this.interceptors.request) {
157
167
  try {
158
168
  config = await Promise.resolve(interceptor(config));
159
169
  } catch (error) {
160
- const requestError = error instanceof RequestError ? error : new RequestError(
161
- error instanceof Error ? error.message : "请求拦截器错误",
162
- config
163
- );
170
+ const requestError = error instanceof RequestError ? error : new RequestError(error instanceof Error ? error.message : '请求拦截器错误', config);
171
+
172
+ // 应用错误拦截器
164
173
  let processedError = requestError;
165
174
  for (const errorInterceptor of this.interceptors.error) {
166
175
  try {
167
- processedError = await Promise.resolve(
168
- errorInterceptor(processedError)
169
- );
176
+ processedError = await Promise.resolve(errorInterceptor(processedError));
170
177
  } catch (e) {
178
+ // 忽略错误拦截器中的错误
171
179
  }
172
180
  }
173
181
  throw processedError;
174
182
  }
175
183
  }
184
+
185
+ // 执行请求
176
186
  try {
177
187
  const response = await this.performRequest(config);
188
+
189
+ // 应用响应拦截器
178
190
  let processedResponse = response;
179
191
  for (const interceptor of this.interceptors.response) {
180
192
  try {
181
- processedResponse = await Promise.resolve(
182
- interceptor(processedResponse)
183
- );
193
+ processedResponse = await Promise.resolve(interceptor(processedResponse));
184
194
  } catch (error) {
185
- const requestError = error instanceof RequestError ? error : new RequestError(
186
- error instanceof Error ? error.message : "响应拦截器错误",
187
- config,
188
- null,
189
- response
190
- );
195
+ const requestError = error instanceof RequestError ? error : new RequestError(error instanceof Error ? error.message : '响应拦截器错误', config, null, response);
196
+
197
+ // 应用错误拦截器
191
198
  let processedError = requestError;
192
199
  for (const errorInterceptor of this.interceptors.error) {
193
200
  try {
194
- processedError = await Promise.resolve(
195
- errorInterceptor(processedError)
196
- );
201
+ processedError = await Promise.resolve(errorInterceptor(processedError));
197
202
  } catch (e) {
203
+ // 忽略错误拦截器中的错误
198
204
  }
199
205
  }
200
206
  throw processedError;
@@ -202,22 +208,21 @@ var RequestPluginImpl = class {
202
208
  }
203
209
  return processedResponse.data;
204
210
  } catch (error) {
205
- const requestError = error instanceof RequestError ? error : new RequestError(
206
- error instanceof Error ? error.message : "请求错误",
207
- config
208
- );
211
+ const requestError = error instanceof RequestError ? error : new RequestError(error instanceof Error ? error.message : '请求错误', config);
212
+
213
+ // 应用错误拦截器
209
214
  let processedError = requestError;
210
215
  for (const errorInterceptor of this.interceptors.error) {
211
216
  try {
212
- processedError = await Promise.resolve(
213
- errorInterceptor(processedError)
214
- );
217
+ processedError = await Promise.resolve(errorInterceptor(processedError));
215
218
  } catch (e) {
219
+ // 忽略错误拦截器中的错误
216
220
  }
217
221
  }
218
222
  throw processedError;
219
223
  }
220
224
  }
225
+
221
226
  /**
222
227
  * 执行实际的请求
223
228
  * 这里实现了一个基于 fetch API 的请求
@@ -234,32 +239,39 @@ var RequestPluginImpl = class {
234
239
  withCredentials
235
240
  } = config;
236
241
  if (!url) {
237
- throw new RequestError("URL不能为空", config);
242
+ throw new RequestError('URL不能为空', config);
238
243
  }
244
+
245
+ // 处理 URL 参数
239
246
  let fullUrl = url;
240
247
  if (params && Object.keys(params).length > 0) {
241
- const queryString = Object.entries(params).map(
242
- ([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`
243
- ).join("&");
244
- fullUrl += (url.includes("?") ? "&" : "?") + queryString;
248
+ const queryString = Object.entries(params).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`).join('&');
249
+ fullUrl += (url.includes('?') ? '&' : '?') + queryString;
245
250
  }
251
+
252
+ // 准备请求选项
246
253
  const fetchOptions = {
247
254
  method,
248
255
  headers: {
249
256
  ...headers
250
257
  },
251
- credentials: withCredentials ? "include" : "same-origin"
258
+ credentials: withCredentials ? 'include' : 'same-origin'
252
259
  };
253
- if (data !== void 0 && method !== "GET" && method !== "HEAD") {
260
+
261
+ // 处理请求体
262
+ if (data !== undefined && method !== 'GET' && method !== 'HEAD') {
254
263
  if (data instanceof FormData) {
255
264
  fetchOptions.body = data;
256
- delete fetchOptions.headers["Content-Type"];
257
- } else if (typeof data === "object") {
265
+ // 当使用 FormData 时,删除 Content-Type,让浏览器自动设置
266
+ delete fetchOptions.headers['Content-Type'];
267
+ } else if (typeof data === 'object') {
258
268
  fetchOptions.body = JSON.stringify(data);
259
269
  } else {
260
270
  fetchOptions.body = data;
261
271
  }
262
272
  }
273
+
274
+ // 处理超时
263
275
  let timeoutId;
264
276
  const timeoutPromise = new Promise((_, reject) => {
265
277
  if (timeout) {
@@ -269,34 +281,40 @@ var RequestPluginImpl = class {
269
281
  }
270
282
  });
271
283
  try {
272
- const fetchPromise = typeof fetch !== "undefined" ? fetch(fullUrl, fetchOptions) : Promise.reject(
273
- new RequestError("当前环境不支持 fetch API", config)
274
- );
284
+ // 发起请求,并竞争超时
285
+ const fetchPromise = typeof fetch !== 'undefined' ? fetch(fullUrl, fetchOptions) : Promise.reject(new RequestError('当前环境不支持 fetch API', config));
275
286
  const response = await Promise.race([fetchPromise, timeoutPromise]);
287
+
288
+ // 解析响应头
276
289
  const responseHeaders = {};
277
290
  response.headers.forEach((value, key) => {
278
291
  responseHeaders[key] = value;
279
292
  });
293
+
294
+ // 解析响应内容
280
295
  let responseData;
281
- if (responseType === "json") {
296
+ if (responseType === 'json') {
282
297
  try {
283
298
  responseData = await response.json();
284
299
  } catch (e) {
285
300
  responseData = await response.text();
286
301
  }
287
- } else if (responseType === "text") {
302
+ } else if (responseType === 'text') {
288
303
  responseData = await response.text();
289
- } else if (responseType === "arraybuffer") {
304
+ } else if (responseType === 'arraybuffer') {
290
305
  responseData = await response.arrayBuffer();
291
- } else if (responseType === "blob") {
306
+ } else if (responseType === 'blob') {
292
307
  responseData = await response.blob();
293
308
  } else {
309
+ // 默认尝试 JSON
294
310
  try {
295
311
  responseData = await response.json();
296
312
  } catch (e) {
297
313
  responseData = await response.text();
298
314
  }
299
315
  }
316
+
317
+ // 构建响应对象
300
318
  const result = {
301
319
  data: responseData,
302
320
  status: response.status,
@@ -304,25 +322,18 @@ var RequestPluginImpl = class {
304
322
  headers: responseHeaders,
305
323
  config
306
324
  };
325
+
326
+ // 处理非成功状态码
307
327
  if (!response.ok) {
308
- throw new RequestError(
309
- `请求失败,状态码: ${response.status}`,
310
- config,
311
- fetchOptions,
312
- result
313
- );
328
+ throw new RequestError(`请求失败,状态码: ${response.status}`, config, fetchOptions, result);
314
329
  }
315
330
  return result;
316
331
  } finally {
332
+ // 清除超时计时器
317
333
  if (timeoutId) {
318
334
  clearTimeout(timeoutId);
319
335
  }
320
336
  }
321
337
  }
322
- };
323
- var request_default = new RequestPluginImpl();
324
- // Annotate the CommonJS export names for ESM import in node:
325
- 0 && (module.exports = {
326
- RequestError,
327
- RequestModeENUM
328
- });
338
+ }
339
+ var _default = exports.default = new RequestPluginImpl();
@@ -1,17 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
14
2
 
15
- // src/plugins/shopStore.ts
16
- var shopStore_exports = {};
17
- module.exports = __toCommonJS(shopStore_exports);
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,17 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
14
2
 
15
- // src/plugins/user.ts
16
- var user_exports = {};
17
- module.exports = __toCommonJS(user_exports);
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });