@pisell/pisellos 2.2.178 → 2.2.180

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 (182) hide show
  1. package/dist/modules/Customer/index.d.ts +0 -6
  2. package/dist/modules/Customer/index.js +83 -129
  3. package/dist/modules/Customer/types.d.ts +0 -2
  4. package/dist/modules/Discount/index.d.ts +4 -2
  5. package/dist/modules/Discount/index.js +93 -8
  6. package/dist/modules/Discount/types.d.ts +7 -1
  7. package/dist/modules/Order/index.d.ts +17 -87
  8. package/dist/modules/Order/index.js +501 -1357
  9. package/dist/modules/Order/types.d.ts +19 -198
  10. package/dist/modules/Order/types.js +0 -31
  11. package/dist/modules/Order/utils.d.ts +1 -50
  12. package/dist/modules/Order/utils.js +32 -261
  13. package/dist/modules/Quotation/index.d.ts +1 -0
  14. package/dist/modules/Quotation/index.js +21 -23
  15. package/dist/modules/Rules/index.d.ts +0 -4
  16. package/dist/modules/Rules/index.js +10 -26
  17. package/dist/modules/SalesSummary/index.js +2 -4
  18. package/dist/modules/SalesSummary/utils.js +7 -21
  19. package/dist/modules/Schedule/index.js +2 -6
  20. package/dist/modules/index.d.ts +0 -1
  21. package/dist/modules/index.js +1 -2
  22. package/dist/server/index.js +29 -87
  23. package/dist/server/modules/order/index.d.ts +0 -23
  24. package/dist/server/modules/order/index.js +46 -123
  25. package/dist/server/modules/order/types.d.ts +2 -0
  26. package/dist/server/modules/order/utils/filterOrders.js +6 -20
  27. package/dist/server/modules/products/index.d.ts +1 -1
  28. package/dist/server/modules/products/index.js +113 -130
  29. package/dist/server/modules/schedule/index.js +6 -13
  30. package/dist/solution/BaseSales/index.d.ts +7 -89
  31. package/dist/solution/BaseSales/index.js +375 -1494
  32. package/dist/solution/BaseSales/types.d.ts +1 -67
  33. package/dist/solution/BaseSales/types.js +1 -3
  34. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -0
  35. package/dist/solution/BaseSales/utils/parseSalesResponse.js +1 -1
  36. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +16 -68
  37. package/dist/solution/BaseSales/utils.js +8 -46
  38. package/dist/solution/BookingByStep/index.d.ts +1 -1
  39. package/dist/solution/BookingTicket/index.d.ts +1 -133
  40. package/dist/solution/BookingTicket/index.js +175 -780
  41. package/dist/solution/BookingTicket/types.d.ts +0 -2
  42. package/dist/solution/BookingTicket/types.js +0 -3
  43. package/dist/solution/BookingTicket/utils/cartView.js +2 -4
  44. package/dist/solution/ScanOrder/index.d.ts +3 -9
  45. package/dist/solution/ScanOrder/index.js +128 -231
  46. package/dist/solution/ScanOrder/utils.js +8 -46
  47. package/dist/solution/ShopDiscount/index.d.ts +1 -0
  48. package/dist/solution/ShopDiscount/index.js +23 -18
  49. package/dist/solution/VenueBooking/index.d.ts +9 -5
  50. package/dist/solution/VenueBooking/index.js +55 -103
  51. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  52. package/dist/solution/VenueBooking/utils/slotMerge.js +0 -10
  53. package/lib/model/strategy/adapter/promotion/index.js +0 -49
  54. package/lib/modules/Customer/index.d.ts +0 -6
  55. package/lib/modules/Customer/index.js +11 -26
  56. package/lib/modules/Customer/types.d.ts +0 -2
  57. package/lib/modules/Discount/index.d.ts +4 -2
  58. package/lib/modules/Discount/index.js +63 -8
  59. package/lib/modules/Discount/types.d.ts +7 -1
  60. package/lib/modules/Order/index.d.ts +17 -87
  61. package/lib/modules/Order/index.js +150 -677
  62. package/lib/modules/Order/types.d.ts +19 -198
  63. package/lib/modules/Order/types.js +0 -1
  64. package/lib/modules/Order/utils.d.ts +1 -50
  65. package/lib/modules/Order/utils.js +22 -229
  66. package/lib/modules/Quotation/index.d.ts +1 -0
  67. package/lib/modules/Quotation/index.js +15 -18
  68. package/lib/modules/Rules/index.d.ts +0 -4
  69. package/lib/modules/Rules/index.js +14 -22
  70. package/lib/modules/SalesSummary/index.js +2 -4
  71. package/lib/modules/SalesSummary/utils.js +7 -21
  72. package/lib/modules/Schedule/index.js +1 -3
  73. package/lib/modules/index.d.ts +0 -1
  74. package/lib/modules/index.js +1 -3
  75. package/lib/server/index.js +4 -41
  76. package/lib/server/modules/order/index.d.ts +0 -23
  77. package/lib/server/modules/order/index.js +14 -46
  78. package/lib/server/modules/order/types.d.ts +2 -0
  79. package/lib/server/modules/order/utils/filterOrders.js +4 -12
  80. package/lib/server/modules/products/index.d.ts +1 -1
  81. package/lib/server/modules/products/index.js +20 -30
  82. package/lib/server/modules/schedule/index.js +1 -2
  83. package/lib/solution/BaseSales/index.d.ts +7 -89
  84. package/lib/solution/BaseSales/index.js +22 -736
  85. package/lib/solution/BaseSales/types.d.ts +1 -67
  86. package/lib/solution/BaseSales/types.js +1 -3
  87. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +1 -0
  88. package/lib/solution/BaseSales/utils/parseSalesResponse.js +1 -0
  89. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +12 -71
  90. package/lib/solution/BaseSales/utils.js +6 -46
  91. package/lib/solution/BookingByStep/index.d.ts +1 -1
  92. package/lib/solution/BookingTicket/index.d.ts +1 -133
  93. package/lib/solution/BookingTicket/index.js +8 -352
  94. package/lib/solution/BookingTicket/types.d.ts +0 -2
  95. package/lib/solution/BookingTicket/types.js +0 -6
  96. package/lib/solution/BookingTicket/utils/cartView.js +2 -4
  97. package/lib/solution/ScanOrder/index.d.ts +3 -9
  98. package/lib/solution/ScanOrder/index.js +66 -147
  99. package/lib/solution/ScanOrder/utils.js +6 -46
  100. package/lib/solution/ShopDiscount/index.d.ts +1 -0
  101. package/lib/solution/ShopDiscount/index.js +4 -2
  102. package/lib/solution/VenueBooking/index.d.ts +9 -5
  103. package/lib/solution/VenueBooking/index.js +14 -50
  104. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +0 -4
  105. package/lib/solution/VenueBooking/utils/slotMerge.js +0 -10
  106. package/package.json +2 -2
  107. package/dist/modules/BookingContext/index.d.ts +0 -37
  108. package/dist/modules/BookingContext/index.js +0 -436
  109. package/dist/modules/BookingContext/types.d.ts +0 -102
  110. package/dist/modules/BookingContext/types.js +0 -51
  111. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  112. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -193
  113. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  114. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -137
  115. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  116. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -215
  117. package/dist/modules/BookingContext/utils/flexible.d.ts +0 -28
  118. package/dist/modules/BookingContext/utils/flexible.js +0 -56
  119. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  120. package/dist/modules/BookingContext/utils/formatResourceList.js +0 -38
  121. package/dist/modules/BookingContext/utils/index.d.ts +0 -11
  122. package/dist/modules/BookingContext/utils/index.js +0 -11
  123. package/dist/modules/BookingContext/utils/noResource.d.ts +0 -13
  124. package/dist/modules/BookingContext/utils/noResource.js +0 -77
  125. package/dist/modules/BookingContext/utils/productExtend.d.ts +0 -72
  126. package/dist/modules/BookingContext/utils/productExtend.js +0 -339
  127. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  128. package/dist/modules/BookingContext/utils/resourceErrors.js +0 -74
  129. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  130. package/dist/modules/BookingContext/utils/resourceSelection.js +0 -24
  131. package/dist/modules/BookingContext/utils/resources.d.ts +0 -80
  132. package/dist/modules/BookingContext/utils/resources.js +0 -486
  133. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  134. package/dist/modules/BookingContext/utils/serviceTimes.js +0 -151
  135. package/dist/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  136. package/dist/modules/BookingContext/utils/timeSlices.js +0 -100
  137. package/dist/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  138. package/dist/modules/Order/utils/manualProductDiscount.js +0 -212
  139. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +0 -275
  140. package/dist/solution/BaseSales/utils/cartPromotion.js +0 -1258
  141. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  142. package/dist/solution/BaseSales/utils/quotationPrice.js +0 -237
  143. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  144. package/dist/solution/BookingTicket/utils/addProductDecision.js +0 -346
  145. package/lib/modules/BookingContext/index.d.ts +0 -37
  146. package/lib/modules/BookingContext/index.js +0 -297
  147. package/lib/modules/BookingContext/types.d.ts +0 -102
  148. package/lib/modules/BookingContext/types.js +0 -34
  149. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +0 -16
  150. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +0 -207
  151. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +0 -8
  152. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +0 -141
  153. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +0 -75
  154. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +0 -198
  155. package/lib/modules/BookingContext/utils/flexible.d.ts +0 -28
  156. package/lib/modules/BookingContext/utils/flexible.js +0 -80
  157. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +0 -8
  158. package/lib/modules/BookingContext/utils/formatResourceList.js +0 -50
  159. package/lib/modules/BookingContext/utils/index.d.ts +0 -11
  160. package/lib/modules/BookingContext/utils/index.js +0 -43
  161. package/lib/modules/BookingContext/utils/noResource.d.ts +0 -13
  162. package/lib/modules/BookingContext/utils/noResource.js +0 -90
  163. package/lib/modules/BookingContext/utils/productExtend.d.ts +0 -72
  164. package/lib/modules/BookingContext/utils/productExtend.js +0 -283
  165. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +0 -41
  166. package/lib/modules/BookingContext/utils/resourceErrors.js +0 -80
  167. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +0 -7
  168. package/lib/modules/BookingContext/utils/resourceSelection.js +0 -46
  169. package/lib/modules/BookingContext/utils/resources.d.ts +0 -80
  170. package/lib/modules/BookingContext/utils/resources.js +0 -377
  171. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +0 -55
  172. package/lib/modules/BookingContext/utils/serviceTimes.js +0 -162
  173. package/lib/modules/BookingContext/utils/timeSlices.d.ts +0 -42
  174. package/lib/modules/BookingContext/utils/timeSlices.js +0 -124
  175. package/lib/modules/Order/utils/manualProductDiscount.d.ts +0 -106
  176. package/lib/modules/Order/utils/manualProductDiscount.js +0 -207
  177. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +0 -275
  178. package/lib/solution/BaseSales/utils/cartPromotion.js +0 -836
  179. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +0 -7
  180. package/lib/solution/BaseSales/utils/quotationPrice.js +0 -277
  181. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +0 -113
  182. package/lib/solution/BookingTicket/utils/addProductDecision.js +0 -318
