@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,35 +1,56 @@
|
|
|
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/solution/BookingTicket/utils/scan/handleScan.ts
|
|
30
|
+
var handleScan_exports = {};
|
|
31
|
+
__export(handleScan_exports, {
|
|
32
|
+
handleCustomerScan: () => handleCustomerScan,
|
|
33
|
+
handleGlobalScan: () => handleGlobalScan,
|
|
34
|
+
handleUniversalScan: () => handleUniversalScan
|
|
5
35
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Promise.any 的替代实现
|
|
12
|
-
* 返回第一个成功解析的 Promise,如果所有 Promise 都失败则抛出错误
|
|
13
|
-
* @param promises Promise 数组
|
|
14
|
-
* @returns 第一个成功的结果
|
|
15
|
-
*/
|
|
16
|
-
const promiseAny = async promises => {
|
|
36
|
+
module.exports = __toCommonJS(handleScan_exports);
|
|
37
|
+
var import_cloudSearch = require("./cloudSearch");
|
|
38
|
+
var import_scanCache = __toESM(require("./scanCache"));
|
|
39
|
+
var promiseAny = async (promises) => {
|
|
17
40
|
if (promises.length === 0) {
|
|
18
|
-
throw new Error(
|
|
41
|
+
throw new Error("No promises provided");
|
|
19
42
|
}
|
|
20
43
|
const errors = [];
|
|
21
44
|
let completedCount = 0;
|
|
22
45
|
return new Promise((resolve, reject) => {
|
|
23
46
|
promises.forEach((promise, index) => {
|
|
24
|
-
promise.then(result => {
|
|
47
|
+
promise.then((result) => {
|
|
25
48
|
resolve(result);
|
|
26
|
-
}).catch(error => {
|
|
49
|
+
}).catch((error) => {
|
|
27
50
|
errors[index] = error;
|
|
28
51
|
completedCount++;
|
|
29
|
-
|
|
30
|
-
// 如果所有 Promise 都失败了,抛出包含所有错误的错误
|
|
31
52
|
if (completedCount === promises.length) {
|
|
32
|
-
const errorMessage = `All promises were rejected. Errors: ${errors.map(e => e.message).join(
|
|
53
|
+
const errorMessage = `All promises were rejected. Errors: ${errors.map((e) => e.message).join(", ")}`;
|
|
33
54
|
const combinedError = new Error(errorMessage);
|
|
34
55
|
combinedError.errors = errors;
|
|
35
56
|
reject(combinedError);
|
|
@@ -38,99 +59,75 @@ const promiseAny = async promises => {
|
|
|
38
59
|
});
|
|
39
60
|
});
|
|
40
61
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
* @param getRequestList 获取请求列表
|
|
45
|
-
* @returns 处理结果
|
|
46
|
-
*/
|
|
47
|
-
const handleScanFn = (getRequestList, localSearch) => {
|
|
48
|
-
return async scanResult => {
|
|
49
|
-
const {
|
|
50
|
-
value
|
|
51
|
-
} = scanResult || {};
|
|
52
|
-
|
|
53
|
-
// 本地解析识别码
|
|
62
|
+
var handleScanFn = (getRequestList, localSearch) => {
|
|
63
|
+
return async (scanResult) => {
|
|
64
|
+
const { value } = scanResult || {};
|
|
54
65
|
if (localSearch) {
|
|
55
66
|
try {
|
|
56
|
-
const localResult = localSearch
|
|
57
|
-
if (localResult
|
|
67
|
+
const localResult = localSearch == null ? void 0 : localSearch(value);
|
|
68
|
+
if ((localResult == null ? void 0 : localResult.length) > 0) {
|
|
69
|
+
console.log("本地搜索到数据>>>>>>>", localResult);
|
|
58
70
|
return {
|
|
59
|
-
searchType:
|
|
60
|
-
response: {
|
|
61
|
-
data: {
|
|
62
|
-
list: localResult
|
|
63
|
-
}
|
|
64
|
-
}
|
|
71
|
+
searchType: "local_product",
|
|
72
|
+
response: { data: { list: localResult } }
|
|
65
73
|
};
|
|
66
|
-
} else {
|
|
74
|
+
} else {
|
|
75
|
+
console.log("本地搜索无数据>>>>>>>");
|
|
76
|
+
}
|
|
67
77
|
} catch (error) {
|
|
68
|
-
console.error(
|
|
78
|
+
console.error("本地搜索到数据失败>>>>>>>", error);
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
|
-
|
|
72
|
-
// 检查缓存中是否已有数据
|
|
73
81
|
try {
|
|
74
|
-
if (
|
|
75
|
-
const result =
|
|
82
|
+
if (import_scanCache.default.has(value)) {
|
|
83
|
+
const result = import_scanCache.default.get(value);
|
|
84
|
+
console.log("缓存中搜索到数据>>>>>>>", result);
|
|
76
85
|
return result;
|
|
77
|
-
} else {
|
|
86
|
+
} else {
|
|
87
|
+
console.log("缓存中无数据>>>>>>>");
|
|
88
|
+
}
|
|
78
89
|
} catch (error) {
|
|
79
|
-
console.error(
|
|
90
|
+
console.error("缓存中搜索数据失败>>>>>>>", error);
|
|
80
91
|
}
|
|
81
|
-
const requestList = getRequestList
|
|
92
|
+
const requestList = (getRequestList == null ? void 0 : getRequestList(value)) || [];
|
|
82
93
|
if (requestList.length === 0) {
|
|
83
|
-
throw new Error(
|
|
94
|
+
throw new Error("requestList is empty");
|
|
84
95
|
}
|
|
85
96
|
try {
|
|
86
97
|
const result = await promiseAny(requestList);
|
|
87
|
-
|
|
88
|
-
_scanCache.default.set(value, result);
|
|
98
|
+
import_scanCache.default.set(value, result);
|
|
89
99
|
return result;
|
|
90
100
|
} catch (error) {
|
|
91
101
|
throw error;
|
|
92
102
|
}
|
|
93
103
|
};
|
|
94
104
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
* 处理全局扫码
|
|
98
|
-
* @param request 请求插件
|
|
99
|
-
* @param localSearch 本地商品搜索
|
|
100
|
-
* @param channel 当前销售渠道
|
|
101
|
-
* @returns 处理结果
|
|
102
|
-
*/
|
|
103
|
-
const handleGlobalScan = (request, localSearch, channel) => {
|
|
104
|
-
const getRequestList = value => {
|
|
105
|
+
var handleGlobalScan = (request, localSearch, channel) => {
|
|
106
|
+
const getRequestList = (value) => {
|
|
105
107
|
let requestList = [];
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
requestList = [(0, _cloudSearch.searchWallet)(request, value)];
|
|
108
|
+
if (value.startsWith("WL")) {
|
|
109
|
+
requestList = [(0, import_cloudSearch.searchWallet)(request, value)];
|
|
109
110
|
} else {
|
|
110
|
-
requestList = [
|
|
111
|
+
requestList = [
|
|
112
|
+
...channel === "kiosk" ? [] : [(0, import_cloudSearch.searchOrder)(request, value)],
|
|
113
|
+
(0, import_cloudSearch.searchWalletPass)(request, value),
|
|
114
|
+
(0, import_cloudSearch.searchWallet)(request, value),
|
|
115
|
+
(0, import_cloudSearch.searchProduct)(request, value)
|
|
116
|
+
];
|
|
111
117
|
}
|
|
112
118
|
return requestList;
|
|
113
119
|
};
|
|
114
120
|
return handleScanFn(getRequestList, localSearch);
|
|
115
121
|
};
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* 处理客户扫码
|
|
119
|
-
* @param request 请求插件
|
|
120
|
-
* @returns 处理结果
|
|
121
|
-
*/
|
|
122
|
-
exports.handleGlobalScan = handleGlobalScan;
|
|
123
|
-
const handleCustomerScan = () => {
|
|
122
|
+
var handleCustomerScan = () => {
|
|
124
123
|
return () => Promise.resolve({});
|
|
125
124
|
};
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* 处理钱包扫码
|
|
129
|
-
* @param request 请求插件
|
|
130
|
-
* @returns 处理结果
|
|
131
|
-
*/
|
|
132
|
-
exports.handleCustomerScan = handleCustomerScan;
|
|
133
|
-
const handleUniversalScan = () => {
|
|
125
|
+
var handleUniversalScan = () => {
|
|
134
126
|
return () => Promise.resolve({});
|
|
135
127
|
};
|
|
136
|
-
|
|
128
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
129
|
+
0 && (module.exports = {
|
|
130
|
+
handleCustomerScan,
|
|
131
|
+
handleGlobalScan,
|
|
132
|
+
handleUniversalScan
|
|
133
|
+
});
|
|
@@ -1,33 +1,46 @@
|
|
|
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/solution/BookingTicket/utils/scan/index.ts
|
|
30
|
+
var scan_exports = {};
|
|
31
|
+
__export(scan_exports, {
|
|
32
|
+
default: () => Scan
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var ScanResultType = /*#__PURE__*/function (ScanResultType) {
|
|
11
|
-
ScanResultType["Scanner"] = "scanner";
|
|
12
|
-
ScanResultType["NFC"] = "nfc";
|
|
13
|
-
ScanResultType["NativeScanner"] = "nativeScanner";
|
|
14
|
-
return ScanResultType;
|
|
15
|
-
}(ScanResultType || {});
|
|
16
|
-
class Scan {
|
|
17
|
-
static scanInstances = new Set();
|
|
18
|
-
static peripheralsListenerMounted = false;
|
|
19
|
-
solution;
|
|
20
|
-
watchKey;
|
|
21
|
-
listenerConfig = new Map();
|
|
34
|
+
module.exports = __toCommonJS(scan_exports);
|
|
35
|
+
var import_watch = __toESM(require("../../../../utils/watch"));
|
|
36
|
+
var import_task = __toESM(require("../../../../utils/task"));
|
|
37
|
+
var _Scan = class {
|
|
22
38
|
constructor(solution, watchKey) {
|
|
39
|
+
this.listenerConfig = /* @__PURE__ */ new Map();
|
|
23
40
|
this.solution = solution;
|
|
24
41
|
this.watchKey = watchKey;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// 初始化扫码监听
|
|
28
|
-
// this.initPeripheralsListener();
|
|
42
|
+
_Scan.scanInstances.add(this);
|
|
29
43
|
}
|
|
30
|
-
|
|
31
44
|
/**
|
|
32
45
|
* 初始化外设扫码结果监听
|
|
33
46
|
*
|
|
@@ -35,27 +48,34 @@ class Scan {
|
|
|
35
48
|
* scan.initPeripheralsListener();
|
|
36
49
|
*/
|
|
37
50
|
initPeripheralsListener() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
var _a, _b, _c, _d, _e;
|
|
52
|
+
if (_Scan.peripheralsListenerMounted)
|
|
53
|
+
return;
|
|
54
|
+
_Scan.peripheralsListenerMounted = true;
|
|
55
|
+
(_e = (_d = (_c = (_b = (_a = this.solution) == null ? void 0 : _a.window) == null ? void 0 : _b.interaction) == null ? void 0 : _c.utils) == null ? void 0 : _d.mountFunction) == null ? void 0 : _e.call(
|
|
56
|
+
_d,
|
|
57
|
+
"global",
|
|
58
|
+
"peripheralsResult",
|
|
59
|
+
(strVal) => {
|
|
60
|
+
try {
|
|
61
|
+
const result = JSON.parse(strVal);
|
|
62
|
+
console.log("nativeScannerResult>>>>>>>", result);
|
|
63
|
+
_Scan.scanInstances.forEach((instance) => {
|
|
64
|
+
instance.handleScan(result);
|
|
65
|
+
});
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.error(err);
|
|
68
|
+
}
|
|
48
69
|
}
|
|
49
|
-
|
|
70
|
+
);
|
|
50
71
|
}
|
|
51
|
-
|
|
52
72
|
/**
|
|
53
73
|
* 处理扫码事件
|
|
54
74
|
* @param eventKey 事件key
|
|
55
75
|
* @param value 扫码结果
|
|
56
76
|
*/
|
|
57
77
|
handleScan(result) {
|
|
58
|
-
const lastEnableEventKey =
|
|
78
|
+
const lastEnableEventKey = import_watch.default.getLastEnableEventKey(this.watchKey);
|
|
59
79
|
if (lastEnableEventKey) {
|
|
60
80
|
const listenerConfig = this.listenerConfig.get(lastEnableEventKey);
|
|
61
81
|
if (listenerConfig) {
|
|
@@ -70,131 +90,115 @@ class Scan {
|
|
|
70
90
|
}
|
|
71
91
|
}
|
|
72
92
|
}
|
|
73
|
-
|
|
74
93
|
/**
|
|
75
94
|
* 生成uuid
|
|
76
95
|
* @returns uuid
|
|
77
96
|
*/
|
|
78
97
|
generateUuid() {
|
|
79
|
-
// 需要加入时间戳,避免重复
|
|
80
98
|
return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15) + Date.now().toString(36);
|
|
81
99
|
}
|
|
82
|
-
|
|
83
100
|
/**
|
|
84
101
|
* 添加扫码信息监听
|
|
85
102
|
* @param watchKey 监听的key
|
|
86
103
|
* @param event 事件
|
|
87
104
|
*/
|
|
88
105
|
addListener(event, scanCallback) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.listenerConfig.set(event.key, {
|
|
97
|
-
scanCallback,
|
|
98
|
-
task
|
|
99
|
-
});
|
|
106
|
+
import_watch.default.subscribe(this.watchKey, event);
|
|
107
|
+
const task = new import_task.default();
|
|
108
|
+
task.addAction(
|
|
109
|
+
event.key,
|
|
110
|
+
(...args) => this.scanTaskAction(event.key, ...args)
|
|
111
|
+
);
|
|
112
|
+
this.listenerConfig.set(event.key, { scanCallback, task });
|
|
100
113
|
return {
|
|
101
114
|
remove: () => {
|
|
102
115
|
this.removeListener(event);
|
|
103
116
|
}
|
|
104
117
|
};
|
|
105
118
|
}
|
|
106
|
-
|
|
107
119
|
/**
|
|
108
120
|
* 移除扫码信息监听
|
|
109
121
|
* @param watchKey 监听的key
|
|
110
122
|
* @param event 事件
|
|
111
123
|
*/
|
|
112
124
|
removeListener(event) {
|
|
113
|
-
|
|
114
|
-
|
|
125
|
+
var _a, _b;
|
|
126
|
+
import_watch.default.unsubscribe(this.watchKey, event);
|
|
127
|
+
(_b = (_a = this.listenerConfig.get(event.key)) == null ? void 0 : _a.task) == null ? void 0 : _b.clear();
|
|
115
128
|
this.listenerConfig.delete(event.key);
|
|
116
129
|
}
|
|
117
|
-
|
|
118
130
|
/**
|
|
119
131
|
* 移除所有监听
|
|
120
132
|
*/
|
|
121
133
|
removeAllListeners() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
this.
|
|
125
|
-
|
|
134
|
+
var _a, _b, _c, _d;
|
|
135
|
+
_Scan.scanInstances.delete(this);
|
|
136
|
+
import_watch.default.clearEvent(this.watchKey);
|
|
137
|
+
(_b = (_a = this.listenerConfig) == null ? void 0 : _a.forEach) == null ? void 0 : _b.call(_a, (item) => {
|
|
138
|
+
var _a2;
|
|
139
|
+
(_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clear();
|
|
126
140
|
});
|
|
127
|
-
this.listenerConfig
|
|
141
|
+
(_d = (_c = this.listenerConfig) == null ? void 0 : _c.clear) == null ? void 0 : _d.call(_c);
|
|
128
142
|
}
|
|
129
|
-
|
|
130
143
|
/**
|
|
131
144
|
* 启用所有监听
|
|
132
145
|
*/
|
|
133
146
|
enableAllListeners() {
|
|
134
|
-
|
|
147
|
+
import_watch.default.enableAllEventByWatchKey(this.watchKey);
|
|
135
148
|
}
|
|
136
|
-
|
|
137
149
|
/**
|
|
138
150
|
* 禁用所有监听,并清空任务执行队列
|
|
139
151
|
*/
|
|
140
152
|
disableAllListeners() {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
this.listenerConfig
|
|
144
|
-
|
|
153
|
+
var _a, _b;
|
|
154
|
+
import_watch.default.disabledAllEventByWatchKey(this.watchKey);
|
|
155
|
+
(_b = (_a = this.listenerConfig) == null ? void 0 : _a.forEach) == null ? void 0 : _b.call(_a, (item) => {
|
|
156
|
+
var _a2;
|
|
157
|
+
(_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clearTaskQueue();
|
|
145
158
|
});
|
|
146
159
|
}
|
|
147
|
-
|
|
148
160
|
/**
|
|
149
161
|
* 清空监听对应的任务执行队列,不传入eventKey则清空所有监听对应的任务执行队列
|
|
150
162
|
* @param eventKey 事件key
|
|
151
163
|
*/
|
|
152
164
|
clearTaskQueue(eventKey) {
|
|
165
|
+
var _a, _b, _c;
|
|
166
|
+
console.log("clearTaskQueue>>>>>>>", eventKey);
|
|
153
167
|
if (eventKey) {
|
|
154
|
-
this.listenerConfig.get(eventKey)
|
|
168
|
+
(_a = this.listenerConfig.get(eventKey)) == null ? void 0 : _a.task.clearTaskQueue();
|
|
155
169
|
} else {
|
|
156
|
-
this.listenerConfig
|
|
157
|
-
|
|
170
|
+
(_c = (_b = this.listenerConfig) == null ? void 0 : _b.forEach) == null ? void 0 : _c.call(_b, (item) => {
|
|
171
|
+
var _a2;
|
|
172
|
+
(_a2 = item == null ? void 0 : item.task) == null ? void 0 : _a2.clearTaskQueue();
|
|
158
173
|
});
|
|
159
174
|
}
|
|
160
175
|
}
|
|
161
|
-
|
|
162
176
|
/**
|
|
163
177
|
* 获取监听配置
|
|
164
178
|
* @param eventKey 事件key
|
|
165
179
|
* @returns 监听配置
|
|
166
180
|
*/
|
|
167
181
|
getListenerConfig(eventKey) {
|
|
168
|
-
|
|
182
|
+
var _a;
|
|
183
|
+
return (_a = this.listenerConfig) == null ? void 0 : _a.get(eventKey);
|
|
169
184
|
}
|
|
170
|
-
|
|
171
185
|
/**
|
|
172
186
|
* 扫码任务执行函数
|
|
173
187
|
* @param args 参数
|
|
174
188
|
*/
|
|
175
189
|
async scanTaskAction(...args) {
|
|
176
190
|
const [eventKey, other] = args;
|
|
177
|
-
const {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
data
|
|
181
|
-
} = other?.scanResult || {};
|
|
182
|
-
const taskItemUuid = other?.uuid;
|
|
183
|
-
const {
|
|
184
|
-
scanCallback,
|
|
185
|
-
task
|
|
186
|
-
} = this.getListenerConfig(eventKey) || {};
|
|
191
|
+
const { type, value, data } = (other == null ? void 0 : other.scanResult) || {};
|
|
192
|
+
const taskItemUuid = other == null ? void 0 : other.uuid;
|
|
193
|
+
const { scanCallback, task } = this.getListenerConfig(eventKey) || {};
|
|
187
194
|
if (scanCallback) {
|
|
188
195
|
try {
|
|
189
|
-
const result = await scanCallback({
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
// 如果任务存在,则发布结果
|
|
194
|
-
if (taskItemUuid && task?.isTaskExist(taskItemUuid)) {
|
|
195
|
-
_watch.default.publishByEventKey(this.watchKey, eventKey, {
|
|
196
|
+
const result = await scanCallback({ type, value });
|
|
197
|
+
console.log(`${eventKey}_result>>>>>>>`, result);
|
|
198
|
+
if (taskItemUuid && (task == null ? void 0 : task.isTaskExist(taskItemUuid))) {
|
|
199
|
+
import_watch.default.publishByEventKey(this.watchKey, eventKey, {
|
|
196
200
|
type: eventKey,
|
|
197
|
-
status:
|
|
201
|
+
status: "success",
|
|
198
202
|
scanType: type,
|
|
199
203
|
scanCode: value,
|
|
200
204
|
scanData: data,
|
|
@@ -204,11 +208,11 @@ class Scan {
|
|
|
204
208
|
console.warn(`${eventKey}_result_task_not_exist>>>>>>>`, task);
|
|
205
209
|
}
|
|
206
210
|
} catch (error) {
|
|
207
|
-
|
|
208
|
-
if (taskItemUuid && task
|
|
209
|
-
|
|
211
|
+
console.log(`${eventKey}_result_error>>>>>>>`, error);
|
|
212
|
+
if (taskItemUuid && (task == null ? void 0 : task.isTaskExist(taskItemUuid))) {
|
|
213
|
+
import_watch.default.publishByEventKey(this.watchKey, eventKey, {
|
|
210
214
|
type: eventKey,
|
|
211
|
-
status:
|
|
215
|
+
status: "failed",
|
|
212
216
|
scanType: type,
|
|
213
217
|
scanCode: value,
|
|
214
218
|
scanData: data
|
|
@@ -219,5 +223,7 @@ class Scan {
|
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
|
-
}
|
|
223
|
-
|
|
226
|
+
};
|
|
227
|
+
var Scan = _Scan;
|
|
228
|
+
Scan.scanInstances = /* @__PURE__ */ new Set();
|
|
229
|
+
Scan.peripheralsListenerMounted = false;
|