@pisell/private-materials 6.7.9 → 6.8.1

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 (421) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +2 -2
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/appointmentBooking/components/Voucher/index.js +2 -1
  12. package/es/components/booking/addons/index.js +25 -17
  13. package/es/components/booking/components/footer/amount.d.ts +1 -0
  14. package/es/components/booking/components/footer/amount.js +548 -84
  15. package/es/components/booking/components/footer/index.js +77 -56
  16. package/es/components/booking/components/footer/utils.d.ts +19 -0
  17. package/es/components/booking/components/footer/utils.js +194 -73
  18. package/es/components/booking/components/voucher/index.js +23 -7
  19. package/es/components/booking/hooks/useQuotation.js +4 -1
  20. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
  21. package/es/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  22. package/es/components/booking/info/service2/utils.js +1 -0
  23. package/es/components/booking/info2/cartClientCard/index.js +30 -6
  24. package/es/components/booking/info2/index.js +1 -1
  25. package/es/components/booking/info2/service/addService/index.js +2 -3
  26. package/es/components/booking/info2/service/editNormalService/index.js +6 -0
  27. package/es/components/booking/info2/service/editService/index.js +16 -6
  28. package/es/components/booking/info2/service/editService/utils.d.ts +15 -0
  29. package/es/components/booking/info2/service/editService/utils.js +66 -0
  30. package/es/components/booking/utils.d.ts +1 -0
  31. package/es/components/booking/utils.js +16 -3
  32. package/es/components/checkout/PaymentModal.d.ts +13 -5
  33. package/es/components/checkout/PaymentModal.js +304 -252
  34. package/es/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  35. package/es/components/checkout/components/AdditionalModule/index.js +52 -12
  36. package/es/components/checkout/components/AmountSummary/index.js +9 -76
  37. package/es/components/checkout/components/AmountSummary/index.less +5 -6
  38. package/es/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  39. package/es/components/checkout/components/CashPaymentModule/index.js +5 -2
  40. package/es/components/checkout/components/PaymentDetailModal/index.js +2 -2
  41. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  42. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +6 -1
  43. package/es/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  44. package/es/components/checkout/components/PaymentOptionsModule/index.js +2 -1
  45. package/es/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  46. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  47. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +31 -8
  48. package/es/components/checkout/components/PaymentResultToast/index.js +6 -6
  49. package/es/components/checkout/components/PaymentResultToast/index.less +94 -33
  50. package/es/components/checkout/components/SearchAndClientModule/index.js +39 -40
  51. package/es/components/checkout/index.less +1 -1
  52. package/es/components/checkout/locales.d.ts +6 -0
  53. package/es/components/checkout/locales.js +6 -0
  54. package/es/components/checkout/plugin.d.ts +2 -0
  55. package/es/components/checkout/plugin.js +303 -0
  56. package/es/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  57. package/es/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  58. package/es/components/eftpos/hooks.d.ts +0 -1
  59. package/es/components/eftposPay/hooks.d.ts +1 -1
  60. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +14 -6
  61. package/es/components/eftposPay/payo/config.js +70 -32
  62. package/es/components/eftposPay/payo/payment.d.ts +66 -0
  63. package/es/components/eftposPay/payo/payment.js +579 -0
  64. package/es/components/eftposPay/store/index.d.ts +4 -4
  65. package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
  66. package/es/components/eftposPay/tyro/index.js +12 -0
  67. package/es/components/eftposPay/utils/log/index.d.ts +110 -0
  68. package/es/components/eftposPay/utils/log/index.js +371 -0
  69. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  70. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  71. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  72. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  73. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  74. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
  75. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
  76. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  77. package/es/components/index.d.ts +2 -1
  78. package/es/components/index.js +2 -1
  79. package/es/components/list/List.js +99 -56
  80. package/es/components/list/hooks/useListState.d.ts +5 -3
  81. package/es/components/list/hooks/useListState.js +10 -2
  82. package/es/components/list/styles/base.less +4 -0
  83. package/es/components/list/styles/content.less +1 -1
  84. package/es/components/list/styles/header.less +4 -4
  85. package/es/components/list/types.d.ts +1 -0
  86. package/es/components/list/utils/index.d.ts +13 -1
  87. package/es/components/list/utils/index.js +43 -1
  88. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  89. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
  90. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
  91. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
  92. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  93. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  94. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +2 -0
  95. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  96. package/es/components/pay/toC/index.js +7 -4
  97. package/es/components/pay/toC/locales.d.ts +3 -0
  98. package/es/components/pay/toC/locales.js +6 -3
  99. package/es/components/pay/toC/status.d.ts +1 -0
  100. package/es/components/pay/toC/status.js +3 -0
  101. package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
  102. package/es/components/subTotal/index.js +1 -1
  103. package/es/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  104. package/es/components/{checkout/PaymentPlugin.js → systemSettings/registry/components/GroupModal.js} +132 -171
  105. package/es/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  106. package/es/components/systemSettings/registry/components/ItemModal.js +547 -0
  107. package/es/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  108. package/es/components/systemSettings/registry/components/ModuleList.js +54 -0
  109. package/es/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  110. package/es/components/systemSettings/registry/components/SectionList.js +174 -0
  111. package/es/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  112. package/es/components/systemSettings/registry/components/SettingsTable.js +765 -0
  113. package/es/components/systemSettings/registry/components/index.d.ts +4 -0
  114. package/es/components/systemSettings/registry/components/index.js +4 -0
  115. package/es/components/systemSettings/registry/index.d.ts +5 -0
  116. package/es/components/systemSettings/registry/index.js +1059 -0
  117. package/es/components/systemSettings/registry/index.less +410 -0
  118. package/es/components/systemSettings/registry/locales.d.ts +272 -0
  119. package/es/components/systemSettings/registry/locales.js +300 -0
  120. package/es/components/systemSettings/registry/services.d.ts +77 -0
  121. package/es/components/systemSettings/registry/services.js +472 -0
  122. package/es/components/systemSettings/registry/types.d.ts +126 -0
  123. package/es/components/systemSettings/registry/types.js +1 -0
  124. package/es/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  125. package/es/components/systemSettings/registry/utils/typeValidation.js +284 -0
  126. package/es/components/systemSettings/registry/utils/validators.d.ts +8 -0
  127. package/es/components/systemSettings/registry/utils/validators.js +44 -0
  128. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +58 -11
  129. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  130. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  131. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +149 -36
  132. package/es/components/ticketBooking/components/addServiceVariant/addService.js +2 -86
  133. package/es/components/ticketBooking/components/menuBar/index.js +109 -12
  134. package/es/components/ticketBooking/components/ticketBooking/index.js +2 -2
  135. package/es/components/ticketBooking/components/timeBar/index.js +112 -7
  136. package/es/components/ticketBooking/components/timeBar/index.less +59 -0
  137. package/es/components/ticketBooking/hooks/pisellos/useProducts.js +29 -18
  138. package/es/components/ticketBooking/locales.d.ts +9 -0
  139. package/es/components/ticketBooking/locales.js +12 -3
  140. package/es/components/ticketBooking/utils/index.d.ts +3 -0
  141. package/es/components/ticketBooking/utils/index.js +36 -13
  142. package/es/components/wallet/Detail/index.js +34 -2
  143. package/es/components/wallet/Detail/index.less +11 -0
  144. package/es/components/wallet/Detail/locales.d.ts +6 -0
  145. package/es/components/wallet/Detail/locales.js +14 -2
  146. package/es/components/wallet/Voucher/index.js +11 -10
  147. package/es/components/wallet/components/WalletCard.js +5 -1
  148. package/es/components/wallet/index.js +4 -2
  149. package/es/components/wallet/serve.d.ts +7 -0
  150. package/es/components/wallet/utils.d.ts +48 -0
  151. package/es/components/wallet/utils.js +342 -0
  152. package/es/index.d.ts +5 -0
  153. package/es/index.js +6 -1
  154. package/es/plus/clientCard/locales.js +3 -3
  155. package/es/plus/clinetSearch/index.js +28 -30
  156. package/es/plus/clinetSearch/locales.d.ts +3 -0
  157. package/es/plus/clinetSearch/locales.js +7 -4
  158. package/es/plus/clinetSearch/types.d.ts +12 -0
  159. package/es/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  160. package/es/plus/productSelect/CategoryTabs/index.js +2 -1
  161. package/es/plus/walletPassGallery/components/footerButton/index.js +2 -4
  162. package/es/plus/walletPassGallery/components/footerButton/index.less +14 -59
  163. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  164. package/es/plus/walletPassGallery/components/passDetail/index.js +84 -31
  165. package/es/plus/walletPassGallery/components/passDetail/index.less +4 -0
  166. package/es/plus/walletPassGallery/components/recharge/index.js +19 -8
  167. package/es/plus/walletPassGallery/index.js +7 -3
  168. package/es/plus/walletPassGallery/serve.d.ts +3 -0
  169. package/es/plus/walletPassGallery/serve.js +4 -2
  170. package/es/pro/Login2.0/index.less +15 -8
  171. package/es/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  172. package/es/pro/Selector/BatchSelectorDemo.js +470 -0
  173. package/es/pro/Selector/Selector.d.ts +5 -0
  174. package/es/pro/Selector/Selector.js +283 -0
  175. package/es/pro/Selector/SelectorGroup.d.ts +11 -0
  176. package/es/pro/Selector/SelectorGroup.js +537 -0
  177. package/es/pro/Selector/components/Card/index.d.ts +27 -0
  178. package/es/pro/Selector/components/Card/index.js +96 -0
  179. package/es/pro/Selector/components/Card/index.less +132 -0
  180. package/es/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  181. package/es/pro/Selector/components/IntersectionObserver.js +384 -0
  182. package/es/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  183. package/es/pro/Selector/components/NumericStepper/index.js +198 -0
  184. package/es/pro/Selector/components/NumericStepper/index.less +221 -0
  185. package/es/pro/Selector/components/index.d.ts +2 -0
  186. package/es/pro/Selector/components/index.js +2 -0
  187. package/es/pro/Selector/demo.d.ts +3 -0
  188. package/es/pro/Selector/demo.js +158 -0
  189. package/es/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  190. package/es/pro/Selector/hooks/useSelectionController.js +414 -0
  191. package/es/pro/Selector/index.d.ts +8 -0
  192. package/es/pro/Selector/index.js +5 -0
  193. package/es/pro/Selector/locales.d.ts +42 -0
  194. package/es/pro/Selector/locales.js +80 -0
  195. package/es/pro/Selector/selector.less +3 -0
  196. package/es/pro/Selector/selectorGroup.less +8 -0
  197. package/es/pro/Selector/types.d.ts +114 -0
  198. package/es/pro/Selector/types.js +1 -0
  199. package/es/pro/Selector/utils/index.d.ts +49 -0
  200. package/es/pro/Selector/utils/index.js +229 -0
  201. package/es/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  202. package/es/pro/comprehensiveSearch/locales.js +1 -1
  203. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +45 -36
  204. package/es/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  205. package/es/pro/priceKeyboard/components/cashKeyboard/index.js +4 -2
  206. package/es/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  207. package/es/pro/priceKeyboard/components/discountKeyboard/index.js +10 -1
  208. package/es/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  209. package/es/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  210. package/es/pro/priceKeyboard/components/shortcuts/index.js +5 -2
  211. package/es/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  212. package/lib/components/appointmentBooking/components/Voucher/index.js +2 -1
  213. package/lib/components/booking/addons/index.js +15 -7
  214. package/lib/components/booking/components/footer/amount.d.ts +1 -0
  215. package/lib/components/booking/components/footer/amount.js +293 -41
  216. package/lib/components/booking/components/footer/index.js +30 -11
  217. package/lib/components/booking/components/footer/utils.d.ts +19 -0
  218. package/lib/components/booking/components/footer/utils.js +138 -41
  219. package/lib/components/booking/components/voucher/index.js +25 -9
  220. package/lib/components/booking/hooks/useQuotation.js +2 -1
  221. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
  222. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  223. package/lib/components/booking/info/service2/utils.js +1 -0
  224. package/lib/components/booking/info2/cartClientCard/index.js +25 -5
  225. package/lib/components/booking/info2/index.js +7 -2
  226. package/lib/components/booking/info2/service/addService/index.js +1 -2
  227. package/lib/components/booking/info2/service/editNormalService/index.js +6 -0
  228. package/lib/components/booking/info2/service/editService/index.js +12 -3
  229. package/lib/components/booking/info2/service/editService/utils.d.ts +15 -0
  230. package/lib/components/booking/info2/service/editService/utils.js +40 -3
  231. package/lib/components/booking/utils.d.ts +1 -0
  232. package/lib/components/booking/utils.js +11 -0
  233. package/lib/components/checkout/PaymentModal.d.ts +13 -5
  234. package/lib/components/checkout/PaymentModal.js +190 -147
  235. package/lib/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  236. package/lib/components/checkout/components/AdditionalModule/index.js +52 -11
  237. package/lib/components/checkout/components/AmountSummary/index.js +5 -46
  238. package/lib/components/checkout/components/AmountSummary/index.less +5 -6
  239. package/lib/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  240. package/lib/components/checkout/components/CashPaymentModule/index.js +5 -2
  241. package/lib/components/checkout/components/PaymentDetailModal/index.js +2 -2
  242. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  243. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +5 -1
  244. package/lib/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  245. package/lib/components/checkout/components/PaymentOptionsModule/index.js +6 -0
  246. package/lib/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  247. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  248. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +23 -5
  249. package/lib/components/checkout/components/PaymentResultToast/index.js +4 -4
  250. package/lib/components/checkout/components/PaymentResultToast/index.less +94 -33
  251. package/lib/components/checkout/components/SearchAndClientModule/index.js +29 -3
  252. package/lib/components/checkout/index.less +1 -1
  253. package/lib/components/checkout/locales.d.ts +6 -0
  254. package/lib/components/checkout/locales.js +6 -0
  255. package/lib/components/checkout/plugin.d.ts +2 -0
  256. package/lib/components/checkout/plugin.js +263 -0
  257. package/lib/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  258. package/lib/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  259. package/lib/components/eftpos/hooks.d.ts +0 -1
  260. package/lib/components/eftposPay/hooks.d.ts +1 -1
  261. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +12 -6
  262. package/lib/components/eftposPay/payo/config.js +98 -73
  263. package/lib/components/eftposPay/payo/payment.d.ts +66 -0
  264. package/lib/components/eftposPay/payo/payment.js +357 -0
  265. package/lib/components/eftposPay/store/index.d.ts +4 -4
  266. package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
  267. package/lib/components/eftposPay/tyro/index.js +12 -0
  268. package/lib/components/eftposPay/utils/log/index.d.ts +110 -0
  269. package/lib/components/eftposPay/utils/log/index.js +294 -0
  270. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  271. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  272. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  273. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  274. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  275. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
  276. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
  277. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  278. package/lib/components/index.d.ts +2 -1
  279. package/lib/components/index.js +3 -0
  280. package/lib/components/list/List.js +58 -36
  281. package/lib/components/list/hooks/useListState.d.ts +5 -3
  282. package/lib/components/list/hooks/useListState.js +9 -1
  283. package/lib/components/list/styles/base.less +4 -0
  284. package/lib/components/list/styles/content.less +1 -1
  285. package/lib/components/list/styles/header.less +4 -4
  286. package/lib/components/list/types.d.ts +1 -0
  287. package/lib/components/list/utils/index.d.ts +13 -1
  288. package/lib/components/list/utils/index.js +27 -0
  289. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  290. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
  291. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
  292. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
  293. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  294. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  295. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +1 -1
  296. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  297. package/lib/components/pay/toC/index.js +4 -1
  298. package/lib/components/pay/toC/locales.d.ts +3 -0
  299. package/lib/components/pay/toC/locales.js +6 -3
  300. package/lib/components/pay/toC/status.d.ts +1 -0
  301. package/lib/components/pay/toC/status.js +5 -0
  302. package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
  303. package/lib/components/subTotal/index.js +1 -1
  304. package/lib/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  305. package/lib/components/systemSettings/registry/components/GroupModal.js +177 -0
  306. package/lib/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  307. package/lib/components/systemSettings/registry/components/ItemModal.js +508 -0
  308. package/lib/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  309. package/lib/components/systemSettings/registry/components/ModuleList.js +71 -0
  310. package/lib/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  311. package/lib/components/systemSettings/registry/components/SectionList.js +181 -0
  312. package/lib/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  313. package/lib/components/systemSettings/registry/components/SettingsTable.js +575 -0
  314. package/lib/components/systemSettings/registry/components/index.d.ts +4 -0
  315. package/lib/components/systemSettings/registry/components/index.js +48 -0
  316. package/lib/components/systemSettings/registry/index.d.ts +5 -0
  317. package/lib/components/systemSettings/registry/index.js +529 -0
  318. package/lib/components/systemSettings/registry/index.less +410 -0
  319. package/lib/components/systemSettings/registry/locales.d.ts +272 -0
  320. package/lib/components/systemSettings/registry/locales.js +324 -0
  321. package/lib/components/systemSettings/registry/services.d.ts +77 -0
  322. package/lib/components/systemSettings/registry/services.js +290 -0
  323. package/lib/components/systemSettings/registry/types.d.ts +126 -0
  324. package/lib/components/systemSettings/registry/types.js +17 -0
  325. package/lib/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  326. package/lib/components/systemSettings/registry/utils/typeValidation.js +228 -0
  327. package/lib/components/systemSettings/registry/utils/validators.d.ts +8 -0
  328. package/lib/components/systemSettings/registry/utils/validators.js +54 -0
  329. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +40 -5
  330. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  331. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  332. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +93 -24
  333. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
  334. package/lib/components/ticketBooking/components/menuBar/index.js +42 -6
  335. package/lib/components/ticketBooking/components/ticketBooking/index.js +2 -2
  336. package/lib/components/ticketBooking/components/timeBar/index.js +105 -4
  337. package/lib/components/ticketBooking/components/timeBar/index.less +59 -0
  338. package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +17 -13
  339. package/lib/components/ticketBooking/locales.d.ts +9 -0
  340. package/lib/components/ticketBooking/locales.js +12 -3
  341. package/lib/components/ticketBooking/utils/index.d.ts +3 -0
  342. package/lib/components/ticketBooking/utils/index.js +20 -6
  343. package/lib/components/wallet/Detail/index.js +31 -3
  344. package/lib/components/wallet/Detail/index.less +11 -0
  345. package/lib/components/wallet/Detail/locales.d.ts +6 -0
  346. package/lib/components/wallet/Detail/locales.js +14 -2
  347. package/lib/components/wallet/Voucher/index.js +8 -8
  348. package/lib/components/wallet/components/WalletCard.js +4 -0
  349. package/lib/components/wallet/index.js +2 -2
  350. package/lib/components/wallet/serve.d.ts +7 -0
  351. package/lib/components/wallet/utils.d.ts +48 -0
  352. package/lib/components/wallet/utils.js +287 -0
  353. package/lib/index.d.ts +5 -0
  354. package/lib/index.js +15 -0
  355. package/lib/plus/clientCard/locales.js +3 -3
  356. package/lib/plus/clinetSearch/index.js +17 -8
  357. package/lib/plus/clinetSearch/locales.d.ts +3 -0
  358. package/lib/plus/clinetSearch/locales.js +7 -4
  359. package/lib/plus/clinetSearch/types.d.ts +12 -0
  360. package/lib/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  361. package/lib/plus/productSelect/CategoryTabs/index.js +2 -1
  362. package/lib/plus/walletPassGallery/components/footerButton/index.js +2 -2
  363. package/lib/plus/walletPassGallery/components/footerButton/index.less +14 -59
  364. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  365. package/lib/plus/walletPassGallery/components/passDetail/index.js +54 -15
  366. package/lib/plus/walletPassGallery/components/passDetail/index.less +4 -0
  367. package/lib/plus/walletPassGallery/components/recharge/index.js +7 -1
  368. package/lib/plus/walletPassGallery/index.js +7 -3
  369. package/lib/plus/walletPassGallery/serve.d.ts +3 -0
  370. package/lib/plus/walletPassGallery/serve.js +3 -2
  371. package/lib/pro/Login2.0/index.less +15 -8
  372. package/lib/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  373. package/lib/pro/Selector/BatchSelectorDemo.js +376 -0
  374. package/lib/pro/Selector/Selector.d.ts +5 -0
  375. package/lib/pro/Selector/Selector.js +264 -0
  376. package/lib/pro/Selector/SelectorGroup.d.ts +11 -0
  377. package/lib/pro/Selector/SelectorGroup.js +463 -0
  378. package/lib/pro/Selector/components/Card/index.d.ts +27 -0
  379. package/lib/pro/Selector/components/Card/index.js +114 -0
  380. package/lib/pro/Selector/components/Card/index.less +132 -0
  381. package/lib/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  382. package/lib/pro/Selector/components/IntersectionObserver.js +281 -0
  383. package/lib/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  384. package/lib/pro/Selector/components/NumericStepper/index.js +221 -0
  385. package/lib/pro/Selector/components/NumericStepper/index.less +221 -0
  386. package/lib/pro/Selector/components/index.d.ts +2 -0
  387. package/lib/pro/Selector/components/index.js +42 -0
  388. package/lib/pro/Selector/demo.d.ts +3 -0
  389. package/lib/pro/Selector/demo.js +102 -0
  390. package/lib/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  391. package/lib/pro/Selector/hooks/useSelectionController.js +338 -0
  392. package/lib/pro/Selector/index.d.ts +8 -0
  393. package/lib/pro/Selector/index.js +39 -0
  394. package/lib/pro/Selector/locales.d.ts +42 -0
  395. package/lib/pro/Selector/locales.js +80 -0
  396. package/lib/pro/Selector/selector.less +3 -0
  397. package/lib/pro/Selector/selectorGroup.less +8 -0
  398. package/lib/pro/Selector/types.d.ts +114 -0
  399. package/lib/pro/Selector/types.js +17 -0
  400. package/lib/pro/Selector/utils/index.d.ts +49 -0
  401. package/lib/pro/Selector/utils/index.js +221 -0
  402. package/lib/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  403. package/lib/pro/comprehensiveSearch/locales.js +1 -1
  404. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +42 -43
  405. package/lib/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  406. package/lib/pro/priceKeyboard/components/cashKeyboard/index.js +3 -2
  407. package/lib/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  408. package/lib/pro/priceKeyboard/components/discountKeyboard/index.js +8 -1
  409. package/lib/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  410. package/lib/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  411. package/lib/pro/priceKeyboard/components/shortcuts/index.js +3 -2
  412. package/lib/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  413. package/lowcode/payment-modal/meta.ts +135 -0
  414. package/lowcode/selector/meta.ts +352 -0
  415. package/lowcode/selector.group/meta.ts +200 -0
  416. package/lowcode/settings-registry/meta.ts +29 -0
  417. package/lowcode/wallet-pass-detail/meta.ts +89 -0
  418. package/package.json +4 -4
  419. package/es/components/checkout/PaymentPlugin.d.ts +0 -3
  420. package/lib/components/checkout/PaymentPlugin.d.ts +0 -3
  421. package/lib/components/checkout/PaymentPlugin.js +0 -181
