@pisell/pisellos 2.1.38 → 2.2.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 (135) hide show
  1. package/dist/core/index.d.ts +8 -1
  2. package/dist/core/index.js +116 -42
  3. package/dist/effects/index.d.ts +1 -0
  4. package/dist/effects/index.js +29 -6
  5. package/dist/modules/Account/index.js +2 -3
  6. package/dist/modules/BaseModule.d.ts +3 -0
  7. package/dist/modules/BaseModule.js +15 -0
  8. package/dist/modules/Customer/index.js +9 -10
  9. package/dist/modules/Customer/types.d.ts +2 -2
  10. package/dist/modules/Customer/types.js +2 -2
  11. package/dist/modules/Discount/index.js +1 -1
  12. package/dist/modules/Guests/index.js +9 -9
  13. package/dist/modules/Order/index.js +1 -1
  14. package/dist/modules/Payment/index.js +63 -73
  15. package/dist/modules/Payment/walletpass.js +4 -1
  16. package/dist/modules/Product/index.d.ts +1 -1
  17. package/dist/modules/Product/types.d.ts +19 -0
  18. package/dist/modules/ProductList/index.js +5 -14
  19. package/dist/modules/Resource/index.js +1 -1
  20. package/dist/modules/Rules/index.js +2 -3
  21. package/dist/modules/Schedule/types.d.ts +2 -0
  22. package/dist/plugins/request.d.ts +1 -0
  23. package/dist/server/index.d.ts +152 -0
  24. package/dist/server/index.js +946 -0
  25. package/dist/server/modules/index.d.ts +16 -0
  26. package/dist/server/modules/index.js +21 -0
  27. package/dist/server/modules/menu/index.d.ts +63 -0
  28. package/dist/server/modules/menu/index.js +476 -0
  29. package/dist/server/modules/menu/types.d.ts +68 -0
  30. package/dist/server/modules/menu/types.js +16 -0
  31. package/dist/server/modules/products/index.d.ts +141 -0
  32. package/dist/server/modules/products/index.js +768 -0
  33. package/dist/server/modules/products/types.d.ts +94 -0
  34. package/dist/server/modules/products/types.js +43 -0
  35. package/dist/server/modules/quotation/index.d.ts +47 -0
  36. package/dist/server/modules/quotation/index.js +367 -0
  37. package/dist/server/modules/quotation/types.d.ts +50 -0
  38. package/dist/server/modules/quotation/types.js +20 -0
  39. package/dist/server/modules/schedule/index.d.ts +62 -0
  40. package/dist/server/modules/schedule/index.js +431 -0
  41. package/dist/server/modules/schedule/types.d.ts +1 -0
  42. package/dist/server/modules/schedule/types.js +2 -0
  43. package/dist/server/modules/schedule/utils.d.ts +32 -0
  44. package/dist/server/modules/schedule/utils.js +747 -0
  45. package/dist/server/types.d.ts +64 -0
  46. package/dist/server/types.js +1 -0
  47. package/dist/server/utils/index.d.ts +5 -0
  48. package/dist/server/utils/index.js +6 -0
  49. package/dist/server/utils/product.d.ts +18 -0
  50. package/dist/server/utils/product.js +339 -0
  51. package/dist/server/utils/schedule.d.ts +14 -0
  52. package/dist/server/utils/schedule.js +108 -0
  53. package/dist/server/utils/time.d.ts +18 -0
  54. package/dist/server/utils/time.js +53 -0
  55. package/dist/solution/BookingByStep/index.d.ts +1 -17
  56. package/dist/solution/BookingByStep/index.js +23 -468
  57. package/dist/solution/BookingByStep/utils/capacity.d.ts +2 -7
  58. package/dist/solution/BookingByStep/utils/capacity.js +8 -24
  59. package/dist/solution/BookingTicket/index.d.ts +12 -0
  60. package/dist/solution/BookingTicket/index.js +122 -79
  61. package/dist/solution/BookingTicket/utils/scan/index.d.ts +4 -0
  62. package/dist/solution/BookingTicket/utils/scan/index.js +25 -16
  63. package/dist/solution/BuyTickets/index.js +7 -8
  64. package/dist/solution/Checkout/index.d.ts +1 -46
  65. package/dist/solution/Checkout/index.js +530 -850
  66. package/dist/solution/ShopDiscount/index.js +9 -10
  67. package/dist/types/index.d.ts +27 -0
  68. package/lib/core/index.d.ts +8 -1
  69. package/lib/core/index.js +48 -1
  70. package/lib/effects/index.d.ts +1 -0
  71. package/lib/effects/index.js +13 -0
  72. package/lib/modules/Account/index.js +2 -3
  73. package/lib/modules/BaseModule.d.ts +3 -0
  74. package/lib/modules/BaseModule.js +9 -0
  75. package/lib/modules/Customer/index.js +9 -10
  76. package/lib/modules/Customer/types.d.ts +2 -2
  77. package/lib/modules/Customer/types.js +2 -2
  78. package/lib/modules/Discount/index.js +1 -1
  79. package/lib/modules/Guests/index.js +9 -9
  80. package/lib/modules/Order/index.js +1 -1
  81. package/lib/modules/Payment/index.js +56 -43
  82. package/lib/modules/Payment/walletpass.js +3 -1
  83. package/lib/modules/Product/index.d.ts +1 -1
  84. package/lib/modules/Product/types.d.ts +19 -0
  85. package/lib/modules/ProductList/index.js +4 -13
  86. package/lib/modules/Resource/index.js +1 -1
  87. package/lib/modules/Rules/index.js +2 -3
  88. package/lib/modules/Schedule/types.d.ts +2 -0
  89. package/lib/plugins/request.d.ts +1 -0
  90. package/lib/server/index.d.ts +152 -0
  91. package/lib/server/index.js +555 -0
  92. package/lib/server/modules/index.d.ts +16 -0
  93. package/lib/server/modules/index.js +47 -0
  94. package/lib/server/modules/menu/index.d.ts +63 -0
  95. package/lib/server/modules/menu/index.js +234 -0
  96. package/lib/server/modules/menu/types.d.ts +68 -0
  97. package/lib/server/modules/menu/types.js +33 -0
  98. package/lib/server/modules/products/index.d.ts +141 -0
  99. package/lib/server/modules/products/index.js +434 -0
  100. package/lib/server/modules/products/types.d.ts +94 -0
  101. package/lib/server/modules/products/types.js +35 -0
  102. package/lib/server/modules/quotation/index.d.ts +47 -0
  103. package/lib/server/modules/quotation/index.js +177 -0
  104. package/lib/server/modules/quotation/types.d.ts +50 -0
  105. package/lib/server/modules/quotation/types.js +33 -0
  106. package/lib/server/modules/schedule/index.d.ts +62 -0
  107. package/lib/server/modules/schedule/index.js +231 -0
  108. package/lib/server/modules/schedule/types.d.ts +1 -0
  109. package/lib/server/modules/schedule/types.js +23 -0
  110. package/lib/server/modules/schedule/utils.d.ts +32 -0
  111. package/lib/server/modules/schedule/utils.js +451 -0
  112. package/lib/server/types.d.ts +64 -0
  113. package/lib/server/types.js +17 -0
  114. package/lib/server/utils/index.d.ts +5 -0
  115. package/lib/server/utils/index.js +25 -0
  116. package/lib/server/utils/product.d.ts +18 -0
  117. package/lib/server/utils/product.js +262 -0
  118. package/lib/server/utils/schedule.d.ts +14 -0
  119. package/lib/server/utils/schedule.js +88 -0
  120. package/lib/server/utils/time.d.ts +18 -0
  121. package/lib/server/utils/time.js +70 -0
  122. package/lib/solution/BookingByStep/index.d.ts +1 -17
  123. package/lib/solution/BookingByStep/index.js +40 -312
  124. package/lib/solution/BookingByStep/utils/capacity.d.ts +2 -7
  125. package/lib/solution/BookingByStep/utils/capacity.js +8 -21
  126. package/lib/solution/BookingTicket/index.d.ts +12 -0
  127. package/lib/solution/BookingTicket/index.js +25 -6
  128. package/lib/solution/BookingTicket/utils/scan/index.d.ts +4 -0
  129. package/lib/solution/BookingTicket/utils/scan/index.js +7 -1
  130. package/lib/solution/BuyTickets/index.js +7 -8
  131. package/lib/solution/Checkout/index.d.ts +1 -46
  132. package/lib/solution/Checkout/index.js +92 -289
  133. package/lib/solution/ShopDiscount/index.js +10 -11
  134. package/lib/types/index.d.ts +27 -0
  135. package/package.json +2 -2