@@ -118,27 +118,6 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
118
118
  moduleName: "venueBooking"
119
119
  };
120
120
  }
121
- safeStringify(value) {
122
- try {
123
- return JSON.stringify(value);
124
- } catch {
125
- return void 0;
126
- }
127
- }
128
- pickErrorMessage(error) {
129
- var _a, _b, _c, _d;
130
- const candidates = [
131
- error.message,
132
- (_a = error.data) == null ? void 0 : _a.message,
133
- (_c = (_b = error.response) == null ? void 0 : _b.data) == null ? void 0 : _c.message,
134
- (_d = error.error) == null ? void 0 : _d.message
135
- ];
136
- for (const candidate of candidates) {
137
- if (typeof candidate === "string" && candidate.trim())
138
- return candidate;
139
- }
140
- return void 0;
141
- }
142
121
  serializeError(error) {
143
122
  if (error instanceof Error) {
144
123
  return {
@@ -147,17 +126,6 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
147
126
  stack: error.stack
148
127
  };
149
128
  }
150
- if (error && typeof error === "object") {
151
- const raw = error;
152
- const message = this.pickErrorMessage(raw) || this.safeStringify(raw) || String(error);
153
- return {
154
- ...typeof raw.name === "string" ? { name: raw.name } : {},
155
- message,
156
- ..."code" in raw ? { code: raw.code } : {},
157
- ..."status" in raw ? { status: raw.status } : {},
158
- ...this.safeStringify(raw) ? { raw: this.safeStringify(raw) } : {}
159
- };
160
- }
161
129
  return {
162
130
  message: String(error)
163
131
  };
@@ -373,14 +341,12 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
373
341
  if (targetModule) {
374
342
  this.store[step] = targetModule;
375
343
  const initialState = step === "salesSummary" ? {
344
+ // TODO(Order types): VenueBooking should read OrderState.summary instead of tempOrder.summary.
376
345
  summary: ((_b2 = (_a2 = this.store.order) == null ? void 0 : _a2.getTempOrder()) == null ? void 0 : _b2.summary) || (0, import_utils.createEmptySummary)()
377
346
  } : {};
378
347
  const loggerProvider = ((_c2 = this.otherParams) == null ? void 0 : _c2.loggerProvider) || "feishu";
379
348
  const loggerConfig = ((_d2 = this.otherParams) == null ? void 0 : _d2.loggerConfig) || {
380
- feishu: {
381
- webhook: "https://open.feishu.cn/open-apis/bot/v2/hook/8f069b14-9d39-4728-8f78-b56f393bfde8",
382
- errorHook: "https://open.feishu.cn/open-apis/bot/v2/hook/bdefae5e-f233-4705-8688-946887d9543d"
383
- }
349
+ feishu: {}
384
350
  };
385
351
  this.core.registerModule(targetModule, {
386
352
  initialState,
@@ -558,10 +524,8 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
558
524
  throw new Error("venueProducts 模块未初始化");
559
525
  if (!this.store.addonProducts)
560
526
  throw new Error("addonProducts 模块未初始化");
561
- await this.loadOpenDataConfig();
562
527
  const associatedMenus = ((_b = (_a = this.otherParams) == null ? void 0 : _a.openData) == null ? void 0 : _b["menu.associated_menus"]) || [];
563
528
  if (!associatedMenus.length) {
564
- this.logMethodError("loadAllProducts", new Error("未获取到餐牌配置(menu.associated_menus),请检查 OpenData 配置"));
565
529
  throw new Error("未获取到餐牌配置(menu.associated_menus),请检查 OpenData 配置");
566
530
  }
567
531
  const menuListIds = associatedMenus.map((n) => Number(n.value));
@@ -1025,7 +989,7 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
1025
989
  form_id: (rawResource == null ? void 0 : rawResource.form_id) ?? mapping.formId,
1026
990
  relation_id: resourceId,
1027
991
  capacity: 1,
1028
- metadata: (0, import_slotMerge.buildVenueResourceMetadata)({ mapping, rawResource })
992
+ metadata: {}
1029
993
  };
1030
994
  if (childRawResources && childRawResources.length) {
1031
995
  resourceEntry.children = childRawResources.map((child) => ({
@@ -1471,23 +1435,23 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
1471
1435
  throw error;
1472
1436
  }
1473
1437
  }
1474
- async updateOrderProduct(params) {
1475
- this.logMethodStart("updateOrderProduct", {
1438
+ async updateProductInOrder(params) {
1439
+ this.logMethodStart("updateProductInOrder", {
1476
1440
  product_id: params.product_id,
1477
1441
  product_variant_id: params.product_variant_id
1478
1442
  });
1479
1443
  try {
1480
1444
  if (!this.store.order)
1481
1445
  throw new Error("order 模块未初始化");
1482
- const products = await this.store.order.updateOrderProduct(params);
1446
+ const products = await this.store.order.updateProductInOrder(params);
1483
1447
  await this.refreshItemRuleQuantityLimits();
1484
1448
  await this.refreshCartValidationPassed();
1485
- this.logMethodSuccess("updateOrderProduct", {
1449
+ this.logMethodSuccess("updateProductInOrder", {
1486
1450
  productCount: products.length
1487
1451
  });
1488
1452
  return products;
1489
1453
  } catch (error) {
1490
- this.logMethodError("updateOrderProduct", error);
1454
+ this.logMethodError("updateProductInOrder", error);
1491
1455
  throw error;
1492
1456
  }
1493
1457
  }
@@ -1566,19 +1530,18 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
1566
1530
  return cachedData;
1567
1531
  }
1568
1532
  if (this.loadOpenDataConfigInFlight)
1569
- return await this.loadOpenDataConfigInFlight;
1533
+ return this.loadOpenDataConfigInFlight;
1570
1534
  this.loadOpenDataConfigInFlight = this.store.openData.fetchOpenData({
1571
1535
  scope: "board",
1572
1536
  target: "venue_booking+online_store",
1573
1537
  section_code: [...OPEN_DATA_SECTION_CODES]
1574
- });
1575
- try {
1576
- const openDataConfig = await this.loadOpenDataConfigInFlight;
1538
+ }).then((openDataConfig) => {
1577
1539
  this.otherParams.openData = openDataConfig;
1578
1540
  return openDataConfig;
1579
- } finally {
1541
+ }).finally(() => {
1580
1542
  this.loadOpenDataConfigInFlight = null;
1581
- }
1543
+ });
1544
+ return this.loadOpenDataConfigInFlight;
1582
1545
  }
1583
1546
  async loadRuntimeConfigs() {
1584
1547
  await this.loadOpenDataConfig();
@@ -1754,6 +1717,7 @@ var _VenueBookingImpl = class extends import_BaseModule.BaseModule {
1754
1717
  ...targetProduct,
1755
1718
  ...delta > 0 ? { num: (0, import_utils.getSafeProductNum)(existedQuantity + delta) } : {},
1756
1719
  metadata: { ...targetProduct.metadata || {}, item_rule_prefill: true, item_rule_id: prefillItem.ruleId },
1720
+ // TODO(Order types): migrate VenueBooking prefill origin runtime into tempOrder._extend.
1757
1721
  _origin: sourceItem ? { ...targetProduct._origin || {}, ...sourceItem } : targetProduct._origin
1758
1722
  };
1759
1723
  if (delta > 0 || Boolean(
@@ -12,10 +12,6 @@ export declare function buildPriceBreakdown(params: {
12
12
  }) => number;
13
13
  };
14
14
  }): PriceBreakdownEntry[];
15
- export declare function buildVenueResourceMetadata(params: {
16
- mapping: ResourceProductMapping;
17
- rawResource: VenueResourceRawData | undefined;
18
- }): Record<string, any>;
19
15
  export interface BuildVenueBookingParams {
20
16
  group: MergedSlotGroup;
21
17
  resourceId: number | string;
@@ -32,7 +32,6 @@ __export(slotMerge_exports, {
32
32
  buildPriceBreakdown: () => buildPriceBreakdown,
33
33
  buildVenueBookingEntry: () => buildVenueBookingEntry,
34
34
  buildVenueIdentityKey: () => buildVenueIdentityKey,
35
- buildVenueResourceMetadata: () => buildVenueResourceMetadata,
36
35
  expandMergedSlotToIndividual: () => expandMergedSlotToIndividual,
37
36
  mergeConsecutiveSlots: () => mergeConsecutiveSlots
38
37
  });
@@ -107,14 +106,6 @@ function buildPriceBreakdown(params) {
107
106
  }
108
107
  return entries;
109
108
  }
110
- function buildVenueResourceMetadata(params) {
111
- const { mapping, rawResource } = params;
112
- return {
113
- form_name: (rawResource == null ? void 0 : rawResource.form_name) ?? "",
114
- resource_name: (rawResource == null ? void 0 : rawResource.main_field) ?? mapping.resourceName ?? "",
115
- combined_resource: (rawResource == null ? void 0 : rawResource.combined_resource) ?? null
116
- };
117
- }
118
109
  function buildVenueBookingEntry(params) {
119
110
  const { group, resourceId, mapping, rawResource, bookingUuid, productUid, childResources } = params;
120
111
  const startMoment = (0, import_dayjs.default)(group.startTime, "YYYY-MM-DD HH:mm");
@@ -229,7 +220,6 @@ function expandMergedSlotToIndividual(product, slotDurationMinutes) {
229
220
  buildPriceBreakdown,
230
221
  buildVenueBookingEntry,
231
222
  buildVenueIdentityKey,
232
- buildVenueResourceMetadata,
233
223
  expandMergedSlotToIndividual,
234
224
  mergeConsecutiveSlots
235
225
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.2.178",
4
+ "version": "2.2.180",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -69,4 +69,4 @@
69
69
  "publishConfig": {
70
70
  "access": "public"
71
71
  }
72
- }
72
+ }
@@ -1,37 +0,0 @@
1
- import { Module, ModuleOptions, PisellCore } from '../../types';
2
- import { BaseModule } from '../BaseModule';
3
- import { BookingContextConfig, BookingContextDateInput, BookingContextModuleAPI, BookingContextResource, BookingContextResourceMap, BookingContextState, InitBookingContextParams, LoadBookingConfigParams, LoadBookingResourcesParams } from './types';
4
- export * from './types';
5
- export * from './utils';
6
- /** 稳定序列化 config 查询参数,用于判断是否与上次 loadBookingConfig 一致。 */
7
- export declare function buildBookingConfigQueryKey(params?: LoadBookingConfigParams): string;
8
- /** 稳定序列化资源列表查询(date + bookingIds),用于跳过重复 loadResources。 */
9
- export declare function buildBookingResourcesQueryKey(params?: LoadBookingResourcesParams): string;
10
- export declare class BookingContextModule extends BaseModule implements Module, BookingContextModuleAPI {
11
- protected defaultName: string;
12
- protected defaultVersion: string;
13
- private request;
14
- private store;
15
- /** 上次成功 loadBookingConfig 的 query key;命中则不再请求。 */
16
- private lastConfigQueryKey;
17
- /** 上次成功 loadResources 的 query key(date|bookingIds);命中则不再请求。 */
18
- private lastResourcesQueryKey;
19
- constructor(name?: string, version?: string);
20
- initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
21
- loadBookingConfig(params?: LoadBookingConfigParams): Promise<BookingContextConfig | null>;
22
- loadResources(params?: LoadBookingResourcesParams): Promise<BookingContextResource[]>;
23
- /**
24
- * store 内是否已具备与本次 init 入参等价的 config / resources(不再打接口)。
25
- */
26
- isBookingContextReady(params?: InitBookingContextParams): boolean;
27
- initBookingContext(params?: InitBookingContextParams): Promise<BookingContextState>;
28
- setBookingConfig(config: BookingContextConfig | null): void;
29
- getBookingConfig(): BookingContextConfig | null;
30
- setResources(resources: BookingContextResource[] | null | undefined): void;
31
- getResourcesOrigin(): BookingContextResource[];
32
- getResourcesOriginMap(): BookingContextResourceMap;
33
- setDate(date: BookingContextDateInput): void;
34
- getDate(): string | null;
35
- getState(): BookingContextState;
36
- clear(): void;
37
- }