@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
package/lib/plugins/request.js
CHANGED
|
@@ -1,101 +1,98 @@
|
|
|
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/plugins/request.ts
|
|
20
|
+
var request_exports = {};
|
|
21
|
+
__export(request_exports, {
|
|
22
|
+
RequestError: () => RequestError,
|
|
23
|
+
RequestModeENUM: () => RequestModeENUM,
|
|
24
|
+
default: () => request_default
|
|
5
25
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return RequestModeENUM;
|
|
17
|
-
}({}); // 请求模式
|
|
18
|
-
/**
|
|
19
|
-
* 请求配置
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* 响应接口
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* 请求错误
|
|
26
|
-
*/
|
|
27
|
-
class RequestError extends Error {
|
|
28
|
-
response;
|
|
29
|
-
request;
|
|
30
|
-
config;
|
|
26
|
+
module.exports = __toCommonJS(request_exports);
|
|
27
|
+
var RequestModeENUM = /* @__PURE__ */ ((RequestModeENUM2) => {
|
|
28
|
+
RequestModeENUM2["LOCAL"] = "local";
|
|
29
|
+
RequestModeENUM2["REMOTE"] = "remote";
|
|
30
|
+
RequestModeENUM2["LOCAL_REMOTE"] = "local_remote";
|
|
31
|
+
RequestModeENUM2["REMOTE_LOCAL"] = "remote_local";
|
|
32
|
+
RequestModeENUM2["OS_SERVER"] = "os_server";
|
|
33
|
+
return RequestModeENUM2;
|
|
34
|
+
})(RequestModeENUM || {});
|
|
35
|
+
var RequestError = class extends Error {
|
|
31
36
|
constructor(message, config, request, response) {
|
|
32
37
|
super(message);
|
|
33
|
-
this.name =
|
|
38
|
+
this.name = "RequestError";
|
|
34
39
|
this.config = config;
|
|
35
40
|
this.request = request;
|
|
36
41
|
this.response = response;
|
|
37
42
|
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
interceptors = {
|
|
65
|
-
request: [],
|
|
66
|
-
response: [],
|
|
67
|
-
error: []
|
|
68
|
-
};
|
|
69
|
-
|
|
43
|
+
};
|
|
44
|
+
var RequestPluginImpl = class {
|
|
45
|
+
constructor() {
|
|
46
|
+
this.name = "request";
|
|
47
|
+
this.version = "1.0.0";
|
|
48
|
+
this.core = null;
|
|
49
|
+
/**
|
|
50
|
+
* 默认请求选项
|
|
51
|
+
*/
|
|
52
|
+
this.defaultOptions = {
|
|
53
|
+
method: "GET",
|
|
54
|
+
headers: {
|
|
55
|
+
"Content-Type": "application/json"
|
|
56
|
+
},
|
|
57
|
+
timeout: 3e4,
|
|
58
|
+
responseType: "json"
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* 全局拦截器
|
|
62
|
+
*/
|
|
63
|
+
this.interceptors = {
|
|
64
|
+
request: [],
|
|
65
|
+
response: [],
|
|
66
|
+
error: []
|
|
67
|
+
};
|
|
68
|
+
}
|
|
70
69
|
// 初始化方法
|
|
71
70
|
initialize() {
|
|
72
71
|
this.core = globalThis.pisellOS;
|
|
72
|
+
console.log("[RequestPlugin] 初始化完成");
|
|
73
73
|
}
|
|
74
|
-
|
|
75
74
|
// 销毁方法
|
|
76
|
-
destroy() {
|
|
77
|
-
|
|
75
|
+
destroy() {
|
|
76
|
+
console.log("[RequestPlugin] 已销毁");
|
|
77
|
+
}
|
|
78
78
|
/**
|
|
79
79
|
* 添加请求拦截器
|
|
80
80
|
*/
|
|
81
81
|
addRequestInterceptor(interceptor) {
|
|
82
82
|
this.interceptors.request.push(interceptor);
|
|
83
83
|
}
|
|
84
|
-
|
|
85
84
|
/**
|
|
86
85
|
* 添加响应拦截器
|
|
87
86
|
*/
|
|
88
87
|
addResponseInterceptor(interceptor) {
|
|
89
88
|
this.interceptors.response.push(interceptor);
|
|
90
89
|
}
|
|
91
|
-
|
|
92
90
|
/**
|
|
93
91
|
* 添加错误拦截器
|
|
94
92
|
*/
|
|
95
93
|
addErrorInterceptor(interceptor) {
|
|
96
94
|
this.interceptors.error.push(interceptor);
|
|
97
95
|
}
|
|
98
|
-
|
|
99
96
|
/**
|
|
100
97
|
* GET 请求
|
|
101
98
|
*/
|
|
@@ -103,10 +100,9 @@ class RequestPluginImpl {
|
|
|
103
100
|
return this.request({
|
|
104
101
|
...options,
|
|
105
102
|
url,
|
|
106
|
-
method:
|
|
103
|
+
method: "GET"
|
|
107
104
|
});
|
|
108
105
|
}
|
|
109
|
-
|
|
110
106
|
/**
|
|
111
107
|
* POST 请求
|
|
112
108
|
*/
|
|
@@ -114,11 +110,10 @@ class RequestPluginImpl {
|
|
|
114
110
|
return this.request({
|
|
115
111
|
...options,
|
|
116
112
|
url,
|
|
117
|
-
method:
|
|
113
|
+
method: "POST",
|
|
118
114
|
data
|
|
119
115
|
});
|
|
120
116
|
}
|
|
121
|
-
|
|
122
117
|
/**
|
|
123
118
|
* PUT 请求
|
|
124
119
|
*/
|
|
@@ -126,11 +121,10 @@ class RequestPluginImpl {
|
|
|
126
121
|
return this.request({
|
|
127
122
|
...options,
|
|
128
123
|
url,
|
|
129
|
-
method:
|
|
124
|
+
method: "PUT",
|
|
130
125
|
data
|
|
131
126
|
});
|
|
132
127
|
}
|
|
133
|
-
|
|
134
128
|
/**
|
|
135
129
|
* DELETE 请求
|
|
136
130
|
*/
|
|
@@ -138,15 +132,13 @@ class RequestPluginImpl {
|
|
|
138
132
|
return this.request({
|
|
139
133
|
...options,
|
|
140
134
|
url,
|
|
141
|
-
method:
|
|
135
|
+
method: "DELETE"
|
|
142
136
|
});
|
|
143
137
|
}
|
|
144
|
-
|
|
145
138
|
/**
|
|
146
139
|
* 通用请求方法
|
|
147
140
|
*/
|
|
148
141
|
async request(options) {
|
|
149
|
-
// 合并默认选项
|
|
150
142
|
let config = {
|
|
151
143
|
...this.defaultOptions,
|
|
152
144
|
...options,
|
|
@@ -155,52 +147,54 @@ class RequestPluginImpl {
|
|
|
155
147
|
...options.headers
|
|
156
148
|
}
|
|
157
149
|
};
|
|
158
|
-
if (!config.headers[
|
|
159
|
-
const windowPlugin = this.core.getPlugin(
|
|
150
|
+
if (!config.headers["authorization"] && this.core) {
|
|
151
|
+
const windowPlugin = this.core.getPlugin("window");
|
|
160
152
|
if (windowPlugin) {
|
|
161
|
-
config.headers[
|
|
153
|
+
config.headers["authorization"] = windowPlugin.localStorage.getItem("token") || "";
|
|
162
154
|
}
|
|
163
155
|
}
|
|
164
|
-
|
|
165
|
-
// 应用请求拦截器
|
|
166
156
|
for (const interceptor of this.interceptors.request) {
|
|
167
157
|
try {
|
|
168
158
|
config = await Promise.resolve(interceptor(config));
|
|
169
159
|
} catch (error) {
|
|
170
|
-
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
171
|
-
|
|
172
|
-
|
|
160
|
+
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
161
|
+
error instanceof Error ? error.message : "请求拦截器错误",
|
|
162
|
+
config
|
|
163
|
+
);
|
|
173
164
|
let processedError = requestError;
|
|
174
165
|
for (const errorInterceptor of this.interceptors.error) {
|
|
175
166
|
try {
|
|
176
|
-
processedError = await Promise.resolve(
|
|
167
|
+
processedError = await Promise.resolve(
|
|
168
|
+
errorInterceptor(processedError)
|
|
169
|
+
);
|
|
177
170
|
} catch (e) {
|
|
178
|
-
// 忽略错误拦截器中的错误
|
|
179
171
|
}
|
|
180
172
|
}
|
|
181
173
|
throw processedError;
|
|
182
174
|
}
|
|
183
175
|
}
|
|
184
|
-
|
|
185
|
-
// 执行请求
|
|
186
176
|
try {
|
|
187
177
|
const response = await this.performRequest(config);
|
|
188
|
-
|
|
189
|
-
// 应用响应拦截器
|
|
190
178
|
let processedResponse = response;
|
|
191
179
|
for (const interceptor of this.interceptors.response) {
|
|
192
180
|
try {
|
|
193
|
-
processedResponse = await Promise.resolve(
|
|
181
|
+
processedResponse = await Promise.resolve(
|
|
182
|
+
interceptor(processedResponse)
|
|
183
|
+
);
|
|
194
184
|
} catch (error) {
|
|
195
|
-
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
196
|
-
|
|
197
|
-
|
|
185
|
+
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
186
|
+
error instanceof Error ? error.message : "响应拦截器错误",
|
|
187
|
+
config,
|
|
188
|
+
null,
|
|
189
|
+
response
|
|
190
|
+
);
|
|
198
191
|
let processedError = requestError;
|
|
199
192
|
for (const errorInterceptor of this.interceptors.error) {
|
|
200
193
|
try {
|
|
201
|
-
processedError = await Promise.resolve(
|
|
194
|
+
processedError = await Promise.resolve(
|
|
195
|
+
errorInterceptor(processedError)
|
|
196
|
+
);
|
|
202
197
|
} catch (e) {
|
|
203
|
-
// 忽略错误拦截器中的错误
|
|
204
198
|
}
|
|
205
199
|
}
|
|
206
200
|
throw processedError;
|
|
@@ -208,21 +202,22 @@ class RequestPluginImpl {
|
|
|
208
202
|
}
|
|
209
203
|
return processedResponse.data;
|
|
210
204
|
} catch (error) {
|
|
211
|
-
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
212
|
-
|
|
213
|
-
|
|
205
|
+
const requestError = error instanceof RequestError ? error : new RequestError(
|
|
206
|
+
error instanceof Error ? error.message : "请求错误",
|
|
207
|
+
config
|
|
208
|
+
);
|
|
214
209
|
let processedError = requestError;
|
|
215
210
|
for (const errorInterceptor of this.interceptors.error) {
|
|
216
211
|
try {
|
|
217
|
-
processedError = await Promise.resolve(
|
|
212
|
+
processedError = await Promise.resolve(
|
|
213
|
+
errorInterceptor(processedError)
|
|
214
|
+
);
|
|
218
215
|
} catch (e) {
|
|
219
|
-
// 忽略错误拦截器中的错误
|
|
220
216
|
}
|
|
221
217
|
}
|
|
222
218
|
throw processedError;
|
|
223
219
|
}
|
|
224
220
|
}
|
|
225
|
-
|
|
226
221
|
/**
|
|
227
222
|
* 执行实际的请求
|
|
228
223
|
* 这里实现了一个基于 fetch API 的请求
|
|
@@ -239,39 +234,32 @@ class RequestPluginImpl {
|
|
|
239
234
|
withCredentials
|
|
240
235
|
} = config;
|
|
241
236
|
if (!url) {
|
|
242
|
-
throw new RequestError(
|
|
237
|
+
throw new RequestError("URL不能为空", config);
|
|
243
238
|
}
|
|
244
|
-
|
|
245
|
-
// 处理 URL 参数
|
|
246
239
|
let fullUrl = url;
|
|
247
240
|
if (params && Object.keys(params).length > 0) {
|
|
248
|
-
const queryString = Object.entries(params).map(
|
|
249
|
-
|
|
241
|
+
const queryString = Object.entries(params).map(
|
|
242
|
+
([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`
|
|
243
|
+
).join("&");
|
|
244
|
+
fullUrl += (url.includes("?") ? "&" : "?") + queryString;
|
|
250
245
|
}
|
|
251
|
-
|
|
252
|
-
// 准备请求选项
|
|
253
246
|
const fetchOptions = {
|
|
254
247
|
method,
|
|
255
248
|
headers: {
|
|
256
249
|
...headers
|
|
257
250
|
},
|
|
258
|
-
credentials: withCredentials ?
|
|
251
|
+
credentials: withCredentials ? "include" : "same-origin"
|
|
259
252
|
};
|
|
260
|
-
|
|
261
|
-
// 处理请求体
|
|
262
|
-
if (data !== undefined && method !== 'GET' && method !== 'HEAD') {
|
|
253
|
+
if (data !== void 0 && method !== "GET" && method !== "HEAD") {
|
|
263
254
|
if (data instanceof FormData) {
|
|
264
255
|
fetchOptions.body = data;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
} else if (typeof data === 'object') {
|
|
256
|
+
delete fetchOptions.headers["Content-Type"];
|
|
257
|
+
} else if (typeof data === "object") {
|
|
268
258
|
fetchOptions.body = JSON.stringify(data);
|
|
269
259
|
} else {
|
|
270
260
|
fetchOptions.body = data;
|
|
271
261
|
}
|
|
272
262
|
}
|
|
273
|
-
|
|
274
|
-
// 处理超时
|
|
275
263
|
let timeoutId;
|
|
276
264
|
const timeoutPromise = new Promise((_, reject) => {
|
|
277
265
|
if (timeout) {
|
|
@@ -281,40 +269,34 @@ class RequestPluginImpl {
|
|
|
281
269
|
}
|
|
282
270
|
});
|
|
283
271
|
try {
|
|
284
|
-
|
|
285
|
-
|
|
272
|
+
const fetchPromise = typeof fetch !== "undefined" ? fetch(fullUrl, fetchOptions) : Promise.reject(
|
|
273
|
+
new RequestError("当前环境不支持 fetch API", config)
|
|
274
|
+
);
|
|
286
275
|
const response = await Promise.race([fetchPromise, timeoutPromise]);
|
|
287
|
-
|
|
288
|
-
// 解析响应头
|
|
289
276
|
const responseHeaders = {};
|
|
290
277
|
response.headers.forEach((value, key) => {
|
|
291
278
|
responseHeaders[key] = value;
|
|
292
279
|
});
|
|
293
|
-
|
|
294
|
-
// 解析响应内容
|
|
295
280
|
let responseData;
|
|
296
|
-
if (responseType ===
|
|
281
|
+
if (responseType === "json") {
|
|
297
282
|
try {
|
|
298
283
|
responseData = await response.json();
|
|
299
284
|
} catch (e) {
|
|
300
285
|
responseData = await response.text();
|
|
301
286
|
}
|
|
302
|
-
} else if (responseType ===
|
|
287
|
+
} else if (responseType === "text") {
|
|
303
288
|
responseData = await response.text();
|
|
304
|
-
} else if (responseType ===
|
|
289
|
+
} else if (responseType === "arraybuffer") {
|
|
305
290
|
responseData = await response.arrayBuffer();
|
|
306
|
-
} else if (responseType ===
|
|
291
|
+
} else if (responseType === "blob") {
|
|
307
292
|
responseData = await response.blob();
|
|
308
293
|
} else {
|
|
309
|
-
// 默认尝试 JSON
|
|
310
294
|
try {
|
|
311
295
|
responseData = await response.json();
|
|
312
296
|
} catch (e) {
|
|
313
297
|
responseData = await response.text();
|
|
314
298
|
}
|
|
315
299
|
}
|
|
316
|
-
|
|
317
|
-
// 构建响应对象
|
|
318
300
|
const result = {
|
|
319
301
|
data: responseData,
|
|
320
302
|
status: response.status,
|
|
@@ -322,18 +304,25 @@ class RequestPluginImpl {
|
|
|
322
304
|
headers: responseHeaders,
|
|
323
305
|
config
|
|
324
306
|
};
|
|
325
|
-
|
|
326
|
-
// 处理非成功状态码
|
|
327
307
|
if (!response.ok) {
|
|
328
|
-
throw new RequestError(
|
|
308
|
+
throw new RequestError(
|
|
309
|
+
`请求失败,状态码: ${response.status}`,
|
|
310
|
+
config,
|
|
311
|
+
fetchOptions,
|
|
312
|
+
result
|
|
313
|
+
);
|
|
329
314
|
}
|
|
330
315
|
return result;
|
|
331
316
|
} finally {
|
|
332
|
-
// 清除超时计时器
|
|
333
317
|
if (timeoutId) {
|
|
334
318
|
clearTimeout(timeoutId);
|
|
335
319
|
}
|
|
336
320
|
}
|
|
337
321
|
}
|
|
338
|
-
}
|
|
339
|
-
var
|
|
322
|
+
};
|
|
323
|
+
var request_default = new RequestPluginImpl();
|
|
324
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
325
|
+
0 && (module.exports = {
|
|
326
|
+
RequestError,
|
|
327
|
+
RequestModeENUM
|
|
328
|
+
});
|
package/lib/plugins/shopStore.js
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
14
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
15
|
+
// src/plugins/shopStore.ts
|
|
16
|
+
var shopStore_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(shopStore_exports);
|
package/lib/plugins/user.js
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
2
14
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
15
|
+
// src/plugins/user.ts
|
|
16
|
+
var user_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(user_exports);
|