@@ -70,10 +70,10 @@ export var GuestListModule = /*#__PURE__*/function (_BaseModule) {
70
70
  case 0:
71
71
  this.state.list.push(guest);
72
72
  _context2.next = 3;
73
- return this.core.effects.emit(GuestHooks.OnGuestAdd, guest);
73
+ return this.core.effects.emit("".concat(this.name, ":onGuestAdd"), guest);
74
74
  case 3:
75
75
  _context2.next = 5;
76
- return this.core.effects.emit(GuestHooks.OnGuestChange, this.state.list);
76
+ return this.core.effects.emit("".concat(this.name, ":onGuestChange"), this.state.list);
77
77
  case 5:
78
78
  case "end":
79
79
  return _context2.stop();
@@ -107,7 +107,7 @@ export var GuestListModule = /*#__PURE__*/function (_BaseModule) {
107
107
  return this.core.effects.emit(GuestHooks.OnGuestUpdate, this.state.list[index]);
108
108
  case 6:
109
109
  _context3.next = 8;
110
- return this.core.effects.emit(GuestHooks.OnGuestChange, this.state.list);
110
+ return this.core.effects.emit("".concat(this.name, ":onGuestChange"), this.state.list);
111
111
  case 8:
112
112
  case "end":
113
113
  return _context3.stop();
@@ -138,10 +138,10 @@ export var GuestListModule = /*#__PURE__*/function (_BaseModule) {
138
138
  case 3:
139
139
  _this$state$list$spli = this.state.list.splice(index, 1), _this$state$list$spli2 = _slicedToArray(_this$state$list$spli, 1), removed = _this$state$list$spli2[0];
140
140
  _context4.next = 6;
141
- return this.core.effects.emit(GuestHooks.OnGuestRemove, removed);
141
+ return this.core.effects.emit("".concat(this.name, ":onGuestRemove"), removed);
142
142
  case 6:
143
143
  _context4.next = 8;
144
- return this.core.effects.emit(GuestHooks.OnGuestChange, this.state.list);
144
+ return this.core.effects.emit("".concat(this.name, ":onGuestChange"), this.state.list);
145
145
  case 8:
146
146
  case "end":
147
147
  return _context4.stop();
@@ -196,10 +196,10 @@ export var GuestListModule = /*#__PURE__*/function (_BaseModule) {
196
196
  case 3:
197
197
  guest.items.push(item);
198
198
  _context6.next = 6;
199
- return this.core.effects.emit(GuestHooks.OnGuestUpdate, guest);
199
+ return this.core.effects.emit("".concat(this.name, ":onGuestUpdate"), guest);
200
200
  case 6:
201
201
  _context6.next = 8;
202
- return this.core.effects.emit(GuestHooks.OnGuestChange, this.state.list);
202
+ return this.core.effects.emit("".concat(this.name, ":onGuestChange"), this.state.list);
203
203
  case 8:
204
204
  case "end":
205
205
  return _context6.stop();
@@ -239,10 +239,10 @@ export var GuestListModule = /*#__PURE__*/function (_BaseModule) {
239
239
  case 6:
240
240
  guest.items.splice(index, 1);
241
241
  _context7.next = 9;
242
- return this.core.effects.emit(GuestHooks.OnGuestUpdate, guest);
242
+ return this.core.effects.emit("".concat(this.name, ":onGuestUpdate"), guest);
243
243
  case 9:
244
244
  _context7.next = 11;
245
- return this.core.effects.emit(GuestHooks.OnGuestChange, this.state.list);
245
+ return this.core.effects.emit("".concat(this.name, ":onGuestChange"), this.state.list);
246
246
  case 11:
247
247
  case "end":
248
248
  return _context7.stop();
@@ -35,7 +35,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
35
35
  function OrderModule(name, version) {
36
36
  var _this;
37
37
  _classCallCheck(this, OrderModule);
38
- _this = _super.call(this, name, version);
38
+ _this = _super.call(this, name || "order", version);
39
39
  _defineProperty(_assertThisInitialized(_this), "defaultName", 'order');
40
40
  _defineProperty(_assertThisInitialized(_this), "defaultVersion", '1.0.0');
41
41
  _defineProperty(_assertThisInitialized(_this), "store", void 0);
@@ -21,7 +21,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
21
21
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
22
22
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
23
  import { BaseModule } from "../BaseModule";
24
- import { PaymentStatus, PaymentHooks, PaymentMethodType, RoundingRule } from "./types";
24
+ import { PaymentStatus, PaymentMethodType, RoundingRule } from "./types";
25
25
  import { getUniqueId } from "../Cart/utils";
26
26
  import { CashPaymentImpl } from "./cash";
27
27
  import { EftposPaymentImpl } from "./eftpos";
@@ -73,7 +73,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
73
73
  function PaymentModule(name, version) {
74
74
  var _this;
75
75
  _classCallCheck(this, PaymentModule);
76
- _this = _super.call(this, name, version);
76
+ _this = _super.call(this, name || "payment", version);
77
77
  // 初始化支付方式实例
78
78
  _defineProperty(_assertThisInitialized(_this), "defaultName", 'pay');
79
79
  _defineProperty(_assertThisInitialized(_this), "defaultVersion", '1.0.0');
@@ -131,10 +131,6 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
131
131
  return this.ensurePaymentTables();
132
132
  case 14:
133
133
  this.registerNetworkHandlers();
134
-
135
- // // 预连接数据库
136
- // this.dbManager.connect()
137
-
138
134
  console.log('[PaymentModule] 初始化完成');
139
135
  this.logInfo('PaymentModule initialized successfully');
140
136
  case 17:
@@ -338,7 +334,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
338
334
  console.warn('[PaymentModule] 无法缓存支付方式,pay_method 表不存在');
339
335
  case 43:
340
336
  _context3.next = 45;
341
- return this.core.effects.emit(PaymentHooks.OnPaymentMethodsLoaded, payMethods);
337
+ return this.core.effects.emit("".concat(this.name, ":onPaymentMethodsLoaded"), payMethods);
342
338
  case 45:
343
339
  this.logInfo('getPayMethodListAsync completed successfully', {
344
340
  methodCount: payMethods.length,
@@ -469,7 +465,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
469
465
  newMethods: newPayMethods
470
466
  };
471
467
  _context4.next = 54;
472
- return this.core.effects.emit(PaymentHooks.OnPaymentMethodsChanged, eventData);
468
+ return this.core.effects.emit("".concat(this.name, ":onPaymentMethodsChanged"), eventData);
473
469
  case 54:
474
470
  _context4.next = 57;
475
471
  break;
@@ -661,8 +657,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
661
657
  key: "createPaymentOrderAsync",
662
658
  value: (function () {
663
659
  var _createPaymentOrderAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(params) {
664
- var _this3 = this;
665
- var newOrder, dbAddStartTime, dbAddDuration;
660
+ var existingOrder, newOrder;
666
661
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
667
662
  while (1) switch (_context7.prev = _context7.next) {
668
663
  case 0:
@@ -671,41 +666,41 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
671
666
  totalAmount: params.total_amount
672
667
  });
673
668
  _context7.prev = 1;
674
- // 检测是否有重复的 order_id
675
- // console.time('createLocalOrderAsync: getExistingOrder')
676
- // const existingOrder = await this.dbManager.get('order', params.order_id);
677
- // const existingOrders = await this.dbManager.getAll('order');
678
- // const existingOrder = existingOrders.find(
679
- // (order: PaymentOrder) => String(order.id) === String(params.order_id),
680
- // );
681
- // this.logInfo('createPaymentOrderAsync existingOrder', {
682
- // existingOrder
683
- // });
684
- // console.timeEnd('createLocalOrderAsync: getExistingOrder')
669
+ _context7.next = 4;
670
+ return this.dbManager.get('order', params.order_id);
671
+ case 4:
672
+ existingOrder = _context7.sent;
673
+ this.logInfo('createPaymentOrderAsync existingOrder', {
674
+ existingOrder: existingOrder
675
+ });
685
676
  // const existingOrder = existingOrders.find(
686
677
  // (order: PaymentOrder) => String(order.id) === String(params.order_id),
687
678
  // );
688
- // if (existingOrder) {
689
- // // 如果存在相同 order_id 的订单,更新该订单信息
690
- // this.logInfo(
691
- // `createPaymentOrderAsync found duplicate order ID: ${params.order_id}, updating existing payment order`,
692
- // );
693
- // // const originalOrder = { ...existingOrder };
694
- // existingOrder.order_info = params.order_info;
695
- // existingOrder.total_amount = params.total_amount;
696
- // existingOrder.is_deposit = params.is_deposit || 0;
697
- // existingOrder.deposit_amount = params.deposit_amount || '0.00';
698
- // // 重新计算待付金额
699
- // this.recalculateOrderAmount(existingOrder);
700
- // // 更新到数据库
701
- // await this.dbManager.update('order', existingOrder);
702
- // // 触发更新事件
703
- // this.core.effects.emit(
704
- // `${this.name}:onOrderUpdated`,
705
- // existingOrder,
706
- // );
707
- // return existingOrder;
708
- // } else {
679
+ if (!existingOrder) {
680
+ _context7.next = 20;
681
+ break;
682
+ }
683
+ // 如果存在相同 order_id 的订单,更新该订单信息
684
+ this.logInfo("createPaymentOrderAsync found duplicate order ID: ".concat(params.order_id, ", updating existing payment order"));
685
+
686
+ // const originalOrder = { ...existingOrder };
687
+ existingOrder.order_info = params.order_info;
688
+ existingOrder.total_amount = params.total_amount;
689
+ existingOrder.is_deposit = params.is_deposit || 0;
690
+ existingOrder.deposit_amount = params.deposit_amount || '0.00';
691
+
692
+ // 重新计算待付金额
693
+ this.recalculateOrderAmount(existingOrder);
694
+
695
+ // 更新到数据库
696
+ _context7.next = 15;
697
+ return this.dbManager.update('order', existingOrder);
698
+ case 15:
699
+ _context7.next = 17;
700
+ return this.core.effects.emit("".concat(this.name, ":onOrderUpdated"), existingOrder);
701
+ case 17:
702
+ return _context7.abrupt("return", existingOrder);
703
+ case 20:
709
704
  // 创建新的支付订单
710
705
  newOrder = {
711
706
  uuid: getUniqueId('pay_order_'),
@@ -720,37 +715,32 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
720
715
  tax_fee: '0.00',
721
716
  is_deposit: params.is_deposit || 0,
722
717
  deposit_amount: params.deposit_amount || '0.00'
723
- }; // 🚀 性能监控:记录数据库添加操作耗时
724
- dbAddStartTime = Date.now();
725
- _context7.next = 6;
718
+ };
719
+ _context7.next = 23;
726
720
  return this.dbManager.add('order', newOrder);
727
- case 6:
728
- dbAddDuration = Date.now() - dbAddStartTime;
729
- this.logInfo('Database add operation completed', {
730
- operation: 'dbManager.add',
731
- table: 'order',
721
+ case 23:
722
+ this.core.effects.emit("".concat(this.name, ":onOrderAdded"), newOrder);
723
+ this.logInfo('createPaymentOrderAsync completed - new payment order created', {
732
724
  orderUuid: newOrder.uuid,
733
- orderId: newOrder.order_id,
734
- duration: "".concat(dbAddDuration, "ms"),
735
- performance: dbAddDuration > 100 ? 'slow' : dbAddDuration > 50 ? 'medium' : 'fast'
725
+ orderId: newOrder.id
736
726
  });
737
- setTimeout(function () {
738
- _this3.core.effects.emit("".concat(_this3.name, ":onOrderAdded"), newOrder);
739
- }, 0);
740
727
  return _context7.abrupt("return", newOrder);
741
- case 12:
742
- _context7.prev = 12;
728
+ case 26:
729
+ _context7.next = 33;
730
+ break;
731
+ case 28:
732
+ _context7.prev = 28;
743
733
  _context7.t0 = _context7["catch"](1);
744
734
  console.error('[PaymentModule] 创建支付订单失败', _context7.t0);
745
735
  this.logError('createPaymentOrderAsync failed', _context7.t0, {
746
736
  orderId: params.order_id
747
737
  });
748
738
  throw _context7.t0;
749
- case 17:
739
+ case 33:
750
740
  case "end":
751
741
  return _context7.stop();
752
742
  }
753
- }, _callee7, this, [[1, 12]]);
743
+ }, _callee7, this, [[1, 28]]);
754
744
  }));
755
745
  function createPaymentOrderAsync(_x6) {
756
746
  return _createPaymentOrderAsync.apply(this, arguments);
@@ -782,7 +772,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
782
772
  return this.dbManager.delete('order', orderUuid);
783
773
  case 7:
784
774
  _context8.next = 9;
785
- return this.core.effects.emit(PaymentHooks.OnOrderDeleted, order);
775
+ return this.core.effects.emit("".concat(this.name, ":onOrderDeleted"), order);
786
776
  case 9:
787
777
  console.log('[PaymentModule] 支付订单删除成功:', orderUuid);
788
778
  case 10:
@@ -831,10 +821,10 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
831
821
  return this.dbManager.update('order', updatedOrder);
832
822
  case 9:
833
823
  _context9.next = 11;
834
- return this.core.effects.emit(PaymentHooks.OnOrderUpdated, updatedOrder);
824
+ return this.core.effects.emit("".concat(this.name, ":onOrderUpdated"), updatedOrder);
835
825
  case 11:
836
826
  _context9.next = 13;
837
- return this.core.effects.emit(PaymentHooks.OnOrderChanged, {
827
+ return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
838
828
  action: 'update',
839
829
  order: updatedOrder,
840
830
  originalOrder: order
@@ -929,10 +919,10 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
929
919
  return this.dbManager.update('order', updatedOrder);
930
920
  case 19:
931
921
  _context10.next = 21;
932
- return this.core.effects.emit(PaymentHooks.OnOrderUpdated, updatedOrder);
922
+ return this.core.effects.emit("".concat(this.name, ":onOrderUpdated"), updatedOrder);
933
923
  case 21:
934
924
  _context10.next = 23;
935
- return this.core.effects.emit(PaymentHooks.OnOrderChanged, {
925
+ return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
936
926
  action: 'order_id_replaced',
937
927
  order: updatedOrder,
938
928
  originalOrder: existingOrder,
@@ -1129,7 +1119,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
1129
1119
  return this.dbManager.update('order', order);
1130
1120
  case 21:
1131
1121
  _context13.next = 23;
1132
- return this.core.effects.emit(PaymentHooks.OnPaymentAdded, {
1122
+ return this.core.effects.emit("".concat(this.name, ":onPaymentAdded"), {
1133
1123
  orderUuid: orderUuid,
1134
1124
  payment: newPaymentItem
1135
1125
  });
@@ -1231,13 +1221,13 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
1231
1221
  return this.dbManager.update('order', order);
1232
1222
  case 20:
1233
1223
  _context14.next = 22;
1234
- return this.core.effects.emit(PaymentHooks.OnPaymentDeleted, {
1224
+ return this.core.effects.emit("".concat(this.name, ":onPaymentDeleted"), {
1235
1225
  order: order,
1236
1226
  paymentItem: paymentItem
1237
1227
  });
1238
1228
  case 22:
1239
1229
  _context14.next = 24;
1240
- return this.core.effects.emit(PaymentHooks.OnOrderChanged, {
1230
+ return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
1241
1231
  action: 'payment_delete',
1242
1232
  order: order,
1243
1233
  paymentItem: paymentItem
@@ -1404,7 +1394,7 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
1404
1394
  case 50:
1405
1395
  updatedOrder = _context15.sent;
1406
1396
  _context15.next = 53;
1407
- return this.core.effects.emit(PaymentHooks.OnPaymentAdded, {
1397
+ return this.core.effects.emit("".concat(this.name, ":onPaymentAdded"), {
1408
1398
  orderUuid: orderUuid,
1409
1399
  order: updatedOrder,
1410
1400
  payment: null // 批量操作不提供单个支付项
@@ -1483,13 +1473,13 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
1483
1473
  return this.dbManager.update('order', order);
1484
1474
  case 14:
1485
1475
  _context16.next = 16;
1486
- return this.core.effects.emit(PaymentHooks.OnPaymentUpdated, {
1476
+ return this.core.effects.emit("".concat(this.name, ":onPaymentUpdated"), {
1487
1477
  order: order,
1488
1478
  paymentItem: paymentItem
1489
1479
  });
1490
1480
  case 16:
1491
1481
  _context16.next = 18;
1492
- return this.core.effects.emit(PaymentHooks.OnOrderChanged, {
1482
+ return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
1493
1483
  action: 'payment_update',
1494
1484
  order: order,
1495
1485
  paymentItem: paymentItem
@@ -1668,10 +1658,10 @@ export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
1668
1658
  return _context18.abrupt("return");
1669
1659
  case 12:
1670
1660
  _context18.next = 14;
1671
- return this.core.effects.emit(PaymentHooks.OnPaymentSubmitted, order);
1661
+ return this.core.effects.emit("".concat(this.name, ":onPaymentSubmitted"), order);
1672
1662
  case 14:
1673
1663
  _context18.next = 16;
1674
- return this.core.effects.emit(PaymentHooks.OnOrderChanged, {
1664
+ return this.core.effects.emit("".concat(this.name, ":onOrderChanged"), {
1675
1665
  action: 'submit',
1676
1666
  order: order
1677
1667
  });
@@ -40,7 +40,10 @@ export var WalletPassPaymentImpl = /*#__PURE__*/function () {
40
40
  key: "emitEvent",
41
41
  value: function emitEvent(hook, data) {
42
42
  try {
43
- this.paymentModule.core.effects.emit(hook, data);
43
+ // 提取事件名称,去掉模块前缀
44
+ var eventName = hook.split(':')[1] || hook.replace(/^[A-Z][a-z]+/, '').replace(/^On/, '').toLowerCase();
45
+ var fullEventName = "".concat(this.paymentModule.name, ":").concat(eventName);
46
+ this.paymentModule.core.effects.emit(fullEventName, data);
44
47
  } catch (error) {
45
48
  this.paymentModule.logError('[WalletPass] 发送事件失败', error, {
46
49
  hook: hook
@@ -49,5 +49,5 @@ export declare class Product extends BaseModule implements Module {
49
49
  getCategories(): ProductCategory[];
50
50
  setOtherParams(key: string, value: any): void;
51
51
  getOtherParams(): any;
52
- getProductType(): "duration" | "session" | "normal";
52
+ getProductType(): "normal" | "duration" | "session";
53
53
  }
@@ -1,3 +1,14 @@
1
+ /**
2
+ * 商品集合接口
3
+ */
4
+ export interface ProductCollection {
5
+ /** 商品集合id */
6
+ id: number;
7
+ /** 商品集合名称 */
8
+ title: string;
9
+ /** 商品集合封面 */
10
+ cover: string;
11
+ }
1
12
  /**
2
13
  * 商品基本信息接口
3
14
  */
@@ -8,6 +19,8 @@ export interface ProductData {
8
19
  id: number;
9
20
  /** 商品所属账户id */
10
21
  account_id: number | string;
22
+ /** 商品集合 */
23
+ collection?: ProductCollection[];
11
24
  /** 扩展类型id */
12
25
  extension_id: number;
13
26
  /** 扩展类型 */
@@ -189,6 +202,12 @@ export interface ProductData {
189
202
  };
190
203
  /** 购物车行键,用于唯一标识购物车中的商品,用于相同 SKU商品合并 */
191
204
  rowKey?: string;
205
+ /** 套餐组数量 */
206
+ bundle_group_count: number;
207
+ /** 选项组数量 */
208
+ option_group_count: number;
209
+ /** 服务时长 */
210
+ service_times?: any;
192
211
  }
193
212
  /**
194
213
  * 商品媒体信息接口
@@ -16,7 +16,6 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
17
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  import { BaseModule } from "../BaseModule";
19
- import { ProductListHooks } from "./types";
20
19
  import { cloneDeep } from 'lodash-es';
21
20
  export * from "./types";
22
21
  export var ProductList = /*#__PURE__*/function (_BaseModule) {
@@ -130,28 +129,20 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
130
129
  with_count: with_count,
131
130
  // client_schedule_ids: schedule_ids,
132
131
  schedule_date: schedule_date,
133
- application_code: (_this$otherParams = this.otherParams) === null || _this$otherParams === void 0 ? void 0 : _this$otherParams.channel,
134
132
  with_schedule: with_schedule,
135
133
  schedule_datetime: schedule_datetime,
136
- is_eject: 1
134
+ application_code: (_this$otherParams = this.otherParams) === null || _this$otherParams === void 0 ? void 0 : _this$otherParams.channel
137
135
  }, {
138
- useCache: true
136
+ osServer: true
139
137
  });
140
138
  case 6:
141
139
  productsData = _context3.sent;
142
140
  sortedList = (productsData.data.list || []).slice().sort(function (a, b) {
143
141
  return Number(b.sort) - Number(a.sort);
144
142
  });
145
- if (sortedList.length) {
146
- sortedList.forEach(function (n) {
147
- if (n.is_eject !== 1 && n['schedule.ids'] && n['schedule.ids'].length) {
148
- n.is_eject = 1;
149
- }
150
- });
151
- }
152
143
  this.addProduct(sortedList);
153
144
  return _context3.abrupt("return", sortedList);
154
- case 11:
145
+ case 10:
155
146
  case "end":
156
147
  return _context3.stop();
157
148
  }
@@ -202,7 +193,7 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
202
193
  while (1) switch (_context5.prev = _context5.next) {
203
194
  case 0:
204
195
  _context5.next = 2;
205
- return this.core.effects.emit(ProductListHooks.onGetProducts, this.store.list);
196
+ return this.core.effects.emit("".concat(this.name, ":onGetProducts"), this.store.list);
206
197
  case 2:
207
198
  return _context5.abrupt("return", cloneDeep(this.store.list));
208
199
  case 3:
@@ -225,7 +216,7 @@ export var ProductList = /*#__PURE__*/function (_BaseModule) {
225
216
  while (1) switch (_context6.prev = _context6.next) {
226
217
  case 0:
227
218
  _context6.next = 2;
228
- return this.core.effects.emit(ProductListHooks.onGetProduct, this.store.list);
219
+ return this.core.effects.emit("".concat(this.name, ":onGetProduct"), this.store.list);
229
220
  case 2:
230
221
  product = this.store.list.find(function (product) {
231
222
  return product.id === id;
@@ -89,7 +89,7 @@ export var ResourceListModule = /*#__PURE__*/function (_BaseModule) {
89
89
  case 3:
90
90
  this.store.selectedResource = resource;
91
91
  _context3.next = 6;
92
- return this.core.effects.emit(ResourceHooks.OnResourceSelect, resource);
92
+ return this.core.effects.emit("".concat(this.name, ":onResourceSelect"), resource);
93
93
  case 6:
94
94
  case "end":
95
95
  return _context3.stop();
@@ -24,7 +24,6 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
24
24
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
25
25
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
26
  import { BaseModule } from "../BaseModule";
27
- import { RulesHooks } from "./types";
28
27
  import { uniqueById, getDiscountAmount } from "../../solution/ShopDiscount/utils";
29
28
  import { getProductOriginTotalPrice, getProductTotalPrice } from "../Cart/utils";
30
29
  import Decimal from 'decimal.js';
@@ -73,7 +72,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
73
72
  case 0:
74
73
  this.store.rulesList = rulesList;
75
74
  _context2.next = 3;
76
- return this.core.effects.emit(RulesHooks.OnRulesListChange, rulesList);
75
+ return this.core.effects.emit("".concat(this.name, ":onRulesListChange"), rulesList);
77
76
  case 3:
78
77
  case "end":
79
78
  return _context2.stop();
@@ -665,7 +664,7 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
665
664
  case 0:
666
665
  this.core.effects.offByModuleDestroy(this.name);
667
666
  _context3.next = 3;
668
- return this.core.effects.emit(RulesHooks.OnDestroy, {});
667
+ return this.core.effects.emit("".concat(this.name, ":onDestroy"), {});
669
668
  case 3:
670
669
  console.log('[Rules] 已销毁');
671
670
  case 4:
@@ -1,6 +1,8 @@
1
1
  import dayjs from 'dayjs';
2
2
  export interface ScheduleState {
3
3
  scheduleList: ScheduleItem[];
4
+ /** 日程 Map 缓存(以 id 为 key,加速查询) */
5
+ map: Map<number, ScheduleItem>;
4
6
  availabilityDateList: ScheduleAvailabilityDateItem[];
5
7
  otherProductsIds: number[];
6
8
  }
@@ -49,6 +49,7 @@ export interface RequestOptions {
49
49
  responseType?: 'json' | 'text' | 'arraybuffer' | 'blob';
50
50
  withCredentials?: boolean;
51
51
  useCache?: boolean;
52
+ osServer?: boolean;
52
53
  }
53
54
  /**
54
55
  * 响应接口