@@ -0,0 +1,66 @@
1
+ interface RunApiParams {
2
+ [key: string]: any;
3
+ }
4
+ export declare enum ActionType {
5
+ Pay = "pay",
6
+ Refund = "refund",
7
+ Query = "query"
8
+ }
9
+ interface UsePaymentOptions {
10
+ /**
11
+ * 支付接口
12
+ */
13
+ payApi: (params: RunApiParams, options?: {
14
+ signal?: AbortSignal;
15
+ }) => Promise<any>;
16
+ /**
17
+ * 退款接口
18
+ */
19
+ refundApi?: (params: RunApiParams, options?: {
20
+ signal?: AbortSignal;
21
+ }) => Promise<any>;
22
+ /**
23
+ * 查询接口
24
+ */
25
+ checkApi: (params: {
26
+ number: string;
27
+ }, options?: {
28
+ signal?: AbortSignal;
29
+ }) => Promise<any>;
30
+ /**
31
+ * 检查是否应该继续处理结果(用于处理网络断开、组件卸载等情况)
32
+ */
33
+ shouldContinue?: () => boolean;
34
+ }
35
+ interface RunParams {
36
+ /** 支付类型 */
37
+ paymentType: ActionType;
38
+ /** 支付交易号 */
39
+ paymentNum: string;
40
+ /** 订单ID */
41
+ orderId?: string | number;
42
+ /** 设备ID */
43
+ deviceId?: string | number;
44
+ /** 支付参数 */
45
+ params: RunApiParams;
46
+ /** 回调方法 */
47
+ callbacks: RunCallbacks;
48
+ }
49
+ interface RunCallbacks {
50
+ /**
51
+ * 成功回调
52
+ */
53
+ onSuccess: (res: any) => void;
54
+ /**
55
+ * 失败回调
56
+ */
57
+ onError: (error: any) => void;
58
+ }
59
+ export declare const usePayment: (options: UsePaymentOptions) => {
60
+ run: (options: RunParams) => Promise<void>;
61
+ stop: () => void;
62
+ clean: (params?: {
63
+ clearCallbacks?: boolean;
64
+ }) => void;
65
+ };
66
+ export {};
@@ -0,0 +1,579 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["pay_param_base64"];
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
6
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
7
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
8
+ import { useRef } from 'react';
9
+ import { PayStatus } from "../const";
10
+ import paymentLog from "../utils/log";
11
+
12
+ /**
13
+ * 实现支付和查询一体化的接口
14
+ * 核心点:
15
+ * 1.发起支付,在十秒钟后发起轮询操作,两个接口谁先返回成功用谁的结果,如果返回的失败是存在明确code信息的则全部失败
16
+ * 2.轮询操作总查询时间2分钟,超时直接失败,单次轮询超时时间5秒,超时直接abort本次请求,间隔两秒后发起新的请求
17
+ * 3.最终成功或者失败都需要把定时器给清理掉,并将未完成的接口abort掉
18
+ */
19
+
20
+ // 开始轮询的延迟时间(支付发起后等待10秒)
21
+ var QUERY_START_DELAY = 1000 * 10;
22
+ // 全局超时时间(2分钟)
23
+ var GLOBAL_TIMEOUT = 1000 * 60 * 2;
24
+ // 单次请求超时时间(10秒)
25
+ var REQUEST_TIMEOUT = 1000 * 10;
26
+ // 轮询间隔时间(2秒)
27
+ var QUERY_INTERVAL = 1000 * 2;
28
+ export var ActionType = /*#__PURE__*/function (ActionType) {
29
+ ActionType["Pay"] = "pay";
30
+ ActionType["Refund"] = "refund";
31
+ ActionType["Query"] = "query";
32
+ return ActionType;
33
+ }({});
34
+ /**
35
+ * 判断请求是否需要等待轮询结果
36
+ * 1. 有明确错误code且不是超时和支付超时,则直接失败
37
+ * @param code 错误码
38
+ */
39
+ var isRequestFailed = function isRequestFailed(code) {
40
+ return code && "".concat(code) !== PayStatus.Timeout && "".concat(code) !== PayStatus.PayTimeout;
41
+ };
42
+ export var usePayment = function usePayment(options) {
43
+ var payApi = options.payApi,
44
+ refundApi = options.refundApi,
45
+ checkApi = options.checkApi,
46
+ _options$shouldContin = options.shouldContinue,
47
+ shouldContinue = _options$shouldContin === void 0 ? function () {
48
+ return true;
49
+ } : _options$shouldContin;
50
+
51
+ // 支付请求的 AbortController
52
+ var payControllerRef = useRef(null);
53
+ // 查询请求的 AbortController
54
+ var queryControllerRef = useRef(null);
55
+ // 开始轮询的定时器
56
+ var queryStartTimerRef = useRef(null);
57
+ // 全局超时定时器
58
+ var globalTimeoutTimerRef = useRef(null);
59
+ // 单次请求超时定时器
60
+ var requestTimeoutTimerRef = useRef(null);
61
+ // 轮询间隔定时器
62
+ var queryIntervalTimerRef = useRef(null);
63
+ // 是否已经完成(成功或失败)
64
+ var isFinishedRef = useRef(false);
65
+ // 是否正在轮询中
66
+ var isQueryingRef = useRef(false);
67
+ // 回调方法引用
68
+ var callbacksRef = useRef(null);
69
+ // 单次请求是否超时标志
70
+ var isRequestTimeoutRef = useRef(false);
71
+ // 当前查询的唯一ID(时间戳),用于防止过期响应被处理
72
+ var currentQueryIdRef = useRef(0);
73
+ // 当前执行的唯一ID(时间戳),用于防止旧的支付/退款请求响应被处理
74
+ var currentRunIdRef = useRef(0);
75
+
76
+ /**
77
+ * 清理所有定时器和控制器
78
+ * @param clearCallbacks 是否清空回调引用,默认为 true
79
+ */
80
+ var clean = function clean(params) {
81
+ var _ref = params || {},
82
+ _ref$clearCallbacks = _ref.clearCallbacks,
83
+ clearCallbacks = _ref$clearCallbacks === void 0 ? true : _ref$clearCallbacks;
84
+ console.log('🧹 清理所有资源', {
85
+ clearCallbacks: clearCallbacks
86
+ });
87
+
88
+ // 取消支付请求
89
+ if (payControllerRef.current) {
90
+ payControllerRef.current.abort();
91
+ payControllerRef.current = null;
92
+ }
93
+
94
+ // 取消查询请求
95
+ if (queryControllerRef.current) {
96
+ queryControllerRef.current.abort();
97
+ queryControllerRef.current = null;
98
+ }
99
+
100
+ // 清理所有定时器
101
+ if (queryStartTimerRef.current) {
102
+ clearTimeout(queryStartTimerRef.current);
103
+ queryStartTimerRef.current = null;
104
+ }
105
+ if (globalTimeoutTimerRef.current) {
106
+ clearTimeout(globalTimeoutTimerRef.current);
107
+ globalTimeoutTimerRef.current = null;
108
+ }
109
+ if (requestTimeoutTimerRef.current) {
110
+ clearTimeout(requestTimeoutTimerRef.current);
111
+ requestTimeoutTimerRef.current = null;
112
+ }
113
+ if (queryIntervalTimerRef.current) {
114
+ clearTimeout(queryIntervalTimerRef.current);
115
+ queryIntervalTimerRef.current = null;
116
+ }
117
+
118
+ // 重置状态标志
119
+ isQueryingRef.current = false;
120
+ isFinishedRef.current = false;
121
+ isRequestTimeoutRef.current = false;
122
+
123
+ // 根据参数决定是否清空回调
124
+ if (clearCallbacks !== false) {
125
+ callbacksRef.current = null;
126
+ }
127
+ };
128
+
129
+ /**
130
+ * 标记为完成状态并清理资源(包括回调)
131
+ */
132
+ var finish = function finish() {
133
+ if (!isFinishedRef.current) {
134
+ clean(); // 先完全清理,包括回调
135
+ isFinishedRef.current = true; // 然后标记为已完成(防止重复调用)
136
+ paymentLog.clearLogs();
137
+ }
138
+ };
139
+
140
+ /**
141
+ * 处理成功结果
142
+ */
143
+ var handleFinalSuccess = function handleFinalSuccess(res, type) {
144
+ var _callbacksRef$current, _callbacksRef$current2;
145
+ if (isFinishedRef.current || !shouldContinue()) {
146
+ console.log("\u26A0\uFE0F \u5DF2\u5B8C\u6210\u6216\u4E0D\u5E94\u7EE7\u7EED\u5904\u7406\uFF0C\u5FFD\u7565".concat(type, "\u64CD\u4F5C\u6210\u529F\u7ED3\u679C"));
147
+ return;
148
+ }
149
+ (_callbacksRef$current = callbacksRef.current) === null || _callbacksRef$current === void 0 || (_callbacksRef$current2 = _callbacksRef$current.onSuccess) === null || _callbacksRef$current2 === void 0 || _callbacksRef$current2.call(_callbacksRef$current, res);
150
+ paymentLog.addLog({
151
+ title: '最终结果:支付成功',
152
+ content: {
153
+ type: type,
154
+ res: res
155
+ }
156
+ });
157
+ finish();
158
+ };
159
+
160
+ /**
161
+ * 处理错误(最终失败)
162
+ * @param error 错误信息
163
+ * @param source 错误来源
164
+ */
165
+ var handleFinalError = function handleFinalError(error, type) {
166
+ var _callbacksRef$current3, _callbacksRef$current4;
167
+ if (isFinishedRef.current || !shouldContinue()) {
168
+ console.log("\u26A0\uFE0F \u5DF2\u5B8C\u6210\u6216\u4E0D\u5E94\u7EE7\u7EED\u5904\u7406\uFF0C\u5FFD\u7565".concat(type, "\u64CD\u4F5C\u9519\u8BEF"));
169
+ return;
170
+ }
171
+ (_callbacksRef$current3 = callbacksRef.current) === null || _callbacksRef$current3 === void 0 || (_callbacksRef$current4 = _callbacksRef$current3.onError) === null || _callbacksRef$current4 === void 0 || _callbacksRef$current4.call(_callbacksRef$current3, error);
172
+ paymentLog.addLog({
173
+ title: '最终结果:支付失败',
174
+ content: {
175
+ type: type,
176
+ error: error
177
+ }
178
+ });
179
+ finish();
180
+ };
181
+
182
+ /**
183
+ * 创建超时 Promise
184
+ */
185
+ var createTimeoutPromise = function createTimeoutPromise(timeoutMs) {
186
+ return new Promise(function (_, reject) {
187
+ requestTimeoutTimerRef.current = setTimeout(function () {
188
+ console.log("\u23F1\uFE0F \u5355\u6B21\u67E5\u8BE2\u8D85\u65F6\uFF08".concat(timeoutMs / 1000, "\u79D2\uFF09\uFF0C\u5F3A\u5236\u7EC8\u6B62"));
189
+ isRequestTimeoutRef.current = true;
190
+ // 取消请求
191
+ if (queryControllerRef.current) {
192
+ queryControllerRef.current.abort();
193
+ }
194
+ reject(new Error('REQUEST_TIMEOUT'));
195
+ }, timeoutMs);
196
+ });
197
+ };
198
+
199
+ /**
200
+ * 单次查询请求
201
+ */
202
+ var performQuery = /*#__PURE__*/function () {
203
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(paymentNum) {
204
+ var queryId, signal, _res;
205
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
206
+ while (1) switch (_context.prev = _context.next) {
207
+ case 0:
208
+ if (!(isFinishedRef.current || !shouldContinue())) {
209
+ _context.next = 3;
210
+ break;
211
+ }
212
+ paymentLog.addLog({
213
+ title: '支付轮询前置校验:支付已完成或不应继续处理,取消查询'
214
+ });
215
+ return _context.abrupt("return");
216
+ case 3:
217
+ // 清理之前的查询控制器和超时定时器
218
+ if (queryControllerRef.current) {
219
+ queryControllerRef.current.abort();
220
+ queryControllerRef.current = null;
221
+ }
222
+ if (requestTimeoutTimerRef.current) {
223
+ clearTimeout(requestTimeoutTimerRef.current);
224
+ requestTimeoutTimerRef.current = null;
225
+ }
226
+
227
+ // 生成新的查询ID(使用时间戳确保全局唯一)
228
+ queryId = Date.now();
229
+ currentQueryIdRef.current = queryId;
230
+
231
+ // 重置超时标志
232
+ isRequestTimeoutRef.current = false;
233
+
234
+ // 创建新的控制器
235
+ queryControllerRef.current = new AbortController();
236
+ signal = queryControllerRef.current.signal;
237
+ _context.prev = 10;
238
+ paymentLog.addLog({
239
+ title: '支付轮询:开始单次查询'
240
+ });
241
+ // 使用 Promise.race 确保超时控制可靠
242
+ _context.next = 14;
243
+ return Promise.race([checkApi({
244
+ number: paymentNum
245
+ }, {
246
+ signal: signal
247
+ }), createTimeoutPromise(REQUEST_TIMEOUT)]);
248
+ case 14:
249
+ _res = _context.sent;
250
+ // 清理超时定时器
251
+ if (requestTimeoutTimerRef.current) {
252
+ clearTimeout(requestTimeoutTimerRef.current);
253
+ requestTimeoutTimerRef.current = null;
254
+ }
255
+
256
+ // 检查是否是过期的响应(新查询的 ID 一定大于旧查询)
257
+ if (!(queryId < currentQueryIdRef.current)) {
258
+ _context.next = 19;
259
+ break;
260
+ }
261
+ paymentLog.addLog({
262
+ title: '支付轮询结果:过期的查询响应,忽略'
263
+ });
264
+ return _context.abrupt("return");
265
+ case 19:
266
+ if (!(isFinishedRef.current || !shouldContinue())) {
267
+ _context.next = 22;
268
+ break;
269
+ }
270
+ paymentLog.addLog({
271
+ title: '支付轮询结果:支付已完成或不应继续处理'
272
+ });
273
+ return _context.abrupt("return");
274
+ case 22:
275
+ if (!(_res && "".concat(_res.code) === '200')) {
276
+ _context.next = 26;
277
+ break;
278
+ }
279
+ paymentLog.addLog({
280
+ title: '支付轮询结果:支付成功'
281
+ });
282
+ handleFinalSuccess(_res, ActionType.Query);
283
+ return _context.abrupt("return");
284
+ case 26:
285
+ // 查询返回失败但没有明确code或超时code,继续轮询
286
+ if (isRequestFailed(_res === null || _res === void 0 ? void 0 : _res.code)) {
287
+ // 有明确错误code,停止轮询
288
+ paymentLog.addLog({
289
+ title: '支付轮询结果:有明确错误code,停止轮询',
290
+ content: _res
291
+ });
292
+ handleFinalError(_res, ActionType.Query);
293
+ } else {
294
+ paymentLog.addLog({
295
+ title: '支付轮询结果:查询返回失败但没有明确code或超时code,继续轮询',
296
+ content: _res
297
+ });
298
+ scheduleNextQuery(paymentNum);
299
+ }
300
+ _context.next = 42;
301
+ break;
302
+ case 29:
303
+ _context.prev = 29;
304
+ _context.t0 = _context["catch"](10);
305
+ // 清理超时定时器
306
+ if (requestTimeoutTimerRef.current) {
307
+ clearTimeout(requestTimeoutTimerRef.current);
308
+ requestTimeoutTimerRef.current = null;
309
+ }
310
+
311
+ // 检查是否是过期的响应(新查询的 ID 一定大于旧查询)
312
+ if (!(queryId < currentQueryIdRef.current)) {
313
+ _context.next = 35;
314
+ break;
315
+ }
316
+ paymentLog.addLog({
317
+ title: '支付轮询结果:error-过期的查询异常,忽略'
318
+ });
319
+ return _context.abrupt("return");
320
+ case 35:
321
+ if (!(isFinishedRef.current || !shouldContinue())) {
322
+ _context.next = 37;
323
+ break;
324
+ }
325
+ return _context.abrupt("return");
326
+ case 37:
327
+ if (!(isRequestTimeoutRef.current || (_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.name) === 'AbortError' || (_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message) === 'REQUEST_TIMEOUT')) {
328
+ _context.next = 41;
329
+ break;
330
+ }
331
+ paymentLog.addLog({
332
+ title: '支付轮询结果:error-请求被取消或超时,继续轮询'
333
+ });
334
+ // 注意:这里不增加 queryId,因为 scheduleNextQuery → performQuery 会生成新的 ID
335
+ scheduleNextQuery(paymentNum);
336
+ return _context.abrupt("return");
337
+ case 41:
338
+ // 无明确code或者code是超时或支付超时,继续轮询
339
+ if (isRequestFailed(_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.code)) {
340
+ paymentLog.addLog({
341
+ title: '支付轮询结果:error-有明确错误code,停止轮询',
342
+ content: _context.t0
343
+ });
344
+ handleFinalError(_context.t0, ActionType.Query);
345
+ } else {
346
+ paymentLog.addLog({
347
+ title: '支付轮询结果:error-无明确code或者code不是超时,继续轮询',
348
+ content: _context.t0
349
+ });
350
+ scheduleNextQuery(paymentNum);
351
+ }
352
+ case 42:
353
+ case "end":
354
+ return _context.stop();
355
+ }
356
+ }, _callee, null, [[10, 29]]);
357
+ }));
358
+ return function performQuery(_x) {
359
+ return _ref2.apply(this, arguments);
360
+ };
361
+ }();
362
+
363
+ /**
364
+ * 安排下一次查询
365
+ */
366
+ var scheduleNextQuery = function scheduleNextQuery(paymentNum) {
367
+ if (isFinishedRef.current || !shouldContinue()) {
368
+ return;
369
+ }
370
+ if (queryIntervalTimerRef.current) {
371
+ clearTimeout(queryIntervalTimerRef.current);
372
+ }
373
+ queryIntervalTimerRef.current = setTimeout(function () {
374
+ paymentLog.addLog({
375
+ title: '支付轮询:安排下一次查询'
376
+ });
377
+ performQuery(paymentNum);
378
+ }, QUERY_INTERVAL);
379
+ };
380
+
381
+ /**
382
+ * 开始轮询
383
+ */
384
+ var startQuery = function startQuery(paymentNum) {
385
+ if (isFinishedRef.current || !shouldContinue() || isQueryingRef.current) {
386
+ return;
387
+ }
388
+ isQueryingRef.current = true;
389
+
390
+ // 设置轮询的全局超时(2分钟,从开始轮询时计算)
391
+ globalTimeoutTimerRef.current = setTimeout(function () {
392
+ if (isFinishedRef.current) {
393
+ return;
394
+ }
395
+ console.log('⏱️ 轮询全局超时(2分钟),终止所有请求');
396
+ paymentLog.addLog({
397
+ title: '轮询全局超时(2分钟),终止所有请求'
398
+ });
399
+ handleFinalError({
400
+ code: PayStatus.Timeout,
401
+ message: '交易超时'
402
+ }, ActionType.Query);
403
+ }, GLOBAL_TIMEOUT);
404
+ performQuery(paymentNum);
405
+ };
406
+
407
+ /**
408
+ * 发起支付并在10秒后开始轮询
409
+ */
410
+ var run = /*#__PURE__*/function () {
411
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(options) {
412
+ var _options$paymentType, paymentType, params, paymentNum, callbacks, runId, _ref4, pay_param_base64, otherParams, signal, resultPromise, _res2;
413
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
414
+ while (1) switch (_context2.prev = _context2.next) {
415
+ case 0:
416
+ _options$paymentType = options.paymentType, paymentType = _options$paymentType === void 0 ? ActionType.Pay : _options$paymentType, params = options.params, paymentNum = options.paymentNum, callbacks = options.callbacks; // 生成本次执行的唯一ID(使用时间戳)
417
+ runId = Date.now();
418
+ currentRunIdRef.current = runId;
419
+ _ref4 = params || {}, pay_param_base64 = _ref4.pay_param_base64, otherParams = _objectWithoutProperties(_ref4, _excluded);
420
+ paymentLog.init(paymentNum, {
421
+ orderId: options === null || options === void 0 ? void 0 : options.orderId,
422
+ deviceId: options === null || options === void 0 ? void 0 : options.deviceId,
423
+ paymentType: "PAYO_".concat(paymentType),
424
+ params: otherParams
425
+ });
426
+
427
+ // 先标记为已完成,阻止旧的请求响应被处理
428
+ isFinishedRef.current = true;
429
+
430
+ // 清理资源但保留回调引用(会把 isFinishedRef 重置为 false)
431
+ clean({
432
+ clearCallbacks: false
433
+ });
434
+
435
+ // 覆盖为新的回调方法(直接覆盖,无中间状态)
436
+ callbacksRef.current = callbacks;
437
+
438
+ // 10秒后开始轮询(全局超时将在开始轮询时启动)
439
+ queryStartTimerRef.current = setTimeout(function () {
440
+ paymentLog.addLog({
441
+ title: '支付后10秒开始轮询'
442
+ });
443
+ startQuery(paymentNum);
444
+ }, QUERY_START_DELAY);
445
+
446
+ // 创建支付请求控制器
447
+ payControllerRef.current = new AbortController();
448
+ signal = payControllerRef.current.signal;
449
+ _context2.prev = 11;
450
+ paymentLog.addLog({
451
+ title: '发起支付请求'
452
+ });
453
+ resultPromise = paymentType === ActionType.Pay ? payApi : refundApi;
454
+ if (resultPromise) {
455
+ _context2.next = 16;
456
+ break;
457
+ }
458
+ throw new Error("".concat(paymentType === ActionType.Pay ? '支付' : '退款', "\u63A5\u53E3\u4E0D\u5B58\u5728"));
459
+ case 16:
460
+ _context2.next = 18;
461
+ return resultPromise === null || resultPromise === void 0 ? void 0 : resultPromise(params, {
462
+ signal: signal
463
+ });
464
+ case 18:
465
+ _res2 = _context2.sent;
466
+ if (!(runId < currentRunIdRef.current)) {
467
+ _context2.next = 22;
468
+ break;
469
+ }
470
+ paymentLog.addLog({
471
+ title: '支付响应过期,忽略'
472
+ });
473
+ return _context2.abrupt("return");
474
+ case 22:
475
+ if (!(isFinishedRef.current || !shouldContinue())) {
476
+ _context2.next = 25;
477
+ break;
478
+ }
479
+ paymentLog.addLog({
480
+ title: '支付返回时已完成或不应继续处理'
481
+ });
482
+ return _context2.abrupt("return");
483
+ case 25:
484
+ if (!(_res2 && "".concat(_res2.code) === '200')) {
485
+ _context2.next = 29;
486
+ break;
487
+ }
488
+ paymentLog.addLog({
489
+ title: '支付接口成功'
490
+ });
491
+ handleFinalSuccess(_res2, paymentType);
492
+ return _context2.abrupt("return");
493
+ case 29:
494
+ // 支付接口返回失败
495
+ // 如果有明确的错误code且不是超时,则直接失败
496
+ if (isRequestFailed(_res2 === null || _res2 === void 0 ? void 0 : _res2.code)) {
497
+ paymentLog.addLog({
498
+ title: '支付接口返回失败',
499
+ content: {
500
+ res: _res2
501
+ }
502
+ });
503
+ handleFinalError(_res2, ActionType.Pay);
504
+ } else {
505
+ paymentLog.addLog({
506
+ title: '支付超时或无明确错误,等待轮询结果',
507
+ content: {
508
+ res: _res2
509
+ }
510
+ });
511
+ }
512
+ _context2.next = 41;
513
+ break;
514
+ case 32:
515
+ _context2.prev = 32;
516
+ _context2.t0 = _context2["catch"](11);
517
+ if (!(runId < currentRunIdRef.current)) {
518
+ _context2.next = 37;
519
+ break;
520
+ }
521
+ paymentLog.addLog({
522
+ title: '支付响应过期,忽略'
523
+ });
524
+ return _context2.abrupt("return");
525
+ case 37:
526
+ if (!(isFinishedRef.current || !shouldContinue())) {
527
+ _context2.next = 40;
528
+ break;
529
+ }
530
+ paymentLog.addLog({
531
+ title: '支付异常时已完成或不应继续处理'
532
+ });
533
+ return _context2.abrupt("return");
534
+ case 40:
535
+ // 支付接口异常
536
+ // 如果有明确的错误code且不是超时,则直接失败
537
+ if (isRequestFailed(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.code)) {
538
+ paymentLog.addLog({
539
+ title: '支付接口异常',
540
+ content: {
541
+ error: _context2.t0
542
+ }
543
+ });
544
+ handleFinalError(_context2.t0, paymentType);
545
+ } else {
546
+ paymentLog.addLog({
547
+ title: '支付超时或无明确错误,等待轮询结果',
548
+ content: {
549
+ error: _context2.t0
550
+ }
551
+ });
552
+ }
553
+ case 41:
554
+ case "end":
555
+ return _context2.stop();
556
+ }
557
+ }, _callee2, null, [[11, 32]]);
558
+ }));
559
+ return function run(_x2) {
560
+ return _ref3.apply(this, arguments);
561
+ };
562
+ }();
563
+
564
+ /**
565
+ * 手动停止(完全清理,包括回调)
566
+ */
567
+ var stop = function stop() {
568
+ paymentLog.addLog({
569
+ title: '手动停止支付流程'
570
+ });
571
+ clean(); // 完全清理,包括回调
572
+ isFinishedRef.current = true; // 标记为已完成
573
+ };
574
+ return {
575
+ run: run,
576
+ stop: stop,
577
+ clean: clean
578
+ };
579
+ };