@pisell/pisellos 2.2.37 → 2.2.39
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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.js +1 -0
- package/dist/model/strategy/adapter/index.d.ts +3 -0
- package/dist/model/strategy/adapter/index.js +4 -0
- package/dist/model/strategy/adapter/type.d.ts +28 -0
- package/dist/model/strategy/adapter/type.js +1 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.d.ts +84 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +497 -0
- package/dist/model/strategy/adapter/walletPass/example.d.ts +4 -0
- package/dist/model/strategy/adapter/walletPass/example.js +258 -0
- package/dist/model/strategy/adapter/walletPass/index.d.ts +32 -0
- package/dist/model/strategy/adapter/walletPass/index.js +182 -0
- package/dist/model/strategy/adapter/walletPass/locales.d.ts +1 -0
- package/dist/model/strategy/adapter/walletPass/locales.js +23 -0
- package/dist/model/strategy/adapter/walletPass/type.d.ts +165 -0
- package/dist/model/strategy/adapter/walletPass/type.js +1 -0
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +50 -0
- package/dist/model/strategy/adapter/walletPass/utils.js +965 -0
- package/dist/model/strategy/index.d.ts +94 -0
- package/dist/model/strategy/index.js +551 -0
- package/dist/model/strategy/strategy-example.d.ts +5 -0
- package/dist/model/strategy/strategy-example.js +331 -0
- package/dist/model/strategy/type.d.ts +228 -0
- package/dist/model/strategy/type.js +94 -0
- package/dist/modules/Cart/types.d.ts +2 -0
- package/dist/modules/Cart/utils/cartProduct.js +11 -0
- package/dist/modules/Discount/types.d.ts +15 -0
- package/dist/modules/Payment/index.d.ts +2 -1
- package/dist/modules/Payment/index.js +10 -7
- package/dist/modules/Payment/utils.js +3 -0
- package/dist/modules/Payment/walletpass.d.ts +23 -0
- package/dist/modules/Payment/walletpass.js +191 -95
- package/dist/modules/Rules/index.d.ts +8 -3
- package/dist/modules/Rules/index.js +143 -23
- package/dist/modules/Rules/types.d.ts +1 -0
- package/dist/modules/Summary/types.d.ts +2 -0
- package/dist/modules/Summary/utils.d.ts +6 -0
- package/dist/modules/Summary/utils.js +21 -0
- package/dist/plugins/window.d.ts +2 -0
- package/dist/solution/BookingByStep/index.d.ts +1 -0
- package/dist/solution/Checkout/index.js +3 -1
- package/dist/solution/ShopDiscount/index.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.js +13 -3
- package/dist/solution/ShopDiscount/types.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -1
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js +23 -0
- package/lib/model/strategy/adapter/index.d.ts +3 -0
- package/lib/model/strategy/adapter/index.js +45 -0
- package/lib/model/strategy/adapter/type.d.ts +28 -0
- package/lib/model/strategy/adapter/type.js +17 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.d.ts +84 -0
- package/lib/model/strategy/adapter/walletPass/evaluator.js +421 -0
- package/lib/model/strategy/adapter/walletPass/example.d.ts +4 -0
- package/lib/model/strategy/adapter/walletPass/example.js +207 -0
- package/lib/model/strategy/adapter/walletPass/index.d.ts +32 -0
- package/lib/model/strategy/adapter/walletPass/index.js +142 -0
- package/lib/model/strategy/adapter/walletPass/locales.d.ts +1 -0
- package/lib/model/strategy/adapter/walletPass/locales.js +51 -0
- package/lib/model/strategy/adapter/walletPass/type.d.ts +165 -0
- package/lib/model/strategy/adapter/walletPass/type.js +17 -0
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +50 -0
- package/lib/model/strategy/adapter/walletPass/utils.js +660 -0
- package/lib/model/strategy/index.d.ts +94 -0
- package/lib/model/strategy/index.js +413 -0
- package/lib/model/strategy/strategy-example.d.ts +5 -0
- package/lib/model/strategy/strategy-example.js +318 -0
- package/lib/model/strategy/type.d.ts +228 -0
- package/lib/model/strategy/type.js +44 -0
- package/lib/modules/Cart/types.d.ts +2 -0
- package/lib/modules/Cart/utils/cartProduct.js +9 -0
- package/lib/modules/Discount/types.d.ts +15 -0
- package/lib/modules/Payment/index.d.ts +2 -1
- package/lib/modules/Payment/index.js +1 -0
- package/lib/modules/Payment/utils.js +3 -0
- package/lib/modules/Payment/walletpass.d.ts +23 -0
- package/lib/modules/Payment/walletpass.js +94 -17
- package/lib/modules/Rules/index.d.ts +8 -3
- package/lib/modules/Rules/index.js +352 -187
- package/lib/modules/Rules/types.d.ts +1 -0
- package/lib/modules/Summary/types.d.ts +2 -0
- package/lib/modules/Summary/utils.d.ts +6 -0
- package/lib/modules/Summary/utils.js +15 -0
- package/lib/plugins/window.d.ts +2 -0
- package/lib/solution/BookingByStep/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +3 -1
- package/lib/solution/ShopDiscount/index.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.js +8 -2
- package/lib/solution/ShopDiscount/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -13,6 +13,12 @@ export declare const getBundleDiscountList: (bundle: any[]) => any[];
|
|
|
13
13
|
* @returns 商品总价字符串,保留2位小数
|
|
14
14
|
*/
|
|
15
15
|
export declare const calculateSubtotal: (items: CartItem[]) => string;
|
|
16
|
+
/**
|
|
17
|
+
* 计算商品小计(不含其他费用 不包含折扣卡商品券抵扣金额)
|
|
18
|
+
* @param items - 购物车商品数组
|
|
19
|
+
* @returns 商品总价字符串,保留2位小数
|
|
20
|
+
*/
|
|
21
|
+
export declare const calculateOriginSubtotal: (items: CartItem[]) => string;
|
|
16
22
|
/**
|
|
17
23
|
* @title: 单个商品的税费
|
|
18
24
|
* @description:
|
|
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
var utils_exports = {};
|
|
31
31
|
__export(utils_exports, {
|
|
32
32
|
calculateDeposit: () => calculateDeposit,
|
|
33
|
+
calculateOriginSubtotal: () => calculateOriginSubtotal,
|
|
33
34
|
calculatePriceDetails: () => calculatePriceDetails,
|
|
34
35
|
calculateSubtotal: () => calculateSubtotal,
|
|
35
36
|
calculateTaxFee: () => calculateTaxFee,
|
|
@@ -39,12 +40,15 @@ module.exports = __toCommonJS(utils_exports);
|
|
|
39
40
|
var import_decimal = __toESM(require("decimal.js"));
|
|
40
41
|
var calculatePriceDetails = (shopInfo, items) => {
|
|
41
42
|
const subtotal = new import_decimal.default(calculateSubtotal(items));
|
|
43
|
+
const subOriginTotal = new import_decimal.default(calculateOriginSubtotal(items));
|
|
42
44
|
const totalTaxFee = new import_decimal.default(calculateTaxFee(shopInfo, items));
|
|
43
45
|
const total = (shopInfo == null ? void 0 : shopInfo.is_price_include_tax) ? subtotal : subtotal.plus(totalTaxFee);
|
|
46
|
+
const originTotal = (shopInfo == null ? void 0 : shopInfo.is_price_include_tax) ? subOriginTotal : subOriginTotal.plus(totalTaxFee);
|
|
44
47
|
const deposit = calculateDeposit(items);
|
|
45
48
|
return {
|
|
46
49
|
subtotal: subtotal.toFixed(2),
|
|
47
50
|
total: total.toFixed(2),
|
|
51
|
+
originTotal: originTotal.toFixed(2),
|
|
48
52
|
taxTitle: shopInfo == null ? void 0 : shopInfo.tax_title,
|
|
49
53
|
totalTaxFee: totalTaxFee.toFixed(2),
|
|
50
54
|
isPriceIncludeTax: shopInfo == null ? void 0 : shopInfo.is_price_include_tax,
|
|
@@ -83,6 +87,16 @@ var calculateSubtotal = (items) => {
|
|
|
83
87
|
}, new import_decimal.default(0));
|
|
84
88
|
return subtotal.toFixed(2);
|
|
85
89
|
};
|
|
90
|
+
var calculateOriginSubtotal = (items) => {
|
|
91
|
+
if (!(items == null ? void 0 : items.length)) {
|
|
92
|
+
return "0.00";
|
|
93
|
+
}
|
|
94
|
+
const subtotal = items.reduce((sum, item) => {
|
|
95
|
+
const cartItemTotalPrice = new import_decimal.default(item.summaryOriginTotal || 0);
|
|
96
|
+
return sum.plus(cartItemTotalPrice);
|
|
97
|
+
}, new import_decimal.default(0));
|
|
98
|
+
return subtotal.toFixed(2);
|
|
99
|
+
};
|
|
86
100
|
var calculateTaxFee = (shopInfo, items) => {
|
|
87
101
|
if (!(items == null ? void 0 : items.length)) {
|
|
88
102
|
return "0.00";
|
|
@@ -124,6 +138,7 @@ var calculateDeposit = (items) => {
|
|
|
124
138
|
// Annotate the CommonJS export names for ESM import in node:
|
|
125
139
|
0 && (module.exports = {
|
|
126
140
|
calculateDeposit,
|
|
141
|
+
calculateOriginSubtotal,
|
|
127
142
|
calculatePriceDetails,
|
|
128
143
|
calculateSubtotal,
|
|
129
144
|
calculateTaxFee,
|
package/lib/plugins/window.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { WalletPassEvaluator } from '../model';
|
|
1
2
|
import { Plugin } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* WindowPlugin 接口定义
|
|
@@ -14,6 +15,7 @@ export interface WindowPlugin extends Plugin {
|
|
|
14
15
|
document: Partial<Document>;
|
|
15
16
|
history: History;
|
|
16
17
|
interaction?: any;
|
|
18
|
+
getWalletPassEvaluator?: () => WalletPassEvaluator;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* 简单的 Storage 接口实现
|
|
@@ -144,6 +144,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
144
144
|
getSummary(): Promise<{
|
|
145
145
|
subtotal: string | number;
|
|
146
146
|
total: string | number;
|
|
147
|
+
originTotal: string | number;
|
|
147
148
|
taxTitle?: string | undefined;
|
|
148
149
|
totalTaxFee?: string | number | undefined;
|
|
149
150
|
isPriceIncludeTax?: 0 | 1 | undefined;
|
|
@@ -224,6 +224,7 @@ var CheckoutImpl = class extends import_BaseModule.BaseModule {
|
|
|
224
224
|
product_id: item.product_id,
|
|
225
225
|
product_variant_id: item.product_variant_id,
|
|
226
226
|
quantity: item.num,
|
|
227
|
+
is_price_include_tax: item.is_price_include_tax,
|
|
227
228
|
// 商品是否含税:1;0
|
|
228
229
|
is_charge_tax: item.is_charge_tax ?? 0,
|
|
229
230
|
// 若商品不含税,计算得到的税费,单位(元)
|
|
@@ -248,6 +249,7 @@ var CheckoutImpl = class extends import_BaseModule.BaseModule {
|
|
|
248
249
|
},
|
|
249
250
|
product_bundle: item.product_bundle.map((bundle) => {
|
|
250
251
|
return {
|
|
252
|
+
is_price_include_tax: item.is_price_include_tax,
|
|
251
253
|
bundle_id: bundle.bundle_id,
|
|
252
254
|
bundle_product_id: bundle.bundle_product_id,
|
|
253
255
|
bundle_variant_id: bundle.bundle_variant_id,
|
|
@@ -620,7 +622,7 @@ var CheckoutImpl = class extends import_BaseModule.BaseModule {
|
|
|
620
622
|
}
|
|
621
623
|
const totalAmount = new import_decimal.default(amountInfo.totalAmount || "0");
|
|
622
624
|
const activePayments = (existingOrder.payment || []).filter(
|
|
623
|
-
(p) => p.status !== "voided"
|
|
625
|
+
(p) => p.status !== "voided" && (!p.voucher_id || p.voucher_id && p.isSynced)
|
|
624
626
|
);
|
|
625
627
|
const paidAmount = activePayments.reduce((sum, p) => {
|
|
626
628
|
const amt = new import_decimal.default(p.amount || "0");
|
|
@@ -21,6 +21,7 @@ export declare class ShopDiscountImpl extends BaseModule implements Module {
|
|
|
21
21
|
getCurrentBookingTime(): string | null;
|
|
22
22
|
private filterDiscountListByBookingTime;
|
|
23
23
|
setCustomer(customer: Customer): Promise<void>;
|
|
24
|
+
setOriginTotalAmount(amount: number): void;
|
|
24
25
|
setHolders(holders: {
|
|
25
26
|
form_record_id: number;
|
|
26
27
|
}[]): void;
|
|
@@ -55,7 +55,8 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
|
|
|
55
55
|
originalDiscountList: [],
|
|
56
56
|
currentBookingTime: "",
|
|
57
57
|
filteredDiscountList: [],
|
|
58
|
-
bookingSubject: void 0
|
|
58
|
+
bookingSubject: void 0,
|
|
59
|
+
orderTotalAmount: 0
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
62
|
// =========== 生命周期方法 ===========
|
|
@@ -193,6 +194,9 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
|
|
|
193
194
|
);
|
|
194
195
|
}
|
|
195
196
|
}
|
|
197
|
+
setOriginTotalAmount(amount) {
|
|
198
|
+
this.store.orderTotalAmount = amount;
|
|
199
|
+
}
|
|
196
200
|
// 设置holders
|
|
197
201
|
setHolders(holders) {
|
|
198
202
|
this.store.holders = holders;
|
|
@@ -212,6 +216,7 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
|
|
|
212
216
|
{
|
|
213
217
|
productList,
|
|
214
218
|
discountList: this.getDiscountList(),
|
|
219
|
+
orderTotalAmount: this.store.orderTotalAmount || 0,
|
|
215
220
|
holders: this.store.holders || [],
|
|
216
221
|
isFormSubject: ((_a = this.store.bookingSubject) == null ? void 0 : _a.type) === "form"
|
|
217
222
|
},
|
|
@@ -304,7 +309,8 @@ var ShopDiscountImpl = class extends import_BaseModule.BaseModule {
|
|
|
304
309
|
oldDiscountList: this.getDiscountList(),
|
|
305
310
|
newDiscountList: withScanList,
|
|
306
311
|
holders: this.store.holders || [],
|
|
307
|
-
isFormSubject: ((_b = this.store.bookingSubject) == null ? void 0 : _b.type) === "form"
|
|
312
|
+
isFormSubject: ((_b = this.store.bookingSubject) == null ? void 0 : _b.type) === "form",
|
|
313
|
+
orderTotalAmount: this.store.orderTotalAmount || 0
|
|
308
314
|
}) || {
|
|
309
315
|
isAvailable: false,
|
|
310
316
|
productList: this.store.productList || [],
|