@pisell/pisellos 2.3.73 → 2.3.75
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.d.ts +7 -0
- package/dist/core/index.js +111 -71
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/strategy-example.js +5 -19
- package/dist/modules/Cart/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +0 -1
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.js +2 -4
- package/dist/modules/OpenData/index.js +0 -2
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +36 -64
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Quotation/index.d.ts +6 -0
- package/dist/modules/Quotation/index.js +75 -19
- package/dist/modules/Rules/index.js +1 -4
- package/dist/modules/Schedule/index.js +0 -1
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/plugins/request.d.ts +1 -0
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.d.ts +8 -2
- package/dist/server/index.js +303 -269
- package/dist/server/modules/floor-plan/index.d.ts +4 -0
- package/dist/server/modules/floor-plan/index.js +240 -98
- package/dist/server/modules/menu/index.js +75 -59
- package/dist/server/modules/order/index.d.ts +17 -7
- package/dist/server/modules/order/index.js +421 -211
- package/dist/server/modules/products/index.d.ts +8 -2
- package/dist/server/modules/products/index.js +191 -117
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +24 -17
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BaseSales/index.js +38 -41
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.js +0 -2
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
- package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
- package/dist/solution/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.js +177 -252
- package/dist/solution/Checkout/utils/index.js +4 -16
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/ScanOrder/index.js +50 -60
- package/dist/solution/ShopDiscount/index.js +2 -7
- package/dist/solution/VenueBooking/index.js +45 -55
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.d.ts +7 -0
- package/lib/core/index.js +149 -131
- package/lib/effects/index.js +46 -57
- package/lib/index.js +82 -49
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
- package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
- package/lib/model/strategy/adapter/promotion/examples.js +222 -234
- package/lib/model/strategy/adapter/promotion/index.js +1 -0
- package/lib/model/strategy/adapter/promotion/type.js +243 -36
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.js +23 -42
- package/lib/modules/BookingContext/index.js +158 -136
- package/lib/modules/BookingContext/types.js +46 -32
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
- package/lib/modules/BookingContext/utils/flexible.js +38 -55
- package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
- package/lib/modules/BookingContext/utils/index.js +124 -41
- package/lib/modules/BookingContext/utils/noResource.js +58 -70
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
- package/lib/modules/BookingContext/utils/productExtend.js +202 -155
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
- package/lib/modules/BookingContext/utils/resources.js +209 -167
- package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
- package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
- package/lib/modules/Cart/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +321 -251
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +70 -78
- package/lib/modules/Cart/utils/changePrice.js +22 -50
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +235 -172
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.js +122 -127
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.js +70 -76
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +1713 -2118
- package/lib/modules/Order/payment-utils.js +77 -120
- package/lib/modules/Order/types.js +88 -35
- package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
- package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
- package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
- package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
- package/lib/modules/Order/utils.js +814 -647
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.js +532 -399
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +230 -108
- package/lib/modules/Payment/utils.js +52 -51
- package/lib/modules/Payment/walletpass.js +485 -660
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +113 -123
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.d.ts +6 -0
- package/lib/modules/Quotation/index.js +110 -103
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- package/lib/modules/ResourcePlanner/index.js +25 -23
- package/lib/modules/ResourcePlanner/localClock.js +54 -119
- package/lib/modules/ResourcePlanner/planner.js +589 -770
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1218 -959
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +85 -90
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +355 -430
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
- package/lib/modules/Schedule/index.js +100 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -71
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +773 -418
- package/lib/modules/SurchargeList/index.js +46 -60
- package/lib/modules/SurchargeList/types.js +4 -16
- package/lib/modules/index.js +245 -63
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.d.ts +1 -0
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.d.ts +8 -2
- package/lib/server/index.js +3083 -2663
- package/lib/server/modules/floor-plan/index.d.ts +4 -0
- package/lib/server/modules/floor-plan/index.js +159 -127
- package/lib/server/modules/floor-plan/types.js +15 -30
- package/lib/server/modules/index.js +106 -68
- package/lib/server/modules/menu/index.js +170 -124
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.d.ts +17 -7
- package/lib/server/modules/order/index.js +916 -977
- package/lib/server/modules/order/types.js +122 -33
- package/lib/server/modules/order/utils/filterBookings.js +219 -194
- package/lib/server/modules/order/utils/filterOrders.js +118 -92
- package/lib/server/modules/payment/index.js +59 -83
- package/lib/server/modules/payment/types.js +4 -16
- package/lib/server/modules/products/index.d.ts +8 -2
- package/lib/server/modules/products/index.js +656 -471
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.js +137 -172
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +225 -186
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +135 -123
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +196 -139
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.js +479 -456
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.js +1186 -1410
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
- package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
- package/lib/solution/BaseSales/utils.js +158 -143
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1527 -1340
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.js +607 -522
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
- package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
- package/lib/solution/BookingTicket/utils/cartView.js +114 -99
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
- package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
- package/lib/solution/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.js +1451 -1158
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -156
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +493 -460
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.js +328 -324
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +832 -864
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +409 -374
- package/lib/solution/ShopDiscount/index.js +226 -232
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +300 -172
- package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- package/lib/solution/UnifiedBookingSales/types.js +10 -32
- package/lib/solution/VenueBooking/index.js +811 -879
- package/lib/solution/VenueBooking/types.js +19 -39
- package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
- package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +124 -41
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/payment-number.js +26 -46
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
|
@@ -1,70 +1,55 @@
|
|
|
1
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(AccountList_exports, {
|
|
22
|
-
AccountListModule: () => AccountListModule
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
|
|
6
|
+
exports.AccountListModule = void 0;
|
|
7
|
+
var _lodashEs = require("lodash-es");
|
|
8
|
+
var _Account = require("../Account");
|
|
9
|
+
var _BaseModule = require("../BaseModule");
|
|
10
|
+
var _types = require("./types");
|
|
11
|
+
var _utils = require("./utils");
|
|
12
|
+
class AccountListModule extends _BaseModule.BaseModule {
|
|
13
|
+
defaultName = 'accountList';
|
|
14
|
+
defaultVersion = '1.0.0';
|
|
15
|
+
store = {
|
|
16
|
+
accountList: [],
|
|
17
|
+
// 账号的纯数据列表
|
|
18
|
+
accounts: [],
|
|
19
|
+
// 账号的 module 列表
|
|
20
|
+
isLoading: false,
|
|
21
|
+
error: null
|
|
22
|
+
};
|
|
23
|
+
request;
|
|
24
|
+
cacheId;
|
|
25
|
+
openCache = false;
|
|
26
|
+
fatherModule;
|
|
31
27
|
constructor(name, version) {
|
|
32
28
|
super(name, version);
|
|
33
|
-
this.defaultName = "accountList";
|
|
34
|
-
this.defaultVersion = "1.0.0";
|
|
35
|
-
this.store = {
|
|
36
|
-
accountList: [],
|
|
37
|
-
// 账号的纯数据列表
|
|
38
|
-
accounts: [],
|
|
39
|
-
// 账号的 module 列表
|
|
40
|
-
isLoading: false,
|
|
41
|
-
error: null
|
|
42
|
-
};
|
|
43
|
-
this.openCache = false;
|
|
44
29
|
}
|
|
45
30
|
async initialize(core, options) {
|
|
46
|
-
var _a, _b, _c;
|
|
47
31
|
this.core = core;
|
|
48
|
-
this.store = options
|
|
49
|
-
this.request = this.core.getPlugin(
|
|
50
|
-
if (Array.isArray(
|
|
51
|
-
const recordList = (0,
|
|
32
|
+
this.store = options?.store;
|
|
33
|
+
this.request = this.core.getPlugin('request');
|
|
34
|
+
if (Array.isArray(options?.initialState?.accountList)) {
|
|
35
|
+
const recordList = (0, _lodashEs.cloneDeep)(options.initialState.accountList || []);
|
|
52
36
|
this.store.accounts = [];
|
|
53
|
-
recordList.forEach(
|
|
37
|
+
recordList.forEach(account => {
|
|
54
38
|
this.addAccount(account);
|
|
55
39
|
});
|
|
56
40
|
} else {
|
|
57
41
|
this.store.accounts = [];
|
|
58
42
|
this.store.accountList = [];
|
|
59
43
|
}
|
|
60
|
-
if (
|
|
44
|
+
if (options?.otherParams?.cacheId) {
|
|
61
45
|
this.openCache = options.otherParams.openCache;
|
|
62
46
|
this.cacheId = options.otherParams.cacheId;
|
|
63
47
|
}
|
|
64
|
-
if (
|
|
48
|
+
if (options?.otherParams?.fatherModule) {
|
|
65
49
|
this.fatherModule = options.otherParams.fatherModule;
|
|
66
50
|
}
|
|
67
51
|
}
|
|
52
|
+
|
|
68
53
|
/**
|
|
69
54
|
* 创建账号并添加到列表中
|
|
70
55
|
* @param account 账号信息
|
|
@@ -72,32 +57,28 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
72
57
|
* @param type 添加类型
|
|
73
58
|
*/
|
|
74
59
|
async createAccountAndAdd(account, needEmit = true, type) {
|
|
75
|
-
const tempAccountModule = this.store.accounts.find(
|
|
76
|
-
|
|
77
|
-
);
|
|
60
|
+
const tempAccountModule = this.store.accounts.find(a => a.getId() === account.id);
|
|
61
|
+
// 如果账号已经存在,则直接返回
|
|
78
62
|
if (tempAccountModule) {
|
|
79
63
|
return tempAccountModule;
|
|
80
64
|
}
|
|
81
|
-
const newAccountList = [...this.store.accountList || []];
|
|
82
|
-
if (type ===
|
|
65
|
+
const newAccountList = [...(this.store.accountList || [])];
|
|
66
|
+
if (type === 'unshift') {
|
|
83
67
|
newAccountList.unshift(account);
|
|
84
68
|
} else {
|
|
85
69
|
newAccountList.push(account);
|
|
86
70
|
}
|
|
87
71
|
this.store.accountList = newAccountList;
|
|
88
|
-
const accountModule = new
|
|
72
|
+
const accountModule = new _Account.AccountModule(`account_${account.id}`);
|
|
89
73
|
this.core.registerModule(accountModule);
|
|
90
74
|
accountModule.setAccountInfo(account);
|
|
91
|
-
if (type ===
|
|
92
|
-
this.store.accounts = [accountModule, ...this.store.accounts || []];
|
|
75
|
+
if (type === 'unshift') {
|
|
76
|
+
this.store.accounts = [accountModule, ...(this.store.accounts || [])];
|
|
93
77
|
} else {
|
|
94
|
-
this.store.accounts = [...this.store.accounts || [], accountModule];
|
|
78
|
+
this.store.accounts = [...(this.store.accounts || []), accountModule];
|
|
95
79
|
}
|
|
96
80
|
if (needEmit) {
|
|
97
|
-
await this.core.effects.emit(
|
|
98
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
99
|
-
this.store
|
|
100
|
-
);
|
|
81
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
101
82
|
}
|
|
102
83
|
return accountModule;
|
|
103
84
|
}
|
|
@@ -106,32 +87,24 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
106
87
|
try {
|
|
107
88
|
this.store.isLoading = true;
|
|
108
89
|
this.store.error = null;
|
|
109
|
-
if (this.store.accounts.some(
|
|
110
|
-
currentAccountModule = this.store.accounts.find(
|
|
111
|
-
(n) => n.getId() === account.id
|
|
112
|
-
);
|
|
90
|
+
if (this.store.accounts.some(a => a.getId() === account.id)) {
|
|
91
|
+
currentAccountModule = this.store.accounts.find(n => n.getId() === account.id);
|
|
113
92
|
throw new Error(`Account with id ${account.id} already exists`);
|
|
114
93
|
}
|
|
115
94
|
this.store.accountList.push(account);
|
|
116
|
-
const accountModule = new
|
|
95
|
+
const accountModule = new _Account.AccountModule(`account_${account.id}`);
|
|
117
96
|
this.core.registerModule(accountModule);
|
|
118
97
|
accountModule.setAccountInfo(account);
|
|
119
|
-
this.store.accounts = [...this.store.accounts || [], accountModule];
|
|
98
|
+
this.store.accounts = [...(this.store.accounts || []), accountModule];
|
|
120
99
|
if (this.store.accounts.length === 1) {
|
|
121
100
|
this.setActiveAccount(accountModule.getId());
|
|
122
101
|
}
|
|
123
102
|
currentAccountModule = accountModule;
|
|
124
|
-
await this.core.effects.emit(
|
|
125
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
126
|
-
this.store
|
|
127
|
-
);
|
|
103
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
128
104
|
} catch (error) {
|
|
129
105
|
console.error(error);
|
|
130
|
-
this.store.error = error instanceof Error ? error.message :
|
|
131
|
-
await this.core.effects.emit(
|
|
132
|
-
import_types.AccountListHooks.OnAccountListError,
|
|
133
|
-
this.store.error
|
|
134
|
-
);
|
|
106
|
+
this.store.error = error instanceof Error ? error.message : 'Failed to add account';
|
|
107
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
|
|
135
108
|
} finally {
|
|
136
109
|
this.store.isLoading = false;
|
|
137
110
|
return currentAccountModule;
|
|
@@ -146,99 +119,80 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
146
119
|
throw new Error(`Account with id ${id} not found`);
|
|
147
120
|
}
|
|
148
121
|
account.setAccountInfo(updates);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
)
|
|
122
|
+
// this.store.accountList.forEach(account => {
|
|
123
|
+
// if (account.id === id) {
|
|
124
|
+
// Object.assign(account, updates)
|
|
125
|
+
// }
|
|
126
|
+
// })
|
|
127
|
+
const index = this.store.accountList.findIndex(account => account.id === id);
|
|
152
128
|
if (index !== -1) {
|
|
153
129
|
this.store.accountList[index] = updates;
|
|
154
130
|
}
|
|
155
|
-
await this.core.effects.emit(
|
|
156
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
157
|
-
this.store
|
|
158
|
-
);
|
|
131
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
159
132
|
} catch (error) {
|
|
160
|
-
this.store.error = error instanceof Error ? error.message :
|
|
161
|
-
await this.core.effects.emit(
|
|
162
|
-
import_types.AccountListHooks.OnAccountListError,
|
|
163
|
-
this.store.error
|
|
164
|
-
);
|
|
133
|
+
this.store.error = error instanceof Error ? error.message : 'Failed to update account';
|
|
134
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
|
|
165
135
|
} finally {
|
|
166
136
|
this.store.isLoading = false;
|
|
167
137
|
}
|
|
168
138
|
}
|
|
169
139
|
async updateAccountListById(id, updates) {
|
|
170
|
-
this.store.accountList = this.store.accountList.map(
|
|
140
|
+
this.store.accountList = this.store.accountList.map(account => {
|
|
171
141
|
if (account.id === id) {
|
|
172
142
|
return updates;
|
|
173
143
|
}
|
|
174
144
|
return account;
|
|
175
145
|
});
|
|
176
146
|
this.core.effects.emit(`${this.name}:changed`, {
|
|
177
|
-
path:
|
|
147
|
+
path: 'accounts',
|
|
178
148
|
value: this.store.accountList
|
|
179
149
|
});
|
|
180
150
|
}
|
|
181
151
|
async removeAccount(id) {
|
|
182
|
-
var _a;
|
|
183
152
|
try {
|
|
184
153
|
this.store.isLoading = true;
|
|
185
154
|
this.store.error = null;
|
|
186
|
-
const index = this.store.accounts.findIndex(
|
|
155
|
+
const index = this.store.accounts.findIndex(a => a.getId() === id);
|
|
187
156
|
if (index === -1) {
|
|
188
157
|
throw new Error(`Account with id ${id} not found`);
|
|
189
158
|
}
|
|
190
159
|
this.store.accounts[index].destroy();
|
|
191
|
-
this.store.accounts = [
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
this.
|
|
196
|
-
(account) => account.id !== id
|
|
197
|
-
);
|
|
198
|
-
if (!this.getActiveAccount() || ((_a = this.getActiveAccount()) == null ? void 0 : _a.getId()) === id || this.store.accounts.length === 1) {
|
|
160
|
+
this.store.accounts = [...(this.store.accounts || []).slice(0, index), ...(this.store.accounts || []).slice(index + 1)];
|
|
161
|
+
this.store.accountList = this.store.accountList.filter(account => account.id !== id);
|
|
162
|
+
|
|
163
|
+
// 检测 如果被删除的是活跃账号,则默认把第一个账号设置为 activeAccount
|
|
164
|
+
if (!this.getActiveAccount() || this.getActiveAccount()?.getId() === id || this.store.accounts.length === 1) {
|
|
199
165
|
this.setActiveAccount(this.store.accounts[0].getId());
|
|
200
166
|
}
|
|
201
|
-
await this.core.effects.emit(
|
|
202
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
203
|
-
this.store
|
|
204
|
-
);
|
|
167
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
205
168
|
} catch (error) {
|
|
206
|
-
this.store.error = error instanceof Error ? error.message :
|
|
207
|
-
await this.core.effects.emit(
|
|
208
|
-
import_types.AccountListHooks.OnAccountListError,
|
|
209
|
-
this.store.error
|
|
210
|
-
);
|
|
169
|
+
this.store.error = error instanceof Error ? error.message : 'Failed to remove account';
|
|
170
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
|
|
211
171
|
} finally {
|
|
212
172
|
this.store.isLoading = false;
|
|
213
173
|
}
|
|
214
174
|
}
|
|
215
175
|
getAccounts() {
|
|
216
|
-
return [...this.store.accounts || []];
|
|
176
|
+
return [...(this.store.accounts || [])];
|
|
217
177
|
}
|
|
218
178
|
getAccount(id) {
|
|
219
|
-
return this.store.accounts.find(
|
|
179
|
+
return this.store.accounts.find(account => account.getId() === id) || null;
|
|
220
180
|
}
|
|
221
181
|
async clearAccounts() {
|
|
222
182
|
try {
|
|
223
183
|
this.store.isLoading = true;
|
|
224
184
|
this.store.error = null;
|
|
225
185
|
this.store.accounts = [];
|
|
226
|
-
await this.core.effects.emit(
|
|
227
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
228
|
-
this.store
|
|
229
|
-
);
|
|
186
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
230
187
|
} catch (error) {
|
|
231
|
-
this.store.error = error instanceof Error ? error.message :
|
|
232
|
-
await this.core.effects.emit(
|
|
233
|
-
import_types.AccountListHooks.OnAccountListError,
|
|
234
|
-
this.store.error
|
|
235
|
-
);
|
|
188
|
+
this.store.error = error instanceof Error ? error.message : 'Failed to clear accounts';
|
|
189
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
|
|
236
190
|
} finally {
|
|
237
191
|
this.store.isLoading = false;
|
|
238
192
|
}
|
|
239
193
|
}
|
|
240
194
|
setActiveAccount(id) {
|
|
241
|
-
this.store.accounts.forEach(
|
|
195
|
+
this.store.accounts.forEach(account => {
|
|
242
196
|
if (account.getId() === id) {
|
|
243
197
|
account.setActive(true);
|
|
244
198
|
} else {
|
|
@@ -247,82 +201,93 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
247
201
|
});
|
|
248
202
|
}
|
|
249
203
|
getActiveAccount() {
|
|
250
|
-
return this.store.accounts.find(
|
|
204
|
+
return this.store.accounts.find(account => account.isActive()) || null;
|
|
251
205
|
}
|
|
252
206
|
storeChange() {
|
|
253
207
|
if (this.openCache) {
|
|
254
|
-
const store = (0,
|
|
255
|
-
store
|
|
256
|
-
|
|
257
|
-
);
|
|
208
|
+
const store = (0, _lodashEs.cloneDeep)(this.store);
|
|
209
|
+
// store里的 accountList 要主动基于 id 做下去重,避免重复写入
|
|
210
|
+
store.accountList = store.accountList.filter((account, index, self) => index === self.findIndex(t => t.id === account.id));
|
|
258
211
|
this.checkSaveCache({
|
|
259
212
|
cacheId: this.cacheId,
|
|
260
213
|
fatherModule: this.fatherModule,
|
|
261
214
|
store,
|
|
262
|
-
cacheKey: [
|
|
215
|
+
cacheKey: ['accountList']
|
|
263
216
|
});
|
|
264
217
|
}
|
|
265
218
|
}
|
|
219
|
+
|
|
266
220
|
/**
|
|
267
221
|
* 批量添加holder类型账号
|
|
268
222
|
*/
|
|
269
223
|
async addHolderAccounts(params) {
|
|
270
|
-
const {
|
|
224
|
+
const {
|
|
225
|
+
holders,
|
|
226
|
+
customerId,
|
|
227
|
+
type = 'push'
|
|
228
|
+
} = params;
|
|
271
229
|
const accountModules = [];
|
|
272
230
|
for (const holder of holders) {
|
|
273
|
-
const account = (0,
|
|
274
|
-
const accountModule = await this.createAccountAndAdd(
|
|
275
|
-
|
|
276
|
-
false,
|
|
277
|
-
type
|
|
278
|
-
);
|
|
279
|
-
if (type === "unshift") {
|
|
231
|
+
const account = (0, _utils.createHolderAccount)(holder, customerId);
|
|
232
|
+
const accountModule = await this.createAccountAndAdd(account, false, type);
|
|
233
|
+
if (type === 'unshift') {
|
|
280
234
|
accountModules.unshift(accountModule);
|
|
281
235
|
} else {
|
|
282
236
|
accountModules.push(accountModule);
|
|
283
237
|
}
|
|
284
238
|
}
|
|
285
|
-
await this.core.effects.emit(
|
|
286
|
-
import_types.AccountListHooks.OnAccountListUpdate,
|
|
287
|
-
this.store
|
|
288
|
-
);
|
|
239
|
+
await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
|
|
289
240
|
return accountModules;
|
|
290
241
|
}
|
|
242
|
+
|
|
291
243
|
/**
|
|
292
244
|
* 获取客户列表
|
|
293
245
|
* @param params 查询参数
|
|
294
246
|
* @returns 客户列表
|
|
295
247
|
*/
|
|
296
248
|
async getCustomerList(params = {}) {
|
|
297
|
-
const url =
|
|
298
|
-
const {
|
|
249
|
+
const url = '/customer/es/data';
|
|
250
|
+
const {
|
|
251
|
+
page = 1,
|
|
252
|
+
pageSize = 20,
|
|
253
|
+
keyword,
|
|
254
|
+
...otherParams
|
|
255
|
+
} = params;
|
|
299
256
|
try {
|
|
300
257
|
this.store.isLoading = true;
|
|
301
258
|
this.store.error = null;
|
|
302
259
|
const queryParams = {
|
|
303
260
|
page,
|
|
304
261
|
pageSize,
|
|
305
|
-
...keyword && {
|
|
262
|
+
...(keyword && {
|
|
263
|
+
keyword
|
|
264
|
+
}),
|
|
306
265
|
...otherParams
|
|
307
266
|
};
|
|
308
267
|
const res = await this.request.get(url, queryParams);
|
|
309
|
-
return
|
|
268
|
+
return res?.data || [];
|
|
310
269
|
} catch (error) {
|
|
311
|
-
console.error(
|
|
312
|
-
this.store.error = error instanceof Error ? error.message :
|
|
270
|
+
console.error('Failed to fetch customer list:', error);
|
|
271
|
+
this.store.error = error instanceof Error ? error.message : 'Failed to fetch customer list';
|
|
313
272
|
throw error;
|
|
314
273
|
} finally {
|
|
315
274
|
this.store.isLoading = false;
|
|
316
275
|
}
|
|
317
276
|
}
|
|
277
|
+
|
|
318
278
|
/**
|
|
319
279
|
* 获取holder类型账户列表
|
|
320
280
|
* @param params
|
|
321
281
|
*/
|
|
322
282
|
async fetchHolderAccounts(params) {
|
|
323
|
-
|
|
324
|
-
const
|
|
325
|
-
|
|
283
|
+
const url = params.url || '/account/holder';
|
|
284
|
+
const {
|
|
285
|
+
form_id,
|
|
286
|
+
shop_id,
|
|
287
|
+
num,
|
|
288
|
+
skip,
|
|
289
|
+
customer_id
|
|
290
|
+
} = params?.query || {};
|
|
326
291
|
try {
|
|
327
292
|
const res = await this.request.get(url, {
|
|
328
293
|
customer_id,
|
|
@@ -333,7 +298,7 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
333
298
|
});
|
|
334
299
|
this.store.accountList = [];
|
|
335
300
|
this.store.accounts = [];
|
|
336
|
-
if (
|
|
301
|
+
if (res?.data?.list?.length) {
|
|
337
302
|
await this.addHolderAccounts({
|
|
338
303
|
holders: res.data.list,
|
|
339
304
|
customerId: customer_id
|
|
@@ -344,10 +309,7 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
|
|
|
344
309
|
}
|
|
345
310
|
}
|
|
346
311
|
getLoginAccount() {
|
|
347
|
-
return this.store.accounts.find(
|
|
312
|
+
return this.store.accounts.find(n => n.isLogin());
|
|
348
313
|
}
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
0 && (module.exports = {
|
|
352
|
-
AccountListModule
|
|
353
|
-
});
|
|
314
|
+
}
|
|
315
|
+
exports.AccountListModule = AccountListModule;
|
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(types_exports, {
|
|
22
|
-
AccountListHooks: () => AccountListHooks
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(types_exports);
|
|
25
|
-
var AccountListHooks = /* @__PURE__ */ ((AccountListHooks2) => {
|
|
26
|
-
AccountListHooks2["OnAccountListUpdate"] = "accountList:onUpdate";
|
|
27
|
-
AccountListHooks2["OnAccountListError"] = "accountList:onError";
|
|
28
|
-
return AccountListHooks2;
|
|
29
|
-
})(AccountListHooks || {});
|
|
30
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
-
0 && (module.exports = {
|
|
32
|
-
AccountListHooks
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
33
5
|
});
|
|
6
|
+
exports.AccountListHooks = void 0;
|
|
7
|
+
let AccountListHooks = exports.AccountListHooks = /*#__PURE__*/function (AccountListHooks) {
|
|
8
|
+
AccountListHooks["OnAccountListUpdate"] = "accountList:onUpdate";
|
|
9
|
+
AccountListHooks["OnAccountListError"] = "accountList:onError";
|
|
10
|
+
return AccountListHooks;
|
|
11
|
+
}({});
|
|
12
|
+
/**
|
|
13
|
+
* 账户列表查询参数
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* 账户列表状态
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* 账户列表模块 API
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* 获取holder类型账户列表参数
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* holder类型数据
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* 获取客户列表参数
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* 客户数据
|
|
32
|
+
*/
|
|
@@ -1,39 +1,27 @@
|
|
|
1
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(utils_exports, {
|
|
22
|
-
createHolderAccount: () => createHolderAccount
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
exports.createHolderAccount = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* 创建holder类型账号
|
|
9
|
+
* @param holder
|
|
10
|
+
* @param customer_id 账户id
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
const createHolderAccount = (holder, customerId) => {
|
|
26
14
|
const account = {
|
|
27
15
|
id: holder.form_record_id,
|
|
28
16
|
name: holder.main_field,
|
|
29
17
|
username: holder.main_field,
|
|
30
|
-
avatar:
|
|
31
|
-
type:
|
|
32
|
-
_origin: {
|
|
18
|
+
avatar: holder?.customer_cover || '',
|
|
19
|
+
type: 'holder',
|
|
20
|
+
_origin: {
|
|
21
|
+
...holder,
|
|
22
|
+
customer_id: customerId
|
|
23
|
+
}
|
|
33
24
|
};
|
|
34
25
|
return account;
|
|
35
26
|
};
|
|
36
|
-
|
|
37
|
-
0 && (module.exports = {
|
|
38
|
-
createHolderAccount
|
|
39
|
-
});
|
|
27
|
+
exports.createHolderAccount = createHolderAccount;
|
|
@@ -1,32 +1,17 @@
|
|
|
1
|
-
|
|
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);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(BaseModule_exports, {
|
|
22
|
-
BaseModule: () => BaseModule
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
exports.BaseModule = void 0;
|
|
7
|
+
class BaseModule {
|
|
8
|
+
defaultName = 'baseModule';
|
|
9
|
+
defaultVersion = '1.0.0';
|
|
10
|
+
name;
|
|
11
|
+
version;
|
|
12
|
+
isSolution = false;
|
|
13
|
+
core;
|
|
26
14
|
constructor(name, version) {
|
|
27
|
-
this.defaultName = "baseModule";
|
|
28
|
-
this.defaultVersion = "1.0.0";
|
|
29
|
-
this.isSolution = false;
|
|
30
15
|
this.name = name || this.defaultName;
|
|
31
16
|
this.version = version || this.defaultVersion;
|
|
32
17
|
}
|
|
@@ -35,8 +20,9 @@ var BaseModule = class {
|
|
|
35
20
|
this.core.unregisterModule(this);
|
|
36
21
|
}
|
|
37
22
|
isRecord(value) {
|
|
38
|
-
return !!value && typeof value ===
|
|
23
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
39
24
|
}
|
|
25
|
+
|
|
40
26
|
// 提供统一的缓存 module 里的数据的方法
|
|
41
27
|
checkSaveCache({
|
|
42
28
|
cacheId,
|
|
@@ -44,22 +30,19 @@ var BaseModule = class {
|
|
|
44
30
|
store,
|
|
45
31
|
cacheKey
|
|
46
32
|
}) {
|
|
47
|
-
if (!cacheId)
|
|
48
|
-
return;
|
|
33
|
+
if (!cacheId) return;
|
|
49
34
|
try {
|
|
50
|
-
const window = this.core.getPlugin(
|
|
51
|
-
const sessionStorage = window
|
|
52
|
-
if (!sessionStorage)
|
|
53
|
-
return;
|
|
35
|
+
const window = this.core.getPlugin('window');
|
|
36
|
+
const sessionStorage = window?.sessionStorage;
|
|
37
|
+
if (!sessionStorage) return;
|
|
54
38
|
const storageKey = fatherModule || cacheId;
|
|
55
39
|
const rawCacheData = sessionStorage.getItem(storageKey);
|
|
56
40
|
const parsedCacheData = rawCacheData ? JSON.parse(rawCacheData) : {};
|
|
57
|
-
if (!this.isRecord(parsedCacheData))
|
|
58
|
-
return;
|
|
41
|
+
if (!this.isRecord(parsedCacheData)) return;
|
|
59
42
|
const cacheBucket = fatherModule ? this.isRecord(parsedCacheData[cacheId]) ? parsedCacheData[cacheId] : {} : parsedCacheData;
|
|
60
43
|
const moduleBucket = this.isRecord(cacheBucket[this.name]) ? cacheBucket[this.name] : {};
|
|
61
|
-
cacheKey.forEach(
|
|
62
|
-
moduleBucket[key] = store
|
|
44
|
+
cacheKey.forEach(key => {
|
|
45
|
+
moduleBucket[key] = store?.[key];
|
|
63
46
|
});
|
|
64
47
|
cacheBucket[this.name] = moduleBucket;
|
|
65
48
|
if (fatherModule) {
|
|
@@ -67,6 +50,7 @@ var BaseModule = class {
|
|
|
67
50
|
}
|
|
68
51
|
sessionStorage.setItem(storageKey, JSON.stringify(parsedCacheData));
|
|
69
52
|
} catch {
|
|
53
|
+
// sessionStorage persistence is best-effort and must not block checkout.
|
|
70
54
|
}
|
|
71
55
|
}
|
|
72
56
|
effectsOn(eventType, callback) {
|
|
@@ -81,8 +65,5 @@ var BaseModule = class {
|
|
|
81
65
|
effectsEmit(eventType, payload) {
|
|
82
66
|
return this.core.effects.emit(`${this.name}:${eventType}`, payload);
|
|
83
67
|
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
0 && (module.exports = {
|
|
87
|
-
BaseModule
|
|
88
|
-
});
|
|
68
|
+
}
|
|
69
|
+
exports.BaseModule = BaseModule;
|