@pisell/pisellos 0.0.569 → 0.10.2
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.
- package/dist/core/index.js +10 -6
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
- package/dist/model/strategy/adapter/walletPass/example.js +26 -3
- package/dist/model/strategy/adapter/walletPass/index.js +5 -5
- package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
- package/dist/model/strategy/strategy-example.js +19 -5
- package/dist/modules/BaseModule.d.ts +1 -1
- package/dist/modules/BaseModule.js +8 -10
- package/dist/modules/Cart/index.js +3 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/Cart/utils/cartResource.js +0 -2
- package/dist/modules/Cart/utils/changePrice.js +9 -16
- package/dist/modules/Date/index.js +5 -1
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +7 -22
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.js +2 -0
- package/dist/modules/Order/index.js +70 -40
- package/dist/modules/Payment/index.js +162 -97
- package/dist/modules/Payment/types.d.ts +4 -8
- package/dist/modules/Payment/walletpass.d.ts +0 -2
- package/dist/modules/Payment/walletpass.js +5 -4
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +3 -12
- package/dist/modules/ProductList/types.d.ts +0 -1
- package/dist/modules/Rules/index.js +126 -427
- package/dist/modules/SalesSummary/utils.js +1 -2
- package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
- package/dist/modules/Schedule/index.js +1 -0
- package/dist/modules/Schedule/utils.js +1 -0
- package/dist/modules/Step/index.js +1 -0
- package/dist/modules/Summary/utils.js +22 -43
- package/dist/plugins/request.js +4 -1
- package/dist/plugins/window.js +6 -2
- package/dist/server/index.js +129 -97
- package/dist/server/modules/menu/index.js +41 -32
- package/dist/server/modules/order/index.js +4 -2
- package/dist/server/modules/products/index.js +42 -24
- package/dist/server/modules/quotation/index.js +38 -29
- package/dist/server/modules/resource/index.js +4 -3
- package/dist/server/modules/schedule/index.js +35 -27
- package/dist/server/utils/product.js +1 -0
- package/dist/solution/BaseSales/index.js +41 -38
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +60 -11
- package/dist/solution/BookingByStep/utils/capacity.js +11 -1
- package/dist/solution/BookingByStep/utils/resources.js +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
- package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
- package/dist/solution/BuyTickets/index.js +12 -9
- package/dist/solution/Checkout/index.js +252 -177
- package/dist/solution/Checkout/utils/index.js +16 -4
- package/dist/solution/RegisterAndLogin/index.js +76 -30
- package/dist/solution/ScanOrder/index.js +60 -50
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/ShopDiscount/types.d.ts +4 -5
- package/dist/solution/ShopDiscount/utils.d.ts +0 -9
- package/dist/solution/ShopDiscount/utils.js +0 -9
- package/dist/solution/VenueBooking/index.d.ts +3 -31
- package/dist/solution/VenueBooking/index.js +496 -651
- package/dist/solution/VenueBooking/types.d.ts +1 -3
- package/dist/solution/VenueBooking/types.js +0 -1
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.js +18 -15
- package/dist/utils/watch.js +1 -0
- package/lib/apis/picoding.js +0 -2
- package/lib/core/index.js +132 -130
- package/lib/effects/index.js +57 -46
- package/lib/index.d.ts +0 -1
- package/lib/index.js +50 -92
- package/lib/model/index.js +21 -14
- package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
- package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
- package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
- package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
- package/lib/model/strategy/adapter/index.js +64 -100
- package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
- package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
- package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
- package/lib/model/strategy/adapter/itemRule/index.js +57 -83
- package/lib/model/strategy/adapter/itemRule/type.js +36 -97
- package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
- package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
- package/lib/model/strategy/adapter/promotion/examples.js +159 -139
- package/lib/model/strategy/adapter/promotion/index.js +49 -1
- package/lib/model/strategy/adapter/promotion/type.js +35 -199
- package/lib/model/strategy/adapter/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
- package/lib/model/strategy/adapter/walletPass/example.js +190 -217
- package/lib/model/strategy/adapter/walletPass/index.js +51 -75
- package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
- package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/lib/model/strategy/adapter/walletPass/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
- package/lib/model/strategy/engine.js +168 -270
- package/lib/model/strategy/index.js +34 -49
- package/lib/model/strategy/strategy-example.js +239 -243
- package/lib/model/strategy/type.js +40 -100
- package/lib/modules/Account/index.js +53 -39
- package/lib/modules/Account/types.js +33 -20
- package/lib/modules/AccountList/index.js +154 -116
- package/lib/modules/AccountList/types.js +31 -30
- package/lib/modules/AccountList/utils.js +30 -18
- package/lib/modules/BaseModule.d.ts +1 -1
- package/lib/modules/BaseModule.js +46 -25
- package/lib/modules/BookingContext/index.js +136 -158
- package/lib/modules/BookingContext/types.js +32 -46
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
- package/lib/modules/BookingContext/utils/flexible.js +55 -38
- package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
- package/lib/modules/BookingContext/utils/index.js +41 -124
- package/lib/modules/BookingContext/utils/noResource.js +70 -58
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
- package/lib/modules/BookingContext/utils/productExtend.js +155 -202
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
- package/lib/modules/BookingContext/utils/resources.js +167 -209
- package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
- package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
- package/lib/modules/Cart/index.js +124 -170
- package/lib/modules/Cart/types.js +51 -46
- package/lib/modules/Cart/utils/cartAccount.js +39 -40
- package/lib/modules/Cart/utils/cartDate.js +61 -56
- package/lib/modules/Cart/utils/cartDiscount.js +33 -28
- package/lib/modules/Cart/utils/cartNote.js +32 -27
- package/lib/modules/Cart/utils/cartProduct.js +251 -321
- package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
- package/lib/modules/Cart/utils/cartResource.js +78 -72
- package/lib/modules/Cart/utils/changePrice.js +50 -28
- package/lib/modules/Cart/utils/index.js +48 -106
- package/lib/modules/Customer/constants.js +34 -13
- package/lib/modules/Customer/index.js +169 -232
- package/lib/modules/Customer/types.js +35 -38
- package/lib/modules/Date/index.js +115 -116
- package/lib/modules/Date/types.js +28 -16
- package/lib/modules/Date/utils.js +123 -174
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +128 -130
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/Discount/types.js +31 -9
- package/lib/modules/Guests/index.js +56 -30
- package/lib/modules/Guests/types.js +33 -23
- package/lib/modules/Holder/index.js +189 -209
- package/lib/modules/Holder/types.js +16 -4
- package/lib/modules/Holder/utils.js +49 -20
- package/lib/modules/OpenData/index.js +76 -69
- package/lib/modules/OpenData/types.js +16 -4
- package/lib/modules/OpenData/utils.js +78 -44
- package/lib/modules/Order/index.js +1909 -1572
- package/lib/modules/Order/types.js +35 -78
- package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
- package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
- package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
- package/lib/modules/Order/utils.js +634 -799
- package/lib/modules/Payment/cash.js +33 -20
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
- package/lib/modules/Payment/eftpos.js +30 -16
- package/lib/modules/Payment/index.js +378 -518
- package/lib/modules/Payment/mx51.js +0 -1
- package/lib/modules/Payment/types.d.ts +4 -8
- package/lib/modules/Payment/types.js +107 -216
- package/lib/modules/Payment/utils.js +48 -51
- package/lib/modules/Payment/walletpass.d.ts +0 -2
- package/lib/modules/Payment/walletpass.js +211 -226
- package/lib/modules/Product/index.js +46 -51
- package/lib/modules/Product/types.js +16 -4
- package/lib/modules/Product/utils.js +33 -32
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +117 -117
- package/lib/modules/ProductList/types.d.ts +0 -1
- package/lib/modules/ProductList/types.js +31 -9
- package/lib/modules/Quotation/index.js +100 -66
- package/lib/modules/Quotation/types.js +16 -4
- package/lib/modules/Resource/index.js +59 -27
- package/lib/modules/Resource/types.js +32 -22
- package/lib/modules/Resource/utils.js +38 -30
- package/lib/modules/ResourcePlanner/index.js +61 -60
- package/lib/modules/ResourcePlanner/planner.js +384 -346
- package/lib/modules/ResourcePlanner/types.js +16 -4
- package/lib/modules/Rules/index.js +903 -1475
- package/lib/modules/Rules/types.js +40 -17
- package/lib/modules/SalesSummary/index.js +90 -85
- package/lib/modules/SalesSummary/types.js +16 -4
- package/lib/modules/SalesSummary/utils.js +427 -351
- package/lib/modules/ScanOrderLogger/index.js +79 -59
- package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
- package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
- package/lib/modules/ScanOrderLogger/types.js +16 -4
- package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
- package/lib/modules/Schedule/index.js +114 -100
- package/lib/modules/Schedule/type.js +16 -4
- package/lib/modules/Schedule/types.js +16 -4
- package/lib/modules/Schedule/utils.js +291 -433
- package/lib/modules/Step/index.js +52 -40
- package/lib/modules/Step/tyeps.js +16 -4
- package/lib/modules/Summary/index.js +71 -66
- package/lib/modules/Summary/types.js +16 -4
- package/lib/modules/Summary/utils.js +418 -791
- package/lib/modules/SurchargeList/index.js +60 -46
- package/lib/modules/SurchargeList/types.js +16 -4
- package/lib/modules/index.js +63 -245
- package/lib/plugins/app.js +16 -4
- package/lib/plugins/index.js +25 -36
- package/lib/plugins/request.js +126 -137
- package/lib/plugins/shopStore.js +16 -4
- package/lib/plugins/user.js +16 -4
- package/lib/plugins/window.js +179 -171
- package/lib/server/index.js +2337 -2675
- package/lib/server/modules/floor-plan/index.js +123 -102
- package/lib/server/modules/floor-plan/types.js +30 -15
- package/lib/server/modules/index.js +68 -106
- package/lib/server/modules/menu/index.js +122 -146
- package/lib/server/modules/menu/types.js +31 -18
- package/lib/server/modules/order/index.js +642 -567
- package/lib/server/modules/order/types.js +32 -117
- package/lib/server/modules/order/utils/filterBookings.js +194 -219
- package/lib/server/modules/order/utils/filterOrders.js +92 -118
- package/lib/server/modules/payment/index.js +83 -59
- package/lib/server/modules/payment/types.js +16 -4
- package/lib/server/modules/products/index.js +459 -575
- package/lib/server/modules/products/types.js +34 -44
- package/lib/server/modules/quotation/index.js +172 -137
- package/lib/server/modules/quotation/types.js +31 -21
- package/lib/server/modules/resource/index.js +184 -213
- package/lib/server/modules/resource/types.js +33 -42
- package/lib/server/modules/schedule/index.js +123 -135
- package/lib/server/modules/schedule/types.js +21 -14
- package/lib/server/modules/schedule/utils.js +163 -334
- package/lib/server/types.js +16 -4
- package/lib/server/utils/index.js +23 -25
- package/lib/server/utils/product.js +139 -196
- package/lib/server/utils/schedule.js +41 -34
- package/lib/server/utils/small-ticket.js +456 -478
- package/lib/server/utils/time.js +49 -40
- package/lib/solution/BaseSales/index.js +1016 -850
- package/lib/solution/BaseSales/types.js +37 -41
- package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
- package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
- package/lib/solution/BaseSales/utils.js +140 -155
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1340 -1530
- package/lib/solution/BookingByStep/types.js +99 -40
- package/lib/solution/BookingByStep/utils/capacity.js +160 -192
- package/lib/solution/BookingByStep/utils/products.js +52 -42
- package/lib/solution/BookingByStep/utils/resources.js +330 -527
- package/lib/solution/BookingByStep/utils/stock.js +44 -65
- package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +459 -543
- package/lib/solution/BookingTicket/types.js +77 -99
- package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
- package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
- package/lib/solution/BookingTicket/utils/cartView.js +94 -110
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
- package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
- package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
- package/lib/solution/BuyTickets/index.js +70 -67
- package/lib/solution/BuyTickets/types.js +38 -22
- package/lib/solution/Checkout/index.js +1158 -1451
- package/lib/solution/Checkout/types.js +61 -91
- package/lib/solution/Checkout/utils/index.js +156 -228
- package/lib/solution/PlaceOrder/index.js +0 -55
- package/lib/solution/RegisterAndLogin/config.js +460 -493
- package/lib/solution/RegisterAndLogin/index.js +630 -633
- package/lib/solution/RegisterAndLogin/types.js +76 -189
- package/lib/solution/RegisterAndLogin/utils.js +125 -183
- package/lib/solution/Sales/index.js +320 -317
- package/lib/solution/Sales/types.js +33 -27
- package/lib/solution/ScanOrder/index.js +862 -831
- package/lib/solution/ScanOrder/types.js +34 -33
- package/lib/solution/ScanOrder/utils.js +371 -406
- package/lib/solution/ShopDiscount/index.js +233 -235
- package/lib/solution/ShopDiscount/types.d.ts +4 -5
- package/lib/solution/ShopDiscount/types.js +37 -15
- package/lib/solution/ShopDiscount/utils.d.ts +0 -9
- package/lib/solution/ShopDiscount/utils.js +172 -309
- package/lib/solution/UnifiedBookingSales/index.js +405 -379
- package/lib/solution/UnifiedBookingSales/types.js +31 -12
- package/lib/solution/VenueBooking/index.d.ts +3 -31
- package/lib/solution/VenueBooking/index.js +916 -967
- package/lib/solution/VenueBooking/types.d.ts +1 -3
- package/lib/solution/VenueBooking/types.js +39 -20
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
- package/lib/solution/VenueBooking/utils/resource.js +54 -31
- package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
- package/lib/solution/VenueBooking/utils.js +67 -130
- package/lib/solution/index.js +41 -124
- package/lib/store/createStore.js +29 -32
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +16 -4
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +47 -81
- package/package.json +2 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
|
@@ -1,44 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
18
|
|
|
3
|
-
|
|
4
|
-
|
|
19
|
+
// src/server/modules/resource/types.ts
|
|
20
|
+
var types_exports = {};
|
|
21
|
+
__export(types_exports, {
|
|
22
|
+
ResourceHooks: () => ResourceHooks
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(types_exports);
|
|
25
|
+
var ResourceHooks = /* @__PURE__ */ ((ResourceHooks2) => {
|
|
26
|
+
ResourceHooks2["onResourcesLoaded"] = "resource:onResourcesLoaded";
|
|
27
|
+
ResourceHooks2["onResourcesChanged"] = "resource:onResourcesChanged";
|
|
28
|
+
ResourceHooks2["onResourcesSyncCompleted"] = "resource:onResourcesSyncCompleted";
|
|
29
|
+
ResourceHooks2["onBookingsChanged"] = "resource:onBookingsChanged";
|
|
30
|
+
return ResourceHooks2;
|
|
31
|
+
})(ResourceHooks || {});
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
ResourceHooks
|
|
5
35
|
});
|
|
6
|
-
exports.ResourceHooks = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Resource 模块主键类型
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Sales / ScheduleEventResource:预约条目内关联资源(仅 ID 与占用,详情由设备端基准数据解析)
|
|
12
|
-
* @see 统一 Sales 数据协议 3.4.1 resources
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* 资源预订数据结构
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* 资源数据结构(兼容历史数据)
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* 查询选项
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Resource 模块状态
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* 与 ResourceDataSource 对齐的分页查询参数
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* 与 ResourceDataSource 对齐的分页返回结构
|
|
31
|
-
*/
|
|
32
|
-
/**
|
|
33
|
-
* ResourceSyncMessage - pubsub 同步消息结构
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* Resource 模块钩子
|
|
37
|
-
*/
|
|
38
|
-
let ResourceHooks = exports.ResourceHooks = /*#__PURE__*/function (ResourceHooks) {
|
|
39
|
-
ResourceHooks["onResourcesLoaded"] = "resource:onResourcesLoaded";
|
|
40
|
-
ResourceHooks["onResourcesChanged"] = "resource:onResourcesChanged";
|
|
41
|
-
ResourceHooks["onResourcesSyncCompleted"] = "resource:onResourcesSyncCompleted";
|
|
42
|
-
ResourceHooks["onBookingsChanged"] = "resource:onBookingsChanged";
|
|
43
|
-
return ResourceHooks;
|
|
44
|
-
}({});
|
|
@@ -1,40 +1,55 @@
|
|
|
1
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
28
|
|
|
3
|
-
|
|
4
|
-
|
|
29
|
+
// src/server/modules/schedule/index.ts
|
|
30
|
+
var schedule_exports = {};
|
|
31
|
+
__export(schedule_exports, {
|
|
32
|
+
ScheduleModuleEx: () => ScheduleModuleEx
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* SQLite 存储名称
|
|
19
|
-
*/
|
|
20
|
-
const SCHEDULE_STORE_NAME = 'schedule';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Schedule 模块(扩展版本)
|
|
24
|
-
* 在原有基础上添加了 getAvailableScheduleIds 方法
|
|
25
|
-
*/
|
|
26
|
-
class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
27
|
-
defaultName = 'schedule';
|
|
28
|
-
defaultVersion = '1.1.0';
|
|
29
|
-
request;
|
|
30
|
-
store = {};
|
|
31
|
-
dbManager; // SQLiteAdapter 实例
|
|
32
|
-
logger; // LoggerManager 实例
|
|
33
|
-
hasLoadedScheduleList = false;
|
|
34
|
+
module.exports = __toCommonJS(schedule_exports);
|
|
35
|
+
var import_lodash_es = require("lodash-es");
|
|
36
|
+
var import_BaseModule = require("../../../modules/BaseModule");
|
|
37
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
38
|
+
var import_isSameOrBefore = __toESM(require("dayjs/plugin/isSameOrBefore"));
|
|
39
|
+
var import_isSameOrAfter = __toESM(require("dayjs/plugin/isSameOrAfter"));
|
|
40
|
+
var import_utils = require("../../../solution/ShopDiscount/utils");
|
|
41
|
+
import_dayjs.default.extend(import_isSameOrBefore.default);
|
|
42
|
+
import_dayjs.default.extend(import_isSameOrAfter.default);
|
|
43
|
+
var SCHEDULE_STORE_NAME = "schedule";
|
|
44
|
+
var ScheduleModuleEx = class extends import_BaseModule.BaseModule {
|
|
34
45
|
constructor(name, version) {
|
|
35
46
|
super(name, version);
|
|
47
|
+
this.defaultName = "schedule";
|
|
48
|
+
this.defaultVersion = "1.1.0";
|
|
49
|
+
this.store = {};
|
|
50
|
+
// LoggerManager 实例
|
|
51
|
+
this.hasLoadedScheduleList = false;
|
|
36
52
|
}
|
|
37
|
-
|
|
38
53
|
/**
|
|
39
54
|
* 记录信息日志
|
|
40
55
|
* @param title 日志标题
|
|
@@ -44,16 +59,14 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
44
59
|
try {
|
|
45
60
|
if (this.logger) {
|
|
46
61
|
this.logger.addLog({
|
|
47
|
-
type:
|
|
62
|
+
type: "info",
|
|
48
63
|
title: `[ScheduleModule] ${title}`,
|
|
49
64
|
metadata: metadata || {}
|
|
50
65
|
});
|
|
51
66
|
}
|
|
52
67
|
} catch {
|
|
53
|
-
// 日志记录失败不影响主流程
|
|
54
68
|
}
|
|
55
69
|
}
|
|
56
|
-
|
|
57
70
|
/**
|
|
58
71
|
* 记录警告日志
|
|
59
72
|
* @param title 日志标题
|
|
@@ -63,16 +76,14 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
63
76
|
try {
|
|
64
77
|
if (this.logger) {
|
|
65
78
|
this.logger.addLog({
|
|
66
|
-
type:
|
|
79
|
+
type: "warning",
|
|
67
80
|
title: `[ScheduleModule] ${title}`,
|
|
68
81
|
metadata: metadata || {}
|
|
69
82
|
});
|
|
70
83
|
}
|
|
71
84
|
} catch {
|
|
72
|
-
// 日志记录失败不影响主流程
|
|
73
85
|
}
|
|
74
86
|
}
|
|
75
|
-
|
|
76
87
|
/**
|
|
77
88
|
* 记录错误日志
|
|
78
89
|
* @param title 日志标题
|
|
@@ -82,79 +93,73 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
82
93
|
try {
|
|
83
94
|
if (this.logger) {
|
|
84
95
|
this.logger.addLog({
|
|
85
|
-
type:
|
|
96
|
+
type: "error",
|
|
86
97
|
title: `[ScheduleModule] ${title}`,
|
|
87
98
|
metadata: metadata || {}
|
|
88
99
|
});
|
|
89
100
|
}
|
|
90
101
|
} catch {
|
|
91
|
-
// 日志记录失败不影响主流程
|
|
92
102
|
}
|
|
93
103
|
}
|
|
94
104
|
async initialize(core, options) {
|
|
95
105
|
this.core = core;
|
|
96
|
-
|
|
97
|
-
// 获取依赖的插件
|
|
98
|
-
this.request = core.getPlugin('request');
|
|
106
|
+
this.request = core.getPlugin("request");
|
|
99
107
|
if (!this.request) {
|
|
100
|
-
throw new Error(
|
|
108
|
+
throw new Error("ScheduleModule 需要 request 插件支持");
|
|
101
109
|
}
|
|
102
|
-
this.store = options
|
|
110
|
+
this.store = options == null ? void 0 : options.store;
|
|
103
111
|
if (options.initialState) {
|
|
104
112
|
this.store.scheduleList = options.initialState.scheduleList;
|
|
105
|
-
// 同步更新 Map 缓存
|
|
106
113
|
this.syncScheduleMap();
|
|
107
114
|
this.hasLoadedScheduleList = Array.isArray(options.initialState.scheduleList);
|
|
108
115
|
} else {
|
|
109
116
|
this.store.scheduleList = [];
|
|
110
|
-
this.store.map = new Map();
|
|
117
|
+
this.store.map = /* @__PURE__ */ new Map();
|
|
111
118
|
this.hasLoadedScheduleList = false;
|
|
112
119
|
}
|
|
113
|
-
|
|
114
|
-
// 获取并存储 SQLite 和 logger
|
|
115
|
-
const appPlugin = core.getPlugin('app');
|
|
120
|
+
const appPlugin = core.getPlugin("app");
|
|
116
121
|
if (appPlugin) {
|
|
117
122
|
const app = appPlugin.getApp();
|
|
118
123
|
this.dbManager = app.sqlite;
|
|
119
124
|
this.logger = app.logger;
|
|
120
|
-
if (this.dbManager) {
|
|
121
|
-
console.
|
|
125
|
+
if (this.dbManager) {
|
|
126
|
+
console.log("[Schedule] SQLite 已初始化");
|
|
127
|
+
} else {
|
|
128
|
+
console.warn("[Schedule] SQLite 未找到");
|
|
122
129
|
}
|
|
123
130
|
}
|
|
124
|
-
this.logInfo(
|
|
131
|
+
this.logInfo("模块初始化完成", {
|
|
125
132
|
hasDbManager: !!this.dbManager,
|
|
126
133
|
hasLogger: !!this.logger,
|
|
127
134
|
initialScheduleCount: this.store.scheduleList.length
|
|
128
135
|
});
|
|
129
136
|
}
|
|
130
|
-
|
|
131
137
|
/**
|
|
132
138
|
* 加载当前店铺下所有 schedule(从服务器)
|
|
133
139
|
*/
|
|
134
140
|
async loadAllSchedule() {
|
|
135
|
-
|
|
141
|
+
var _a;
|
|
142
|
+
this.logInfo("开始从服务器加载日程列表");
|
|
136
143
|
const startTime = Date.now();
|
|
137
144
|
try {
|
|
138
|
-
const scheduleList = await this.request.get(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
cache:
|
|
142
|
-
|
|
143
|
-
const list = scheduleList.data
|
|
145
|
+
const scheduleList = await this.request.get(
|
|
146
|
+
`/schedule`,
|
|
147
|
+
{ num: 999 },
|
|
148
|
+
{ cache: void 0 }
|
|
149
|
+
);
|
|
150
|
+
const list = ((_a = scheduleList.data) == null ? void 0 : _a.list) || [];
|
|
144
151
|
const duration = Date.now() - startTime;
|
|
145
|
-
this.logInfo(
|
|
152
|
+
this.logInfo("从服务器加载日程列表成功", {
|
|
146
153
|
scheduleCount: list.length,
|
|
147
154
|
duration: `${duration}ms`
|
|
148
155
|
});
|
|
149
|
-
|
|
150
|
-
// 保存到 SQLite
|
|
151
156
|
await this.saveScheduleToSQLite(list);
|
|
152
157
|
this.setScheduleList(list);
|
|
153
158
|
return list;
|
|
154
159
|
} catch (error) {
|
|
155
160
|
const duration = Date.now() - startTime;
|
|
156
161
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
157
|
-
this.logError(
|
|
162
|
+
this.logError("从服务器加载日程列表失败", {
|
|
158
163
|
duration: `${duration}ms`,
|
|
159
164
|
error: errorMessage
|
|
160
165
|
});
|
|
@@ -164,10 +169,8 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
164
169
|
setScheduleList(list) {
|
|
165
170
|
this.store.scheduleList = list;
|
|
166
171
|
this.hasLoadedScheduleList = true;
|
|
167
|
-
// 同步更新 Map 缓存
|
|
168
172
|
this.syncScheduleMap();
|
|
169
173
|
}
|
|
170
|
-
|
|
171
174
|
/**
|
|
172
175
|
* 获取所有日程列表
|
|
173
176
|
*/
|
|
@@ -177,34 +180,30 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
177
180
|
isScheduleListLoaded() {
|
|
178
181
|
return this.hasLoadedScheduleList;
|
|
179
182
|
}
|
|
180
|
-
|
|
181
183
|
/**
|
|
182
184
|
* 根据 schedule IDs 获取日程数据
|
|
183
185
|
* 使用 Map 快速查询,时间复杂度 O(m),m 为 ids 数量
|
|
184
186
|
*/
|
|
185
187
|
getScheduleByIds(ids) {
|
|
186
188
|
if (!ids || ids.length === 0) {
|
|
187
|
-
this.logInfo(
|
|
188
|
-
idsCount: 0
|
|
189
|
-
});
|
|
189
|
+
this.logInfo("getScheduleByIds: 未提供有效的 ids", { idsCount: 0 });
|
|
190
190
|
return [];
|
|
191
191
|
}
|
|
192
192
|
const result = [];
|
|
193
193
|
const scheduleList = this.store.scheduleList || [];
|
|
194
194
|
for (const id of ids) {
|
|
195
|
-
const schedule = this.store.map.get(id) || scheduleList.find(item => String(item.id) === String(id));
|
|
195
|
+
const schedule = this.store.map.get(id) || scheduleList.find((item) => String(item.id) === String(id));
|
|
196
196
|
if (schedule) {
|
|
197
197
|
result.push(schedule);
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
this.logInfo(
|
|
200
|
+
this.logInfo("getScheduleByIds: 查询完成", {
|
|
201
201
|
requestedCount: ids.length,
|
|
202
202
|
foundCount: result.length,
|
|
203
203
|
notFoundCount: ids.length - result.length
|
|
204
204
|
});
|
|
205
205
|
return result;
|
|
206
206
|
}
|
|
207
|
-
|
|
208
207
|
/**
|
|
209
208
|
* 同步更新日程 Map 缓存
|
|
210
209
|
* 将 scheduleList 中的日程同步到 map,以 id 为 key
|
|
@@ -215,33 +214,30 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
215
214
|
for (const schedule of this.store.scheduleList) {
|
|
216
215
|
this.store.map.set(schedule.id, schedule);
|
|
217
216
|
}
|
|
217
|
+
console.log(`[Schedule] Map 缓存已同步,共 ${this.store.map.size} 个日程`);
|
|
218
218
|
}
|
|
219
|
-
|
|
220
219
|
/**
|
|
221
220
|
* 清除缓存
|
|
222
221
|
*/
|
|
223
222
|
async clear() {
|
|
224
|
-
this.logInfo(
|
|
223
|
+
this.logInfo("开始清空缓存", {
|
|
225
224
|
currentScheduleCount: this.store.scheduleList.length
|
|
226
225
|
});
|
|
227
226
|
this.store.scheduleList = [];
|
|
228
227
|
this.store.map.clear();
|
|
229
|
-
// 同时清空 SQLite 中的数据
|
|
230
228
|
if (this.dbManager) {
|
|
231
229
|
try {
|
|
232
230
|
await this.dbManager.clear(SCHEDULE_STORE_NAME);
|
|
233
|
-
|
|
231
|
+
console.log("[Schedule] SQLite 缓存已清空");
|
|
232
|
+
this.logInfo("SQLite 缓存已清空");
|
|
234
233
|
} catch (error) {
|
|
235
234
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
236
|
-
console.error(
|
|
237
|
-
this.logError(
|
|
238
|
-
error: errorMessage
|
|
239
|
-
});
|
|
235
|
+
console.error("[Schedule] 清空 SQLite 缓存失败:", error);
|
|
236
|
+
this.logError("清空 SQLite 缓存失败", { error: errorMessage });
|
|
240
237
|
}
|
|
241
238
|
}
|
|
242
|
-
this.logInfo(
|
|
239
|
+
this.logInfo("缓存清空完成");
|
|
243
240
|
}
|
|
244
|
-
|
|
245
241
|
/**
|
|
246
242
|
* 判断日期是否在日程范围内
|
|
247
243
|
* @param date 日期
|
|
@@ -250,137 +246,129 @@ class ScheduleModuleEx extends _BaseModule.BaseModule {
|
|
|
250
246
|
*/
|
|
251
247
|
getDateIsInSchedule(date, scheduleList) {
|
|
252
248
|
const scheduleListData = [];
|
|
253
|
-
scheduleList.forEach(item => {
|
|
254
|
-
if (typeof item ===
|
|
249
|
+
scheduleList.forEach((item) => {
|
|
250
|
+
if (typeof item === "number") {
|
|
255
251
|
scheduleListData.push(...this.getScheduleByIds([item]));
|
|
256
252
|
} else {
|
|
257
253
|
scheduleListData.push(item);
|
|
258
254
|
}
|
|
259
255
|
});
|
|
260
|
-
const result = (0,
|
|
261
|
-
this.logInfo(
|
|
256
|
+
const result = (0, import_utils.getDateIsInSchedule)(date, scheduleListData);
|
|
257
|
+
this.logInfo("getDateIsInSchedule: 判断日期是否在日程范围内", {
|
|
262
258
|
date,
|
|
263
259
|
scheduleCount: scheduleListData.length,
|
|
264
260
|
isInSchedule: result
|
|
265
261
|
});
|
|
266
262
|
return result;
|
|
267
263
|
}
|
|
268
|
-
|
|
269
264
|
/**
|
|
270
265
|
* 从 SQLite 加载日程数据
|
|
271
266
|
* @private
|
|
272
267
|
*/
|
|
273
268
|
async loadScheduleFromSQLite() {
|
|
274
269
|
if (!this.dbManager) {
|
|
275
|
-
this.logWarning(
|
|
270
|
+
this.logWarning("loadScheduleFromSQLite: SQLite 不可用");
|
|
276
271
|
return [];
|
|
277
272
|
}
|
|
278
273
|
try {
|
|
279
|
-
// 直接获取所有日程记录
|
|
280
274
|
const scheduleList = await this.dbManager.getAll(SCHEDULE_STORE_NAME);
|
|
281
|
-
this.logInfo(
|
|
282
|
-
scheduleCount: scheduleList
|
|
275
|
+
this.logInfo("从 SQLite 加载日程数据", {
|
|
276
|
+
scheduleCount: (scheduleList == null ? void 0 : scheduleList.length) ?? 0
|
|
283
277
|
});
|
|
284
278
|
return scheduleList || [];
|
|
285
279
|
} catch (error) {
|
|
286
280
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
287
|
-
console.error(
|
|
288
|
-
this.logError(
|
|
289
|
-
error: errorMessage
|
|
290
|
-
});
|
|
281
|
+
console.error("[Schedule] 从 SQLite 读取数据失败:", error);
|
|
282
|
+
this.logError("从 SQLite 读取数据失败", { error: errorMessage });
|
|
291
283
|
return [];
|
|
292
284
|
}
|
|
293
285
|
}
|
|
294
|
-
|
|
295
286
|
/**
|
|
296
287
|
* 保存日程数据到 SQLite
|
|
297
288
|
* @private
|
|
298
289
|
*/
|
|
299
290
|
async saveScheduleToSQLite(scheduleList) {
|
|
300
291
|
if (!this.dbManager) {
|
|
301
|
-
this.logWarning(
|
|
292
|
+
this.logWarning("saveScheduleToSQLite: SQLite 不可用");
|
|
302
293
|
return;
|
|
303
294
|
}
|
|
304
|
-
this.logInfo(
|
|
305
|
-
scheduleCount: scheduleList.length
|
|
306
|
-
});
|
|
295
|
+
this.logInfo("开始保存日程数据到 SQLite", { scheduleCount: scheduleList.length });
|
|
307
296
|
try {
|
|
308
|
-
// 先清空现有的日程数据
|
|
309
297
|
await this.dbManager.clear(SCHEDULE_STORE_NAME);
|
|
310
298
|
if (scheduleList.length > 0) {
|
|
311
|
-
if (typeof this.dbManager.bulkAdd ===
|
|
299
|
+
if (typeof this.dbManager.bulkAdd === "function") {
|
|
312
300
|
await this.dbManager.bulkAdd(SCHEDULE_STORE_NAME, scheduleList);
|
|
313
|
-
} else if (typeof this.dbManager.bulkUpdate ===
|
|
301
|
+
} else if (typeof this.dbManager.bulkUpdate === "function") {
|
|
314
302
|
await this.dbManager.bulkUpdate(SCHEDULE_STORE_NAME, scheduleList);
|
|
315
303
|
} else {
|
|
316
|
-
await Promise.all(scheduleList.map(
|
|
304
|
+
await Promise.all(scheduleList.map(
|
|
305
|
+
(schedule) => this.dbManager.add(SCHEDULE_STORE_NAME, schedule)
|
|
306
|
+
));
|
|
317
307
|
}
|
|
318
308
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
309
|
+
console.log(
|
|
310
|
+
`[Schedule] 已将 ${scheduleList.length} 条日程数据保存到 SQLite`
|
|
311
|
+
);
|
|
312
|
+
this.logInfo("日程数据已保存到 SQLite", { scheduleCount: scheduleList.length });
|
|
322
313
|
} catch (error) {
|
|
323
314
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
324
|
-
console.error(
|
|
325
|
-
this.logError(
|
|
315
|
+
console.error("[Schedule] 保存数据到 SQLite 失败:", error);
|
|
316
|
+
this.logError("保存数据到 SQLite 失败", {
|
|
326
317
|
scheduleCount: scheduleList.length,
|
|
327
318
|
error: errorMessage
|
|
328
319
|
});
|
|
329
320
|
}
|
|
330
321
|
}
|
|
331
|
-
|
|
332
322
|
/**
|
|
333
323
|
* 预加载模块数据(统一接口)
|
|
334
324
|
* 在模块注册后自动调用
|
|
335
325
|
*/
|
|
336
326
|
async preload() {
|
|
327
|
+
console.log("[Schedule] 开始预加载数据...");
|
|
337
328
|
const startTime = Date.now();
|
|
338
|
-
this.logInfo(
|
|
329
|
+
this.logInfo("开始预加载数据");
|
|
339
330
|
try {
|
|
340
|
-
// 1. 尝试从 SQLite 加载数据
|
|
341
331
|
const cachedData = await this.loadScheduleFromSQLite();
|
|
342
332
|
if (cachedData && cachedData.length > 0) {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
333
|
+
console.log(
|
|
334
|
+
`[Schedule] 从 SQLite 加载了 ${cachedData.length} 条日程数据`
|
|
335
|
+
);
|
|
336
|
+
this.store.scheduleList = (0, import_lodash_es.cloneDeep)(cachedData);
|
|
346
337
|
this.syncScheduleMap();
|
|
347
338
|
const duration = Date.now() - startTime;
|
|
348
|
-
this.logInfo(
|
|
339
|
+
this.logInfo("预加载完成(从 SQLite)", {
|
|
349
340
|
scheduleCount: cachedData.length,
|
|
350
341
|
duration: `${duration}ms`,
|
|
351
|
-
source:
|
|
342
|
+
source: "SQLite"
|
|
352
343
|
});
|
|
353
344
|
return;
|
|
354
345
|
}
|
|
355
|
-
|
|
346
|
+
console.log("[Schedule] SQLite 中没有缓存数据,从服务器加载...");
|
|
347
|
+
this.logInfo("SQLite 中没有缓存数据,准备从服务器加载");
|
|
356
348
|
} catch (error) {
|
|
357
349
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
358
|
-
console.warn(
|
|
359
|
-
this.logWarning(
|
|
360
|
-
error: errorMessage
|
|
361
|
-
});
|
|
350
|
+
console.warn("[Schedule] 从 SQLite 加载数据失败:", error);
|
|
351
|
+
this.logWarning("从 SQLite 加载数据失败,准备从服务器加载", { error: errorMessage });
|
|
362
352
|
}
|
|
363
|
-
|
|
364
|
-
// 2. 如果 SQLite 中没有数据,从服务器加载
|
|
365
353
|
const scheduleList = await this.loadAllSchedule();
|
|
366
|
-
|
|
367
|
-
// 3. 将服务器数据放入 store
|
|
368
354
|
if (scheduleList && scheduleList.length > 0) {
|
|
369
|
-
this.store.scheduleList = (0,
|
|
370
|
-
// 同步更新 Map 缓存
|
|
355
|
+
this.store.scheduleList = (0, import_lodash_es.cloneDeep)(scheduleList);
|
|
371
356
|
this.syncScheduleMap();
|
|
372
357
|
const duration = Date.now() - startTime;
|
|
373
|
-
this.logInfo(
|
|
358
|
+
this.logInfo("预加载完成(从服务器)", {
|
|
374
359
|
scheduleCount: scheduleList.length,
|
|
375
360
|
duration: `${duration}ms`,
|
|
376
|
-
source:
|
|
361
|
+
source: "Server"
|
|
377
362
|
});
|
|
378
363
|
} else {
|
|
379
364
|
const duration = Date.now() - startTime;
|
|
380
|
-
this.logWarning(
|
|
365
|
+
this.logWarning("预加载完成但未获取到数据", {
|
|
381
366
|
duration: `${duration}ms`
|
|
382
367
|
});
|
|
383
368
|
}
|
|
384
369
|
}
|
|
385
|
-
}
|
|
386
|
-
|
|
370
|
+
};
|
|
371
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
372
|
+
0 && (module.exports = {
|
|
373
|
+
ScheduleModuleEx
|
|
374
|
+
});
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
15
|
|
|
3
|
-
|
|
4
|
-
|
|
16
|
+
// src/server/modules/schedule/types.ts
|
|
17
|
+
var types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|
|
19
|
+
__reExport(types_exports, require("../../../modules/Schedule/types"), module.exports);
|
|
20
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
21
|
+
0 && (module.exports = {
|
|
22
|
+
...require("../../../modules/Schedule/types")
|
|
5
23
|
});
|
|
6
|
-
var _types = require("../../../modules/Schedule/types");
|
|
7
|
-
Object.keys(_types).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _types[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _types[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|