@pisell/pisellos 2.3.49 → 2.3.50
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/modules/Discount/index.d.ts +1 -0
- package/dist/modules/Discount/index.js +40 -11
- package/dist/modules/Discount/types.d.ts +1 -0
- package/dist/modules/Holder/index.d.ts +48 -0
- package/dist/modules/Holder/index.js +640 -0
- package/dist/modules/Holder/types.d.ts +123 -0
- package/dist/modules/Holder/types.js +1 -0
- package/dist/modules/Holder/utils.d.ts +13 -0
- package/dist/modules/Holder/utils.js +34 -0
- package/dist/modules/OpenData/index.js +2 -2
- package/dist/modules/Order/index.d.ts +3 -1
- package/dist/modules/Order/index.js +54 -25
- package/dist/modules/Order/types.d.ts +9 -0
- package/dist/modules/Order/utils.d.ts +10 -0
- package/dist/modules/Order/utils.js +35 -3
- package/dist/modules/Payment/types.d.ts +0 -8
- package/dist/modules/Payment/walletpass.d.ts +1 -7
- package/dist/modules/Payment/walletpass.js +45 -155
- package/dist/modules/Product/types.d.ts +1 -0
- package/dist/modules/ProductList/index.js +33 -14
- package/dist/modules/Quotation/index.d.ts +1 -1
- package/dist/modules/Quotation/index.js +2 -2
- package/dist/modules/ResourcePlanner/index.d.ts +24 -0
- package/dist/modules/ResourcePlanner/index.js +181 -0
- package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
- package/dist/modules/ResourcePlanner/planner.js +1069 -0
- package/dist/modules/ResourcePlanner/types.d.ts +227 -0
- package/dist/modules/ResourcePlanner/types.js +1 -0
- package/dist/modules/Rules/index.js +47 -13
- package/dist/modules/SalesSummary/index.js +12 -13
- package/dist/modules/ScanOrderLogger/index.d.ts +2 -0
- package/dist/modules/ScanOrderLogger/index.js +15 -2
- package/dist/modules/ScanOrderLogger/providers/feishu.js +45 -27
- package/dist/modules/ScanOrderLogger/types.d.ts +1 -0
- package/dist/modules/Schedule/index.d.ts +3 -1
- package/dist/modules/Schedule/index.js +21 -16
- package/dist/modules/Summary/utils.js +38 -13
- package/dist/modules/index.d.ts +2 -0
- package/dist/modules/index.js +3 -1
- package/dist/plugins/window.d.ts +1 -0
- package/dist/server/index.d.ts +14 -0
- package/dist/server/index.js +907 -793
- package/dist/server/modules/index.d.ts +1 -1
- package/dist/server/modules/order/index.d.ts +0 -16
- package/dist/server/modules/order/index.js +776 -964
- package/dist/server/modules/order/types.d.ts +0 -14
- package/dist/server/modules/order/types.js +0 -6
- package/dist/solution/BaseSales/index.d.ts +8 -3
- package/dist/solution/BaseSales/index.js +64 -50
- package/dist/solution/BookingByStep/index.d.ts +17 -2
- package/dist/solution/BookingByStep/index.js +294 -215
- package/dist/solution/BookingByStep/types.d.ts +2 -1
- package/dist/solution/BookingByStep/types.js +3 -1
- package/dist/solution/BookingByStep/utils/capacity.js +17 -1
- package/dist/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +19 -12
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -2
- package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +10 -2
- package/dist/solution/ScanOrder/index.d.ts +26 -14
- package/dist/solution/ScanOrder/index.js +1142 -739
- package/dist/solution/ScanOrder/types.d.ts +21 -1
- package/dist/solution/ScanOrder/utils.d.ts +8 -0
- package/dist/solution/ScanOrder/utils.js +66 -25
- package/dist/solution/ShopDiscount/index.d.ts +1 -0
- package/dist/solution/ShopDiscount/index.js +125 -87
- package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/dist/solution/UnifiedBookingSales/index.js +1891 -0
- package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/dist/solution/UnifiedBookingSales/types.js +11 -0
- package/dist/solution/VenueBooking/index.d.ts +39 -11
- package/dist/solution/VenueBooking/index.js +1167 -841
- package/dist/solution/VenueBooking/types.d.ts +3 -0
- package/dist/solution/VenueBooking/utils/resource.js +1 -0
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/dist/solution/VenueBooking/utils/slotMerge.js +10 -5
- package/dist/solution/index.d.ts +1 -0
- package/dist/solution/index.js +2 -1
- package/dist/types/index.d.ts +1 -0
- package/lib/model/strategy/adapter/promotion/index.js +51 -0
- package/lib/modules/Discount/index.d.ts +1 -0
- package/lib/modules/Discount/index.js +9 -0
- package/lib/modules/Discount/types.d.ts +1 -0
- package/lib/modules/Holder/index.d.ts +48 -0
- package/lib/modules/Holder/index.js +402 -0
- package/lib/modules/Holder/types.d.ts +123 -0
- package/lib/modules/Holder/types.js +17 -0
- package/lib/modules/Holder/utils.d.ts +13 -0
- package/lib/modules/Holder/utils.js +71 -0
- package/lib/modules/OpenData/index.js +1 -1
- package/lib/modules/Order/index.d.ts +3 -1
- package/lib/modules/Order/index.js +26 -10
- package/lib/modules/Order/types.d.ts +9 -0
- package/lib/modules/Order/utils.d.ts +10 -0
- package/lib/modules/Order/utils.js +36 -5
- package/lib/modules/Payment/types.d.ts +0 -8
- package/lib/modules/Payment/walletpass.d.ts +1 -7
- package/lib/modules/Payment/walletpass.js +9 -107
- package/lib/modules/Product/types.d.ts +1 -0
- package/lib/modules/ProductList/index.js +40 -31
- package/lib/modules/Quotation/index.d.ts +1 -1
- package/lib/modules/Quotation/index.js +2 -2
- package/lib/modules/ResourcePlanner/index.d.ts +24 -0
- package/lib/modules/ResourcePlanner/index.js +148 -0
- package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
- package/lib/modules/ResourcePlanner/planner.js +933 -0
- package/lib/modules/ResourcePlanner/types.d.ts +227 -0
- package/lib/modules/ResourcePlanner/types.js +17 -0
- package/lib/modules/Rules/index.js +33 -16
- package/lib/modules/SalesSummary/index.js +6 -7
- package/lib/modules/ScanOrderLogger/index.d.ts +2 -0
- package/lib/modules/ScanOrderLogger/index.js +13 -1
- package/lib/modules/ScanOrderLogger/providers/feishu.js +15 -6
- package/lib/modules/ScanOrderLogger/types.d.ts +1 -0
- package/lib/modules/Schedule/index.d.ts +3 -1
- package/lib/modules/Schedule/index.js +10 -8
- package/lib/modules/Summary/utils.js +21 -1
- package/lib/modules/index.d.ts +2 -0
- package/lib/modules/index.js +5 -1
- package/lib/plugins/window.d.ts +1 -0
- package/lib/server/index.d.ts +14 -0
- package/lib/server/index.js +72 -15
- package/lib/server/modules/index.d.ts +1 -1
- package/lib/server/modules/order/index.d.ts +0 -16
- package/lib/server/modules/order/index.js +4 -140
- package/lib/server/modules/order/types.d.ts +0 -14
- package/lib/server/modules/order/types.js +0 -1
- package/lib/solution/BaseSales/index.d.ts +8 -3
- package/lib/solution/BaseSales/index.js +24 -14
- package/lib/solution/BookingByStep/index.d.ts +17 -2
- package/lib/solution/BookingByStep/index.js +60 -18
- package/lib/solution/BookingByStep/types.d.ts +2 -1
- package/lib/solution/BookingByStep/types.js +5 -0
- package/lib/solution/BookingByStep/utils/capacity.js +20 -1
- package/lib/solution/BookingByStep/utils/timeslots.d.ts +3 -1
- package/lib/solution/BookingByStep/utils/timeslots.js +19 -11
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +10 -2
- package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +2 -2
- package/lib/solution/ScanOrder/index.d.ts +26 -14
- package/lib/solution/ScanOrder/index.js +449 -182
- package/lib/solution/ScanOrder/types.d.ts +21 -1
- package/lib/solution/ScanOrder/utils.d.ts +8 -0
- package/lib/solution/ScanOrder/utils.js +31 -0
- package/lib/solution/ShopDiscount/index.d.ts +1 -0
- package/lib/solution/ShopDiscount/index.js +14 -0
- package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/lib/solution/UnifiedBookingSales/index.js +1084 -0
- package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/lib/solution/UnifiedBookingSales/types.js +33 -0
- package/lib/solution/VenueBooking/index.d.ts +39 -11
- package/lib/solution/VenueBooking/index.js +322 -110
- package/lib/solution/VenueBooking/types.d.ts +3 -0
- package/lib/solution/VenueBooking/utils/resource.js +1 -0
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +4 -4
- package/lib/solution/VenueBooking/utils/slotMerge.js +6 -4
- package/lib/solution/index.d.ts +1 -0
- package/lib/solution/index.js +3 -1
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { ProductData } from '../Product/types';
|
|
2
|
+
/**
|
|
3
|
+
* 商品 holder 配置
|
|
4
|
+
*/
|
|
5
|
+
export interface IHolderConfig {
|
|
6
|
+
required?: number;
|
|
7
|
+
resource_id: number;
|
|
8
|
+
status?: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 表单记录
|
|
13
|
+
*/
|
|
14
|
+
export interface IFormRecord {
|
|
15
|
+
form_id: number;
|
|
16
|
+
form_record_id: number;
|
|
17
|
+
main_field: string;
|
|
18
|
+
customer_cover?: string;
|
|
19
|
+
created_at?: string;
|
|
20
|
+
customer_id?: number;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 表单配置/定义
|
|
25
|
+
*/
|
|
26
|
+
export interface IFormInfo {
|
|
27
|
+
form_id: number;
|
|
28
|
+
name: string;
|
|
29
|
+
fields?: Record<string, any>[];
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 单个 form_id 下的数据结构
|
|
34
|
+
*/
|
|
35
|
+
export interface IFormItemData {
|
|
36
|
+
records: IFormRecord[];
|
|
37
|
+
form: IFormInfo | Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* form_id 为 key 的 map 结构,如 948: { records: [], form: {} }
|
|
41
|
+
*/
|
|
42
|
+
export type HolderFormMap = Record<string, IFormItemData>;
|
|
43
|
+
/**
|
|
44
|
+
* Holder 模块 reactive store,仅 holderMap 会触发 changed 事件
|
|
45
|
+
*/
|
|
46
|
+
export interface HolderState {
|
|
47
|
+
holderMap: HolderFormMap;
|
|
48
|
+
}
|
|
49
|
+
export interface IFetchFormInfoParams {
|
|
50
|
+
url?: string;
|
|
51
|
+
query: {
|
|
52
|
+
form_id: string | number;
|
|
53
|
+
};
|
|
54
|
+
useCache?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface IFetchFormRecordsParams {
|
|
57
|
+
url?: string;
|
|
58
|
+
query: {
|
|
59
|
+
customer_id?: number;
|
|
60
|
+
form_id: string | number;
|
|
61
|
+
shop_id: string | number;
|
|
62
|
+
num?: number;
|
|
63
|
+
skip?: number;
|
|
64
|
+
[key: string]: any;
|
|
65
|
+
};
|
|
66
|
+
useCache?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface IAddFormRecordParams {
|
|
69
|
+
url?: string;
|
|
70
|
+
body: {
|
|
71
|
+
form_id: number;
|
|
72
|
+
shop_id: number | string;
|
|
73
|
+
customer_id?: number;
|
|
74
|
+
[key: string]: any;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* UI 层自行调用添加接口后,将返回记录写入 holderMap
|
|
79
|
+
*/
|
|
80
|
+
export interface IAppendFormRecordParams {
|
|
81
|
+
/** 接口返回的 data,或完整响应 { data: {...} } */
|
|
82
|
+
record: IFormRecord | Record<string, any>;
|
|
83
|
+
/** 可选,未传则从 record.form_id 读取 */
|
|
84
|
+
form_id?: number | string;
|
|
85
|
+
}
|
|
86
|
+
export interface IEnsureFormDataParams {
|
|
87
|
+
form_id: number | string;
|
|
88
|
+
shop_id: number | string;
|
|
89
|
+
customer_id?: number;
|
|
90
|
+
useCache?: boolean;
|
|
91
|
+
forceRefresh?: boolean;
|
|
92
|
+
formInfoUrl?: string;
|
|
93
|
+
recordsUrl?: string;
|
|
94
|
+
skip?: number;
|
|
95
|
+
num?: number;
|
|
96
|
+
}
|
|
97
|
+
export interface IEnsureFormByProductParams {
|
|
98
|
+
product: ProductData | Record<string, any>;
|
|
99
|
+
customer_id?: number;
|
|
100
|
+
shop_id?: number | string;
|
|
101
|
+
useCache?: boolean;
|
|
102
|
+
}
|
|
103
|
+
export interface IRefreshAllFormRecordsParams {
|
|
104
|
+
customer_id?: number;
|
|
105
|
+
useCache?: boolean;
|
|
106
|
+
recordsUrl?: string;
|
|
107
|
+
num?: number;
|
|
108
|
+
skip?: number;
|
|
109
|
+
}
|
|
110
|
+
export interface HolderModuleAPI {
|
|
111
|
+
getHolderFormMap: () => HolderFormMap;
|
|
112
|
+
getHolderFormData: (formId: number | string) => IFormItemData | undefined;
|
|
113
|
+
setFormData: (formId: number | string, data: Partial<IFormItemData>) => void;
|
|
114
|
+
fetchFormInfo: (params: IFetchFormInfoParams) => Promise<IFormInfo | IFormInfo[]>;
|
|
115
|
+
fetchRecords: (params: IFetchFormRecordsParams) => Promise<IFormRecord[]>;
|
|
116
|
+
ensureFormData: (params: IEnsureFormDataParams) => Promise<IFormItemData>;
|
|
117
|
+
ensureFormByProduct: (params: IEnsureFormByProductParams) => Promise<IFormItemData | null>;
|
|
118
|
+
addFormRecord: (params: IAddFormRecordParams) => Promise<IFormRecord>;
|
|
119
|
+
appendFormRecord: (params: IAppendFormRecordParams) => IFormRecord;
|
|
120
|
+
removeFormRecord: (formId: number | string, formRecordId: number) => void;
|
|
121
|
+
clearFormData: (formId?: number | string) => void;
|
|
122
|
+
refreshAllFormRecords: (params?: IRefreshAllFormRecordsParams) => Promise<HolderFormMap>;
|
|
123
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ProductData } from '../Product/types';
|
|
2
|
+
import { IFormItemData, IHolderConfig } from './types';
|
|
3
|
+
export declare function getProductHolderConfig(product?: ProductData | Record<string, any> | null): IHolderConfig | null;
|
|
4
|
+
export declare function getFormIdFromHolderConfig(config: IHolderConfig): number;
|
|
5
|
+
export declare function normalizeFormId(formId: number | string): number;
|
|
6
|
+
export declare function createEmptyFormItemData(): {
|
|
7
|
+
records: any[];
|
|
8
|
+
form: Record<string, any>;
|
|
9
|
+
};
|
|
10
|
+
export declare function resolveFormMetaFromHolderItem(mapKey: string, item: IFormItemData): {
|
|
11
|
+
form_id: string | number;
|
|
12
|
+
shop_id: number | string;
|
|
13
|
+
} | null;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export function getProductHolderConfig(product) {
|
|
2
|
+
var _product$holder_confi, _product$origin;
|
|
3
|
+
if (!product) return null;
|
|
4
|
+
var config = (_product$holder_confi = product === null || product === void 0 ? void 0 : product.holder_config) !== null && _product$holder_confi !== void 0 ? _product$holder_confi : product === null || product === void 0 || (_product$origin = product.origin) === null || _product$origin === void 0 ? void 0 : _product$origin.holder_config;
|
|
5
|
+
if (config !== null && config !== void 0 && config.status && (config === null || config === void 0 ? void 0 : config.status) !== 'enable') return null;
|
|
6
|
+
if (!(config !== null && config !== void 0 && config.resource_id)) return null;
|
|
7
|
+
return config;
|
|
8
|
+
}
|
|
9
|
+
export function getFormIdFromHolderConfig(config) {
|
|
10
|
+
return Number(config === null || config === void 0 ? void 0 : config.resource_id);
|
|
11
|
+
}
|
|
12
|
+
export function normalizeFormId(formId) {
|
|
13
|
+
return Number(formId);
|
|
14
|
+
}
|
|
15
|
+
export function createEmptyFormItemData() {
|
|
16
|
+
return {
|
|
17
|
+
records: [],
|
|
18
|
+
form: {}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function resolveFormMetaFromHolderItem(mapKey, item) {
|
|
22
|
+
var _ref, _ref2, _nestedForm$id, _nestedForm$shop_id;
|
|
23
|
+
var formInfo = item.form || {};
|
|
24
|
+
var nestedForm = formInfo.form || {};
|
|
25
|
+
var form_id = normalizeFormId((_ref = (_ref2 = (_nestedForm$id = nestedForm.id) !== null && _nestedForm$id !== void 0 ? _nestedForm$id : formInfo.form_id) !== null && _ref2 !== void 0 ? _ref2 : formInfo.id) !== null && _ref !== void 0 ? _ref : mapKey);
|
|
26
|
+
var shop_id = (_nestedForm$shop_id = nestedForm.shop_id) !== null && _nestedForm$shop_id !== void 0 ? _nestedForm$shop_id : formInfo.shop_id;
|
|
27
|
+
if (shop_id === undefined || shop_id === null || shop_id === '') {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
form_id: form_id,
|
|
32
|
+
shop_id: shop_id
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -105,12 +105,12 @@ export var OpenDataModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
105
105
|
key: "fetchOpenData",
|
|
106
106
|
value: function () {
|
|
107
107
|
var _fetchOpenData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
108
|
-
var _this$appPlugin
|
|
108
|
+
var _this$appPlugin, _this$appPlugin$getDa;
|
|
109
109
|
var getData, shopId, tenantId, headers, response, data;
|
|
110
110
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
111
111
|
while (1) switch (_context2.prev = _context2.next) {
|
|
112
112
|
case 0:
|
|
113
|
-
getData = (_this$appPlugin
|
|
113
|
+
getData = (_this$appPlugin = this.appPlugin) === null || _this$appPlugin === void 0 || (_this$appPlugin$getDa = _this$appPlugin.getData) === null || _this$appPlugin$getDa === void 0 ? void 0 : _this$appPlugin$getDa.call(_this$appPlugin);
|
|
114
114
|
shopId = getData === null || getData === void 0 ? void 0 : getData('shop_id');
|
|
115
115
|
if (shopId) {
|
|
116
116
|
_context2.next = 4;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Module, PisellCore, ModuleOptions } from '../../types';
|
|
2
2
|
import { BaseModule } from '../BaseModule';
|
|
3
|
-
import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams,
|
|
3
|
+
import { OrderModuleAPI, CommitOrderParams, UpdateOrderBookingParams, UpdateOrderProductParams, UpdateOrderProductQuantityParams, CancelOrderParams, ChangeBookingStatusParams, CheckoutOrderParams } from './types';
|
|
4
4
|
import { CartItem } from '../Cart/types';
|
|
5
5
|
import { type SubmitPayloadEnhancer } from './utils';
|
|
6
6
|
import type { OrderAmountSnapshot, AddProductBookingInput, OrderIdentitySnapshot, OrderPaymentSource, OrderSnapshot, OrderSyncState, SyncPaymentsToOrderParams, SyncPaymentsToOrderResult, SubmitSalesOrderParams, OrderProduct, OrderProductIdentity, OrderSummary, OrderTempOrder, OrderPaymentData, OrderPaymentUpdateOptions, OrderPaymentUpdateResult, SendCustomerPayLinkParams, UpdateTempOrderCustomerInput, OrderCustomerPatch, OrderCustomerView, ReplaceTempOrderOptions, OrderPromotionEvaluator, OrderGiftSelectResolver, OrderUnfulfilledPromotion, OrderLastGiftActions } from './types';
|
|
@@ -147,6 +147,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
147
147
|
isTempOrderPersistEnabled(): boolean;
|
|
148
148
|
/** @deprecated OrderModule 不再负责 tempOrder localStorage 持久化;草稿保存请使用 IndexedDB saveDraft。 */
|
|
149
149
|
persistTempOrder(): void;
|
|
150
|
+
notifyTempOrderChanged(): void;
|
|
150
151
|
private createDefaultTempOrderInstance;
|
|
151
152
|
private createExternalSaleNumber;
|
|
152
153
|
private ensureExternalSaleNumber;
|
|
@@ -496,6 +497,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
|
|
|
496
497
|
is_deposit: number;
|
|
497
498
|
relation_products: any[];
|
|
498
499
|
relation_forms: any[];
|
|
500
|
+
business_code: string | undefined;
|
|
499
501
|
};
|
|
500
502
|
checkBeforeSubmitOrder(params: {
|
|
501
503
|
cartItems: CartItem[];
|
|
@@ -32,7 +32,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
32
32
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
33
33
|
import { BaseModule } from "../BaseModule";
|
|
34
34
|
import { OrderHooks } from "./types";
|
|
35
|
-
import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
|
|
35
|
+
import { composeLinePrice, generateDuration, getAllDiscountList, mergeRelationForms, ensureCartItemOriginHolder, buildSubmitPayload, createDefaultTempOrder, createDefaultOrderRulesHooks, createEmptySummary, createUuidV4, formatDateTime, isTempOrder, normalizeBookingIsAll, normalizeBookingSubType, mapPaymentItemsToOrderPayments, normalizeOrderProductDiscountList, resolveEffectivePerUnitDiscount, ensureProductSku, getProductSkuOptions, normalizeProductSkuOptions, sumOptionUnitPrice, clearTempOrderHolderAssignments, getOrderProductLineUid, indexOrderProductsByUid, calculateOrderProductsDeposit, mergeOrderProductDisplayFields, resolveIsFormSubject } from "./utils";
|
|
36
36
|
import { isNormalProduct } from "../Product/utils";
|
|
37
37
|
import dayjs from 'dayjs';
|
|
38
38
|
import { ensureOrderPaymentNumber, mergeOrderPaymentRecord, resolveOrderPaymentIdentity } from "./payment-utils";
|
|
@@ -309,8 +309,8 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
309
309
|
key: "initialize",
|
|
310
310
|
value: function () {
|
|
311
311
|
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
312
|
-
var _otherParams$rules, _otherParams$order, _otherParams$hooks;
|
|
313
|
-
var app, otherParams;
|
|
312
|
+
var _appPlugin$getApp, _otherParams$rules, _otherParams$order, _otherParams$hooks;
|
|
313
|
+
var appPlugin, app, otherParams;
|
|
314
314
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
315
315
|
while (1) switch (_context.prev = _context.next) {
|
|
316
316
|
case 0:
|
|
@@ -326,15 +326,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
326
326
|
this.store.availableWalletIds = [];
|
|
327
327
|
}
|
|
328
328
|
this.request = this.core.getPlugin('request');
|
|
329
|
-
|
|
330
|
-
if (
|
|
331
|
-
|
|
332
|
-
break;
|
|
329
|
+
appPlugin = this.core.getPlugin('app');
|
|
330
|
+
if (!appPlugin) {
|
|
331
|
+
console.error('Order 模块需要 app 插件支持');
|
|
333
332
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
app = this.appPlugin.getApp();
|
|
337
|
-
this.logger = app.logger;
|
|
333
|
+
app = appPlugin === null || appPlugin === void 0 || (_appPlugin$getApp = appPlugin.getApp) === null || _appPlugin$getApp === void 0 ? void 0 : _appPlugin$getApp.call(appPlugin);
|
|
334
|
+
this.logger = app === null || app === void 0 ? void 0 : app.logger;
|
|
338
335
|
this.window = this.core.getPlugin('window');
|
|
339
336
|
otherParams = options.otherParams || {};
|
|
340
337
|
this.cacheId = otherParams.cacheId;
|
|
@@ -345,7 +342,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
345
342
|
this.otherParams = otherParams;
|
|
346
343
|
this.registerDiscountModules(options);
|
|
347
344
|
this.logInfo('OrderModule initialized successfully');
|
|
348
|
-
case
|
|
345
|
+
case 20:
|
|
349
346
|
case "end":
|
|
350
347
|
return _context.stop();
|
|
351
348
|
}
|
|
@@ -1276,6 +1273,16 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
1276
1273
|
value: function persistTempOrder() {
|
|
1277
1274
|
// no-op: OrderModule 的刷新恢复不再依赖 localStorage。
|
|
1278
1275
|
}
|
|
1276
|
+
}, {
|
|
1277
|
+
key: "notifyTempOrderChanged",
|
|
1278
|
+
value: function notifyTempOrderChanged() {
|
|
1279
|
+
if (!this.store.tempOrder) return;
|
|
1280
|
+
this.store.tempOrder = _objectSpread(_objectSpread({}, this.store.tempOrder), {}, {
|
|
1281
|
+
products: _toConsumableArray(this.store.tempOrder.products),
|
|
1282
|
+
bookings: this.store.tempOrder.bookings ? _toConsumableArray(this.store.tempOrder.bookings) : []
|
|
1283
|
+
});
|
|
1284
|
+
this.persistTempOrder();
|
|
1285
|
+
}
|
|
1279
1286
|
|
|
1280
1287
|
// ─── TempOrder: 创建 & 获取 ───
|
|
1281
1288
|
}, {
|
|
@@ -5280,7 +5287,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5280
5287
|
var _syncPaymentsToOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(params) {
|
|
5281
5288
|
var _this31 = this,
|
|
5282
5289
|
_params$confirmPendin;
|
|
5283
|
-
var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitResult;
|
|
5290
|
+
var tempOrder, needsPaymentNumber, devicePrefix, mappedPayments, shouldConfirmPendingVoucherPayments, effectivePayments, completion, orderPaidPaymentTotal, paymentStatus, paymentSyncIdempotencyToken, submitParams, submitResult;
|
|
5284
5291
|
return _regeneratorRuntime().wrap(function _callee36$(_context39) {
|
|
5285
5292
|
while (1) switch (_context39.prev = _context39.next) {
|
|
5286
5293
|
case 0:
|
|
@@ -5333,8 +5340,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5333
5340
|
case 25:
|
|
5334
5341
|
this.store.syncState = 'submitting';
|
|
5335
5342
|
paymentSyncIdempotencyToken = this.buildPaymentSyncIdempotencyToken(tempOrder, effectivePayments);
|
|
5336
|
-
|
|
5337
|
-
return this.submitTempOrder({
|
|
5343
|
+
submitParams = {
|
|
5338
5344
|
payments: effectivePayments,
|
|
5339
5345
|
paymentStatus: paymentStatus,
|
|
5340
5346
|
smallTicketDataFlag: params.smallTicketDataFlag,
|
|
@@ -5347,13 +5353,28 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5347
5353
|
});
|
|
5348
5354
|
return nextPayload;
|
|
5349
5355
|
}
|
|
5350
|
-
}
|
|
5351
|
-
|
|
5352
|
-
|
|
5356
|
+
};
|
|
5357
|
+
if (!(params.checkoutSyncTaskEnabled === false)) {
|
|
5358
|
+
_context39.next = 34;
|
|
5359
|
+
break;
|
|
5360
|
+
}
|
|
5361
|
+
_context39.next = 31;
|
|
5362
|
+
return this.submitTempOrderAsync(submitParams);
|
|
5363
|
+
case 31:
|
|
5364
|
+
_context39.t1 = _context39.sent;
|
|
5365
|
+
_context39.next = 37;
|
|
5366
|
+
break;
|
|
5367
|
+
case 34:
|
|
5368
|
+
_context39.next = 36;
|
|
5369
|
+
return this.submitTempOrder(submitParams);
|
|
5370
|
+
case 36:
|
|
5371
|
+
_context39.t1 = _context39.sent;
|
|
5372
|
+
case 37:
|
|
5373
|
+
submitResult = _context39.t1;
|
|
5353
5374
|
return _context39.abrupt("return", _objectSpread(_objectSpread({}, completion), {}, {
|
|
5354
5375
|
submitResult: submitResult
|
|
5355
5376
|
}));
|
|
5356
|
-
case
|
|
5377
|
+
case 39:
|
|
5357
5378
|
case "end":
|
|
5358
5379
|
return _context39.stop();
|
|
5359
5380
|
}
|
|
@@ -5367,6 +5388,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5367
5388
|
}, {
|
|
5368
5389
|
key: "createOrder",
|
|
5369
5390
|
value: function createOrder(params) {
|
|
5391
|
+
var _this32 = this;
|
|
5370
5392
|
var order = _objectSpread({
|
|
5371
5393
|
type: (params === null || params === void 0 ? void 0 : params.type) || 'appointment_booking',
|
|
5372
5394
|
// 要从外面拿,virtual
|
|
@@ -5378,11 +5400,13 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5378
5400
|
schedule_date: '',
|
|
5379
5401
|
is_deposit: 0,
|
|
5380
5402
|
relation_products: [],
|
|
5381
|
-
relation_forms: []
|
|
5403
|
+
relation_forms: [],
|
|
5404
|
+
business_code: params === null || params === void 0 ? void 0 : params.business_code
|
|
5382
5405
|
}, (params === null || params === void 0 ? void 0 : params.extraData) || {});
|
|
5383
5406
|
var is_deposit = 0; // 是否存在定金,0 不存在,1 存在
|
|
5384
5407
|
if (params.cartItems.length > 0) {
|
|
5385
5408
|
params.cartItems.forEach(function (item) {
|
|
5409
|
+
var _params$extraData;
|
|
5386
5410
|
if (!item._origin.duration) {
|
|
5387
5411
|
var _generateDuration = generateDuration(item),
|
|
5388
5412
|
duration = _generateDuration.duration,
|
|
@@ -5394,6 +5418,11 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
5394
5418
|
var discountList = getAllDiscountList(item);
|
|
5395
5419
|
item._origin.product.discount_list = discountList;
|
|
5396
5420
|
|
|
5421
|
+
// 为预约补齐 holder 信息
|
|
5422
|
+
if (params !== null && params !== void 0 && (_params$extraData = params.extraData) !== null && _params$extraData !== void 0 && _params$extraData.is_add_holder_info) {
|
|
5423
|
+
ensureCartItemOriginHolder(item, _this32.window);
|
|
5424
|
+
}
|
|
5425
|
+
|
|
5397
5426
|
// 购物车是否为普通商品
|
|
5398
5427
|
if (isNormalProduct(item._origin)) {
|
|
5399
5428
|
var _order$relation_forms;
|
|
@@ -6051,7 +6080,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6051
6080
|
}, {
|
|
6052
6081
|
key: "normalizeTempOrderForRuntime",
|
|
6053
6082
|
value: function normalizeTempOrderForRuntime(raw, options) {
|
|
6054
|
-
var
|
|
6083
|
+
var _this33 = this;
|
|
6055
6084
|
var runtimeRaw = this.withoutSyntheticDraftOrderIdForRuntime(raw);
|
|
6056
6085
|
var nextTempOrder = _objectSpread(_objectSpread({}, this.createDefaultTempOrderInstance()), runtimeRaw || {});
|
|
6057
6086
|
// ES 列表详情使用 id 表示订单主键;OS 详情态统一依赖 order_id 驱动操作按钮。
|
|
@@ -6075,12 +6104,12 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6075
6104
|
nextTempOrder.holder = raw.holder && _typeof(raw.holder) === 'object' ? _objectSpread({}, raw.holder) : null;
|
|
6076
6105
|
var rawProducts = Array.isArray(raw.products) ? raw.products : [];
|
|
6077
6106
|
nextTempOrder.products = rawProducts.length > 0 ? rawProducts.map(function (p) {
|
|
6078
|
-
return
|
|
6107
|
+
return _this33.normalizeHydratedOrderProduct(p, {
|
|
6079
6108
|
makeEditMark: options === null || options === void 0 ? void 0 : options.makeEditMark
|
|
6080
6109
|
});
|
|
6081
6110
|
}) : [];
|
|
6082
6111
|
nextTempOrder.bookings = Array.isArray(raw.bookings) ? raw.bookings.map(function (b) {
|
|
6083
|
-
var booking =
|
|
6112
|
+
var booking = _this33.normalizeHydratedBookingHolder(b || {});
|
|
6084
6113
|
return _objectSpread(_objectSpread({}, booking), {}, {
|
|
6085
6114
|
is_all: normalizeBookingIsAll(booking),
|
|
6086
6115
|
sub_type: normalizeBookingSubType(booking)
|
|
@@ -6267,7 +6296,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6267
6296
|
}, {
|
|
6268
6297
|
key: "normalizeHydratedOrderProduct",
|
|
6269
6298
|
value: function normalizeHydratedOrderProduct(product, options) {
|
|
6270
|
-
var
|
|
6299
|
+
var _this34 = this;
|
|
6271
6300
|
var row = _objectSpread({}, product || {});
|
|
6272
6301
|
if (row.num === undefined && row.product_quantity !== undefined) {
|
|
6273
6302
|
row.num = row.product_quantity;
|
|
@@ -6275,7 +6304,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
6275
6304
|
var productSku = ensureProductSku(row);
|
|
6276
6305
|
row.product_sku = _objectSpread(_objectSpread({}, productSku), {}, {
|
|
6277
6306
|
option: normalizeProductSkuOptions(productSku.option.map(function (optionItem) {
|
|
6278
|
-
return
|
|
6307
|
+
return _this34.normalizeHydratedProductOptionItem(optionItem || {});
|
|
6279
6308
|
}))
|
|
6280
6309
|
});
|
|
6281
6310
|
delete row["product_".concat('option', "_item")];
|
|
@@ -396,6 +396,7 @@ export interface CommitOrderParams {
|
|
|
396
396
|
type: 'virtual' | 'appointment_booking';
|
|
397
397
|
platform?: string;
|
|
398
398
|
extraData?: Record<string, any>;
|
|
399
|
+
business_code?: string;
|
|
399
400
|
};
|
|
400
401
|
}
|
|
401
402
|
export interface OrderSubmitBooking {
|
|
@@ -571,6 +572,12 @@ export interface SyncPaymentsToOrderParams {
|
|
|
571
572
|
payments: OrderPaymentSource[];
|
|
572
573
|
paymentStatus?: SubmitSalesOrderParams['query']['payment_status'];
|
|
573
574
|
submitWhenPaid?: boolean;
|
|
575
|
+
/**
|
|
576
|
+
* Whether the checkout should be queued as the local `sync_sales` task.
|
|
577
|
+
* Defaults to true to preserve the WebPOS retry path. Set to false when
|
|
578
|
+
* the caller must wait for the cloud checkout response before proceeding.
|
|
579
|
+
*/
|
|
580
|
+
checkoutSyncTaskEnabled?: boolean;
|
|
574
581
|
smallTicketDataFlag?: number;
|
|
575
582
|
businessCode?: string;
|
|
576
583
|
channel?: string;
|
|
@@ -733,6 +740,8 @@ export interface OrderModuleAPI {
|
|
|
733
740
|
setEnableTempOrderPersist: (enabled: boolean) => void;
|
|
734
741
|
/** 是否允许 saveDraft 写入 IndexedDB 草稿。 */
|
|
735
742
|
isTempOrderPersistEnabled: () => boolean;
|
|
743
|
+
/** 提交 tempOrder 变更并触发 `{moduleName}:changed` 事件 */
|
|
744
|
+
notifyTempOrderChanged: () => void;
|
|
736
745
|
submitTempOrder: <T = any>(params?: {
|
|
737
746
|
cacheId?: string;
|
|
738
747
|
platform?: string;
|
|
@@ -15,6 +15,7 @@ export interface OrderProductsDepositSummary {
|
|
|
15
15
|
deposit_policy_ids: number[];
|
|
16
16
|
hasDeposit: boolean;
|
|
17
17
|
}
|
|
18
|
+
import type { WindowPlugin } from '../../plugins';
|
|
18
19
|
/**
|
|
19
20
|
* 把"含 option 的主商品单价"与 bundle 合成"单行 composite 单价"。
|
|
20
21
|
*
|
|
@@ -177,6 +178,15 @@ export declare const mergeRelationForms: (relationForms: {
|
|
|
177
178
|
form_id: number;
|
|
178
179
|
form_record_ids: number[];
|
|
179
180
|
}[];
|
|
181
|
+
export interface CartOrderHolder {
|
|
182
|
+
customer_id?: number;
|
|
183
|
+
form_id: number | string;
|
|
184
|
+
form_record: (number | string)[] | null;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* 为购物车行补齐订单所需的 holder 信息(与 cartAccount 结构保持一致)
|
|
188
|
+
*/
|
|
189
|
+
export declare function ensureCartItemOriginHolder(cartItem: CartItem, window?: WindowPlugin): void;
|
|
180
190
|
export declare const getAllDiscountList: (cartItem: CartItem) => any;
|
|
181
191
|
export { createUuidV4 };
|
|
182
192
|
export declare function isTempOrder(data: any): data is OrderTempOrder;
|
|
@@ -20,6 +20,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
20
20
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
21
21
|
import dayjs from "dayjs";
|
|
22
22
|
import Decimal from 'decimal.js';
|
|
23
|
+
import { getProductHolderConfig } from "../Holder/utils";
|
|
23
24
|
import { buildProductLineFingerprint, createEmptySummary } from "../../solution/ScanOrder/utils";
|
|
24
25
|
import { createUuidV4 } from "./utils/orderCollectionIdentity";
|
|
25
26
|
/**
|
|
@@ -744,10 +745,41 @@ export var mergeRelationForms = function mergeRelationForms(relationForms) {
|
|
|
744
745
|
return item.form_record_ids.length > 0;
|
|
745
746
|
}); // 过滤掉没有有效记录的表单
|
|
746
747
|
};
|
|
748
|
+
function getCustomerIdFromStorage(window) {
|
|
749
|
+
try {
|
|
750
|
+
var _window$getLocalStora;
|
|
751
|
+
var customer = JSON.parse((window === null || window === void 0 || (_window$getLocalStora = window.getLocalStorage) === null || _window$getLocalStora === void 0 ? void 0 : _window$getLocalStora.call(window, 'customer')) || '{}');
|
|
752
|
+
var customerId = Number(customer === null || customer === void 0 ? void 0 : customer.id);
|
|
753
|
+
return Number.isFinite(customerId) && customerId > 0 ? customerId : undefined;
|
|
754
|
+
} catch (_unused) {
|
|
755
|
+
return undefined;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* 为购物车行补齐订单所需的 holder 信息(与 cartAccount 结构保持一致)
|
|
761
|
+
*/
|
|
762
|
+
export function ensureCartItemOriginHolder(cartItem, window) {
|
|
763
|
+
var _cartItem$_origin, _cartItem$_productIni;
|
|
764
|
+
if (cartItem !== null && cartItem !== void 0 && (_cartItem$_origin = cartItem._origin) !== null && _cartItem$_origin !== void 0 && _cartItem$_origin.holder) {
|
|
765
|
+
return;
|
|
766
|
+
}
|
|
767
|
+
var holderConfig = getProductHolderConfig((_cartItem$_productIni = cartItem === null || cartItem === void 0 ? void 0 : cartItem._productInit) !== null && _cartItem$_productIni !== void 0 ? _cartItem$_productIni : cartItem === null || cartItem === void 0 ? void 0 : cartItem._productOrigin);
|
|
768
|
+
var formRecordId = cartItem === null || cartItem === void 0 ? void 0 : cartItem.holder_id;
|
|
769
|
+
if (!(holderConfig !== null && holderConfig !== void 0 && holderConfig.resource_id) || formRecordId == null) {
|
|
770
|
+
return;
|
|
771
|
+
}
|
|
772
|
+
cartItem._origin.holder = {
|
|
773
|
+
customer_id: getCustomerIdFromStorage(window),
|
|
774
|
+
form_id: holderConfig.resource_id,
|
|
775
|
+
form_record: [formRecordId]
|
|
776
|
+
};
|
|
777
|
+
}
|
|
778
|
+
;
|
|
747
779
|
export var getAllDiscountList = function getAllDiscountList(cartItem) {
|
|
748
|
-
var _cartItem$
|
|
749
|
-
var discountList = (cartItem === null || cartItem === void 0 || (_cartItem$
|
|
750
|
-
((cartItem === null || cartItem === void 0 || (_cartItem$
|
|
780
|
+
var _cartItem$_origin2, _cartItem$_origin3;
|
|
781
|
+
var discountList = (cartItem === null || cartItem === void 0 || (_cartItem$_origin2 = cartItem._origin) === null || _cartItem$_origin2 === void 0 || (_cartItem$_origin2 = _cartItem$_origin2.product) === null || _cartItem$_origin2 === void 0 ? void 0 : _cartItem$_origin2.discount_list) || [];
|
|
782
|
+
((cartItem === null || cartItem === void 0 || (_cartItem$_origin3 = cartItem._origin) === null || _cartItem$_origin3 === void 0 || (_cartItem$_origin3 = _cartItem$_origin3.product) === null || _cartItem$_origin3 === void 0 ? void 0 : _cartItem$_origin3.product_bundle) || []).forEach(function (item) {
|
|
751
783
|
discountList = [].concat(_toConsumableArray(discountList), _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []));
|
|
752
784
|
item.discount_list = undefined;
|
|
753
785
|
});
|
|
@@ -397,18 +397,12 @@ export interface WalletAssetsState {
|
|
|
397
397
|
export interface WalletAssetsSnapshot {
|
|
398
398
|
state: WalletAssetsState;
|
|
399
399
|
searchResults: SearchIdentificationCodeItem[];
|
|
400
|
-
/** 已搜索但尚未满足订单条件、等待首次可用后自动选中的 Wallet Asset code。 */
|
|
401
|
-
pendingAutoSelectSearchCodes?: string[];
|
|
402
400
|
walletParams: WalletDeductionRecommendParams | null;
|
|
403
401
|
calculationContext: {
|
|
404
402
|
orderTotalAmount: number;
|
|
405
403
|
products: any[];
|
|
406
404
|
};
|
|
407
405
|
}
|
|
408
|
-
export interface WalletAssetsBehaviorOptions {
|
|
409
|
-
/** 搜索到 Wallet Asset 后,当前或后续首次可用时是否自动选中。 */
|
|
410
|
-
autoSelectAfterSearch?: boolean;
|
|
411
|
-
}
|
|
412
406
|
export interface RefreshWalletAssetsOptions {
|
|
413
407
|
/** 商品/金额变化默认保留并重验选择;客户变化由实现层强制清空。 */
|
|
414
408
|
preserveSelection?: boolean;
|
|
@@ -478,8 +472,6 @@ export interface WalletPassPayment {
|
|
|
478
472
|
refreshWalletAssetsFromBusinessAsync: (businessData: WalletInitBusinessData, options?: RefreshWalletAssetsOptions) => Promise<WalletAssetsState>;
|
|
479
473
|
/** 获取共享钱包资产状态快照。 */
|
|
480
474
|
getWalletAssetsState: () => WalletAssetsState;
|
|
481
|
-
/** 配置仅影响 Wallet Assets 的交互行为。 */
|
|
482
|
-
configureWalletAssetsBehavior: (options: WalletAssetsBehaviorOptions) => void;
|
|
483
475
|
/** 导出供 Shared Checkout 跨运行时传递的 Wallet Assets 快照。 */
|
|
484
476
|
exportWalletAssetsSnapshot: () => WalletAssetsSnapshot;
|
|
485
477
|
/** 恢复 Shared Checkout 传回的 Wallet Assets 快照。 */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WalletPassPayment, WalletDeductionRecommendParams, WalletRecommendItem, UserIdentificationCodeParams, UserIdentificationCodeItem, SearchIdentificationCodeParams, SearchIdentificationCodeItem, SearchIdentificationCodeResult, WalletInitBusinessData, WalletAssetId,
|
|
1
|
+
import { WalletPassPayment, WalletDeductionRecommendParams, WalletRecommendItem, UserIdentificationCodeParams, UserIdentificationCodeItem, SearchIdentificationCodeParams, SearchIdentificationCodeItem, SearchIdentificationCodeResult, WalletInitBusinessData, WalletAssetId, WalletAssetsSnapshot, WalletAssetsState, RefreshWalletAssetsOptions, SelectWalletAssetOptions, ScanWalletAssetResult } from './types';
|
|
2
2
|
import type { PaymentModule } from './index';
|
|
3
3
|
/**
|
|
4
4
|
* 钱包支付实现
|
|
@@ -12,11 +12,8 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
|
|
|
12
12
|
private walletInitData;
|
|
13
13
|
private walletAssetsState;
|
|
14
14
|
private walletAssetsRequestSequence;
|
|
15
|
-
private walletAssetsBehavior;
|
|
16
|
-
private pendingAutoSelectSearchCodes;
|
|
17
15
|
private walletAssetsCalculationContext;
|
|
18
16
|
constructor(paymentModule: PaymentModule);
|
|
19
|
-
configureWalletAssetsBehavior(options: WalletAssetsBehaviorOptions): void;
|
|
20
17
|
/**
|
|
21
18
|
* 发送事件的辅助方法
|
|
22
19
|
* 支持使用WalletPassHooks或PaymentHooks
|
|
@@ -31,9 +28,6 @@ export declare class WalletPassPaymentImpl implements WalletPassPayment {
|
|
|
31
28
|
* 接口暂时缺失某个扫码 code 时继续保留旧值,避免列表闪空。
|
|
32
29
|
*/
|
|
33
30
|
private syncSearchedWalletAssets;
|
|
34
|
-
private isPendingAutoSelectAsset;
|
|
35
|
-
private clearPendingAutoSelectForAsset;
|
|
36
|
-
private queuePendingAutoSelectForAssets;
|
|
37
31
|
/**
|
|
38
32
|
* 生成钱包API默认参数
|
|
39
33
|
* 根据业务数据生成标准的钱包API参数,并存储在模块中
|