@pisell/pisellos 3.0.75 → 3.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index.js +2 -1
- package/dist/effects/index.d.ts +5 -3
- package/dist/effects/index.js +40 -8
- package/dist/modules/Account/index.js +2 -3
- package/dist/modules/AccountList/index.d.ts +7 -1
- package/dist/modules/AccountList/index.js +81 -14
- package/dist/modules/AccountList/types.d.ts +28 -0
- package/dist/modules/AccountList/types.js +8 -0
- package/dist/modules/BaseModule.d.ts +3 -0
- package/dist/modules/BaseModule.js +15 -0
- package/dist/modules/Cart/index.d.ts +1 -0
- package/dist/modules/Cart/index.js +2 -1
- package/dist/modules/Cart/utils/cartProduct.js +21 -4
- package/dist/modules/Customer/constants.d.ts +7 -0
- package/dist/modules/Customer/constants.js +12 -0
- package/dist/modules/Customer/index.d.ts +122 -0
- package/dist/modules/Customer/index.js +696 -0
- package/dist/modules/Customer/types.d.ts +146 -0
- package/dist/modules/Customer/types.js +41 -0
- package/dist/modules/Discount/index.d.ts +1 -0
- package/dist/modules/Discount/index.js +3 -3
- package/dist/modules/Discount/types.d.ts +9 -0
- package/dist/modules/Guests/index.js +9 -9
- package/dist/modules/Order/index.d.ts +25 -1
- package/dist/modules/Order/index.js +224 -3
- package/dist/modules/Order/types.d.ts +45 -0
- package/dist/modules/Order/types.js +8 -0
- package/dist/modules/Order/utils.js +1 -1
- package/dist/modules/Payment/cash.d.ts +19 -0
- package/dist/modules/Payment/cash.js +97 -0
- package/dist/modules/Payment/cashRecommendationAlgorithm.d.ts +22 -0
- package/dist/modules/Payment/cashRecommendationAlgorithm.js +423 -0
- package/dist/modules/Payment/eftpos.d.ts +11 -0
- package/dist/modules/Payment/eftpos.js +80 -0
- package/dist/modules/Payment/index.d.ts +184 -9
- package/dist/modules/Payment/index.js +2084 -109
- package/dist/modules/Payment/mx51.d.ts +0 -0
- package/dist/modules/Payment/mx51.js +0 -0
- package/dist/modules/Payment/types.d.ts +772 -30
- package/dist/modules/Payment/types.js +236 -12
- package/dist/modules/Payment/utils.d.ts +17 -0
- package/dist/modules/Payment/utils.js +62 -0
- package/dist/modules/Payment/walletpass.d.ts +99 -0
- package/dist/modules/Payment/walletpass.js +711 -0
- package/dist/modules/ProductList/index.d.ts +12 -1
- package/dist/modules/ProductList/index.js +37 -15
- package/dist/modules/Resource/index.js +1 -1
- package/dist/modules/Rules/index.d.ts +2 -1
- package/dist/modules/Rules/index.js +470 -127
- package/dist/modules/Rules/types.d.ts +1 -0
- package/dist/modules/Schedule/index.d.ts +9 -0
- package/dist/modules/Schedule/index.js +77 -0
- package/dist/modules/Summary/utils.d.ts +5 -0
- package/dist/modules/Summary/utils.js +36 -1
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +1 -0
- package/dist/plugins/app-types/app/app.d.ts +83 -0
- package/dist/plugins/app-types/app/const.d.ts +4 -0
- package/dist/plugins/app-types/app/index.d.ts +14 -0
- package/dist/plugins/app-types/applicationManager/application.d.ts +50 -0
- package/dist/plugins/app-types/applicationManager/index.d.ts +13 -0
- package/dist/plugins/app-types/config.d.ts +3 -0
- package/dist/plugins/app-types/cookie/index.d.ts +13 -0
- package/dist/plugins/app-types/data/index.d.ts +8 -0
- package/dist/plugins/app-types/history/config.d.ts +24 -0
- package/dist/plugins/app-types/history/index.d.ts +20 -0
- package/dist/plugins/app-types/history/type.d.ts +2 -0
- package/dist/plugins/app-types/hooks/index.d.ts +12 -0
- package/dist/plugins/app-types/hooks/useDelayedValue/index.d.ts +2 -0
- package/dist/plugins/app-types/hooks/useDispatch/index.d.ts +2 -0
- package/dist/plugins/app-types/hooks/useLowCode/index.d.ts +13 -0
- package/dist/plugins/app-types/hooks/useStore/index.d.ts +6 -0
- package/dist/plugins/app-types/index.d.ts +6 -0
- package/dist/plugins/app-types/indexDB/index.d.ts +178 -0
- package/dist/plugins/app-types/locales/en.d.ts +3 -0
- package/dist/plugins/app-types/locales/index.d.ts +37 -0
- package/dist/plugins/app-types/locales/original.d.ts +3 -0
- package/dist/plugins/app-types/locales/type.d.ts +19 -0
- package/dist/plugins/app-types/locales/zh-CN.d.ts +3 -0
- package/dist/plugins/app-types/locales/zh-HK.d.ts +3 -0
- package/dist/plugins/app-types/logger/feishu.d.ts +11 -0
- package/dist/plugins/app-types/logger/index.d.ts +122 -0
- package/dist/plugins/app-types/menuManager/hooks.d.ts +17 -0
- package/dist/plugins/app-types/menuManager/index.d.ts +28 -0
- package/dist/plugins/app-types/models/global.d.ts +32 -0
- package/dist/plugins/app-types/models/index.d.ts +45 -0
- package/dist/plugins/app-types/models/type.d.ts +2 -0
- package/dist/plugins/app-types/package.json +15 -0
- package/dist/plugins/app-types/plugin/index.d.ts +0 -0
- package/dist/plugins/app-types/pubsub/example.d.ts +5 -0
- package/dist/plugins/app-types/pubsub/index.d.ts +63 -0
- package/dist/plugins/app-types/request/cache.d.ts +46 -0
- package/dist/plugins/app-types/request/cancelToken.d.ts +38 -0
- package/dist/plugins/app-types/request/config.d.ts +3 -0
- package/dist/plugins/app-types/request/constants.d.ts +2 -0
- package/dist/plugins/app-types/request/index.d.ts +24 -0
- package/dist/plugins/app-types/request/pisell2Request.d.ts +6 -0
- package/dist/plugins/app-types/request/type.d.ts +41 -0
- package/dist/plugins/app-types/request/utils.d.ts +46 -0
- package/dist/plugins/app-types/routes/config.d.ts +7 -0
- package/dist/plugins/app-types/routes/index.d.ts +28 -0
- package/dist/plugins/app-types/socket/components/SocketMonitorPage.d.ts +6 -0
- package/dist/plugins/app-types/socket/components/index.d.ts +2 -0
- package/dist/plugins/app-types/socket/constants.d.ts +33 -0
- package/dist/plugins/app-types/socket/events.d.ts +31 -0
- package/dist/plugins/app-types/socket/heartbeat.d.ts +66 -0
- package/dist/plugins/app-types/socket/index.d.ts +61 -0
- package/dist/plugins/app-types/socket/monitor.d.ts +169 -0
- package/dist/plugins/app-types/socket/reconnect.d.ts +61 -0
- package/dist/plugins/app-types/socket/socket.d.ts +129 -0
- package/dist/plugins/app-types/socket/types.d.ts +85 -0
- package/dist/plugins/app-types/storage/index.d.ts +17 -0
- package/dist/plugins/app-types/tasks/index.d.ts +77 -0
- package/dist/plugins/app-types/tasks/type.d.ts +62 -0
- package/dist/plugins/app-types/tasks/useTasks.d.ts +5 -0
- package/dist/plugins/app-types/type.d.ts +2 -0
- package/dist/plugins/app-types/variables/VariablesProvider.d.ts +7 -0
- package/dist/plugins/app-types/variables/config.d.ts +3 -0
- package/dist/plugins/app-types/variables/index.d.ts +6 -0
- package/dist/plugins/app-types/variables/type.d.ts +2 -0
- package/dist/plugins/app-types/website/index.d.ts +6 -0
- package/dist/plugins/app.d.ts +8 -0
- package/dist/plugins/app.js +1 -0
- package/dist/plugins/window.d.ts +1 -0
- package/dist/solution/BookingByStep/index.js +43 -13
- package/dist/solution/BookingByStep/utils/capacity.js +1 -1
- package/dist/solution/BookingByStep/utils/products.d.ts +6 -0
- package/dist/solution/BookingByStep/utils/products.js +10 -0
- package/dist/solution/BookingTicket/index.d.ts +184 -0
- package/dist/solution/BookingTicket/index.js +698 -0
- package/dist/solution/BookingTicket/types.d.ts +68 -0
- package/dist/solution/BookingTicket/types.js +43 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +22 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +159 -0
- package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +22 -0
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +189 -0
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +85 -0
- package/dist/solution/BookingTicket/utils/scan/index.js +294 -0
- package/dist/solution/BookingTicket/utils/scan/scanCache.d.ts +78 -0
- package/dist/solution/BookingTicket/utils/scan/scanCache.js +305 -0
- package/dist/solution/BuyTickets/index.js +7 -8
- package/dist/solution/Checkout/appointmentDemo.json +1 -0
- package/dist/solution/Checkout/index.d.ts +432 -0
- package/dist/solution/Checkout/index.js +4452 -0
- package/dist/solution/Checkout/types.d.ts +727 -0
- package/dist/solution/Checkout/types.js +104 -0
- package/dist/solution/Checkout/utils/index.d.ts +121 -0
- package/dist/solution/Checkout/utils/index.js +511 -0
- package/dist/solution/ShopDiscount/index.d.ts +10 -10
- package/dist/solution/ShopDiscount/index.js +111 -60
- package/dist/solution/ShopDiscount/types.d.ts +8 -0
- package/dist/solution/ShopDiscount/utils.d.ts +24 -0
- package/dist/solution/ShopDiscount/utils.js +135 -1
- package/dist/solution/index.d.ts +2 -0
- package/dist/solution/index.js +3 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/utils/task.d.ts +40 -0
- package/dist/utils/task.js +171 -0
- package/dist/utils/watch.d.ts +102 -0
- package/dist/utils/watch.js +294 -0
- package/lib/core/index.js +1 -1
- package/lib/effects/index.d.ts +5 -3
- package/lib/effects/index.js +17 -1
- package/lib/modules/Account/index.js +2 -3
- package/lib/modules/AccountList/index.d.ts +7 -1
- package/lib/modules/AccountList/index.js +27 -0
- package/lib/modules/AccountList/types.d.ts +28 -0
- package/lib/modules/BaseModule.d.ts +3 -0
- package/lib/modules/BaseModule.js +9 -0
- package/lib/modules/Cart/index.d.ts +1 -0
- package/lib/modules/Cart/index.js +5 -2
- package/lib/modules/Cart/utils/cartProduct.js +22 -6
- package/lib/modules/Customer/constants.d.ts +7 -0
- package/lib/modules/Customer/constants.js +39 -0
- package/lib/modules/Customer/index.d.ts +122 -0
- package/lib/modules/Customer/index.js +439 -0
- package/lib/modules/Customer/types.d.ts +146 -0
- package/lib/modules/Customer/types.js +37 -0
- package/lib/modules/Discount/index.d.ts +1 -0
- package/lib/modules/Discount/index.js +3 -3
- package/lib/modules/Discount/types.d.ts +9 -0
- package/lib/modules/Guests/index.js +9 -9
- package/lib/modules/Order/index.d.ts +25 -1
- package/lib/modules/Order/index.js +186 -1
- package/lib/modules/Order/types.d.ts +45 -0
- package/lib/modules/Order/utils.js +1 -1
- package/lib/modules/Payment/cash.d.ts +19 -0
- package/lib/modules/Payment/cash.js +64 -0
- package/lib/modules/Payment/cashRecommendationAlgorithm.d.ts +22 -0
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +342 -0
- package/lib/modules/Payment/eftpos.d.ts +11 -0
- package/lib/modules/Payment/eftpos.js +51 -0
- package/lib/modules/Payment/index.d.ts +184 -9
- package/lib/modules/Payment/index.js +1084 -51
- package/lib/modules/Payment/mx51.d.ts +0 -0
- package/lib/modules/Payment/mx51.js +0 -0
- package/lib/modules/Payment/types.d.ts +772 -30
- package/lib/modules/Payment/types.js +79 -6
- package/lib/modules/Payment/utils.d.ts +17 -0
- package/lib/modules/Payment/utils.js +67 -0
- package/lib/modules/Payment/walletpass.d.ts +99 -0
- package/lib/modules/Payment/walletpass.js +484 -0
- package/lib/modules/ProductList/index.d.ts +12 -1
- package/lib/modules/ProductList/index.js +31 -12
- package/lib/modules/Resource/index.js +1 -1
- package/lib/modules/Rules/index.d.ts +2 -1
- package/lib/modules/Rules/index.js +318 -72
- package/lib/modules/Rules/types.d.ts +1 -0
- package/lib/modules/Schedule/index.d.ts +9 -0
- package/lib/modules/Schedule/index.js +60 -0
- package/lib/modules/Summary/utils.d.ts +5 -0
- package/lib/modules/Summary/utils.js +27 -3
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/index.js +2 -0
- package/lib/plugins/app-types/app/app.d.ts +83 -0
- package/lib/plugins/app-types/app/const.d.ts +4 -0
- package/lib/plugins/app-types/app/index.d.ts +14 -0
- package/lib/plugins/app-types/applicationManager/application.d.ts +50 -0
- package/lib/plugins/app-types/applicationManager/index.d.ts +13 -0
- package/lib/plugins/app-types/config.d.ts +3 -0
- package/lib/plugins/app-types/cookie/index.d.ts +13 -0
- package/lib/plugins/app-types/data/index.d.ts +8 -0
- package/lib/plugins/app-types/history/config.d.ts +24 -0
- package/lib/plugins/app-types/history/index.d.ts +20 -0
- package/lib/plugins/app-types/history/type.d.ts +2 -0
- package/lib/plugins/app-types/hooks/index.d.ts +12 -0
- package/lib/plugins/app-types/hooks/useDelayedValue/index.d.ts +2 -0
- package/lib/plugins/app-types/hooks/useDispatch/index.d.ts +2 -0
- package/lib/plugins/app-types/hooks/useLowCode/index.d.ts +13 -0
- package/lib/plugins/app-types/hooks/useStore/index.d.ts +6 -0
- package/lib/plugins/app-types/index.d.ts +6 -0
- package/lib/plugins/app-types/indexDB/index.d.ts +178 -0
- package/lib/plugins/app-types/locales/en.d.ts +3 -0
- package/lib/plugins/app-types/locales/index.d.ts +37 -0
- package/lib/plugins/app-types/locales/original.d.ts +3 -0
- package/lib/plugins/app-types/locales/type.d.ts +19 -0
- package/lib/plugins/app-types/locales/zh-CN.d.ts +3 -0
- package/lib/plugins/app-types/locales/zh-HK.d.ts +3 -0
- package/lib/plugins/app-types/logger/feishu.d.ts +11 -0
- package/lib/plugins/app-types/logger/index.d.ts +122 -0
- package/lib/plugins/app-types/menuManager/hooks.d.ts +17 -0
- package/lib/plugins/app-types/menuManager/index.d.ts +28 -0
- package/lib/plugins/app-types/models/global.d.ts +32 -0
- package/lib/plugins/app-types/models/index.d.ts +45 -0
- package/lib/plugins/app-types/models/type.d.ts +2 -0
- package/lib/plugins/app-types/package.json +15 -0
- package/lib/plugins/app-types/plugin/index.d.ts +0 -0
- package/lib/plugins/app-types/pubsub/example.d.ts +5 -0
- package/lib/plugins/app-types/pubsub/index.d.ts +63 -0
- package/lib/plugins/app-types/request/cache.d.ts +46 -0
- package/lib/plugins/app-types/request/cancelToken.d.ts +38 -0
- package/lib/plugins/app-types/request/config.d.ts +3 -0
- package/lib/plugins/app-types/request/constants.d.ts +2 -0
- package/lib/plugins/app-types/request/index.d.ts +24 -0
- package/lib/plugins/app-types/request/pisell2Request.d.ts +6 -0
- package/lib/plugins/app-types/request/type.d.ts +41 -0
- package/lib/plugins/app-types/request/utils.d.ts +46 -0
- package/lib/plugins/app-types/routes/config.d.ts +7 -0
- package/lib/plugins/app-types/routes/index.d.ts +28 -0
- package/lib/plugins/app-types/socket/components/SocketMonitorPage.d.ts +6 -0
- package/lib/plugins/app-types/socket/components/index.d.ts +2 -0
- package/lib/plugins/app-types/socket/constants.d.ts +33 -0
- package/lib/plugins/app-types/socket/events.d.ts +31 -0
- package/lib/plugins/app-types/socket/heartbeat.d.ts +66 -0
- package/lib/plugins/app-types/socket/index.d.ts +61 -0
- package/lib/plugins/app-types/socket/monitor.d.ts +169 -0
- package/lib/plugins/app-types/socket/reconnect.d.ts +61 -0
- package/lib/plugins/app-types/socket/socket.d.ts +129 -0
- package/lib/plugins/app-types/socket/types.d.ts +85 -0
- package/lib/plugins/app-types/storage/index.d.ts +17 -0
- package/lib/plugins/app-types/tasks/index.d.ts +77 -0
- package/lib/plugins/app-types/tasks/type.d.ts +62 -0
- package/lib/plugins/app-types/tasks/useTasks.d.ts +5 -0
- package/lib/plugins/app-types/type.d.ts +2 -0
- package/lib/plugins/app-types/variables/VariablesProvider.d.ts +7 -0
- package/lib/plugins/app-types/variables/config.d.ts +3 -0
- package/lib/plugins/app-types/variables/index.d.ts +6 -0
- package/lib/plugins/app-types/variables/type.d.ts +2 -0
- package/lib/plugins/app-types/website/index.d.ts +6 -0
- package/lib/plugins/app.d.ts +8 -0
- package/lib/plugins/app.js +17 -0
- package/lib/plugins/window.d.ts +1 -0
- package/lib/solution/BookingByStep/index.js +18 -6
- package/lib/solution/BookingByStep/utils/capacity.js +1 -1
- package/lib/solution/BookingByStep/utils/products.d.ts +6 -0
- package/lib/solution/BookingByStep/utils/products.js +8 -2
- package/lib/solution/BookingTicket/index.d.ts +184 -0
- package/lib/solution/BookingTicket/index.js +426 -0
- package/lib/solution/BookingTicket/types.d.ts +68 -0
- package/lib/solution/BookingTicket/types.js +72 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +22 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +117 -0
- package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +22 -0
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +132 -0
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +85 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +216 -0
- package/lib/solution/BookingTicket/utils/scan/scanCache.d.ts +78 -0
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +231 -0
- package/lib/solution/BuyTickets/index.js +7 -8
- package/lib/solution/Checkout/appointmentDemo.json +1 -0
- package/lib/solution/Checkout/index.d.ts +432 -0
- package/lib/solution/Checkout/index.js +2776 -0
- package/lib/solution/Checkout/types.d.ts +727 -0
- package/lib/solution/Checkout/types.js +63 -0
- package/lib/solution/Checkout/utils/index.d.ts +121 -0
- package/lib/solution/Checkout/utils/index.js +362 -0
- package/lib/solution/ShopDiscount/index.d.ts +10 -10
- package/lib/solution/ShopDiscount/index.js +53 -27
- package/lib/solution/ShopDiscount/types.d.ts +8 -0
- package/lib/solution/ShopDiscount/utils.d.ts +24 -0
- package/lib/solution/ShopDiscount/utils.js +88 -1
- package/lib/solution/index.d.ts +2 -0
- package/lib/solution/index.js +5 -1
- package/lib/types/index.d.ts +4 -1
- package/lib/utils/task.d.ts +40 -0
- package/lib/utils/task.js +109 -0
- package/lib/utils/watch.d.ts +102 -0
- package/lib/utils/watch.js +217 -0
- package/package.json +3 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Task, TasksModule, RunTaskParams, AddTaskParams, DeleteTaskParams } from "./type";
|
|
2
|
+
import App from "../app";
|
|
3
|
+
export declare class TasksManager {
|
|
4
|
+
private static instance;
|
|
5
|
+
private taskFunctions;
|
|
6
|
+
private tasks;
|
|
7
|
+
private app;
|
|
8
|
+
private db;
|
|
9
|
+
useTasks: () => {
|
|
10
|
+
tasks: TasksModule;
|
|
11
|
+
};
|
|
12
|
+
watchTaskCallback: (taskModule: TasksModule) => void;
|
|
13
|
+
constructor(app: App);
|
|
14
|
+
static getInstance(app?: App): TasksManager;
|
|
15
|
+
addTaskFunction<T>(name: string, fun: T): void;
|
|
16
|
+
addTaskFunctions<T>(tasks: {
|
|
17
|
+
name: string;
|
|
18
|
+
fun: T;
|
|
19
|
+
}[]): void;
|
|
20
|
+
getTasks(): TasksModule;
|
|
21
|
+
getTaskFunction(name: string): any;
|
|
22
|
+
init(): Promise<void>;
|
|
23
|
+
private saveTaskQueueToLocal;
|
|
24
|
+
private loadTaskQueueFromLocal;
|
|
25
|
+
/**
|
|
26
|
+
* @title: 执行任务
|
|
27
|
+
* @description:
|
|
28
|
+
* @param {Task} task
|
|
29
|
+
* @return {*}
|
|
30
|
+
* @Author: zhiwei.Wang
|
|
31
|
+
* @Date: 2024-09-26 13:53
|
|
32
|
+
*/
|
|
33
|
+
private runTask;
|
|
34
|
+
/**
|
|
35
|
+
* @title: 启动轮询
|
|
36
|
+
* @description: 根据轮询间隔定期执行任务
|
|
37
|
+
* @param {Task} task
|
|
38
|
+
* @return {*}
|
|
39
|
+
*/
|
|
40
|
+
private startPolling;
|
|
41
|
+
/**
|
|
42
|
+
* @title: 创建任务数据
|
|
43
|
+
* @description:
|
|
44
|
+
* @param {Partial} payload
|
|
45
|
+
* @return {*}
|
|
46
|
+
* @Author: zhiwei.Wang
|
|
47
|
+
* @Date: 2024-09-26 13:54
|
|
48
|
+
*/
|
|
49
|
+
private createTaskData;
|
|
50
|
+
private getTaskQueue;
|
|
51
|
+
private timeout;
|
|
52
|
+
/**
|
|
53
|
+
* @title: 执行任务队列
|
|
54
|
+
* @description:
|
|
55
|
+
* @return {*}
|
|
56
|
+
* @Author: zhiwei.Wang
|
|
57
|
+
* @Date: 2024-09-26 13:52
|
|
58
|
+
*/
|
|
59
|
+
run(payload: RunTaskParams): Promise<void>;
|
|
60
|
+
deleteTask(payload: DeleteTaskParams): void;
|
|
61
|
+
/**
|
|
62
|
+
* @title: 重试任务
|
|
63
|
+
* @description:
|
|
64
|
+
* @return {*}
|
|
65
|
+
* @Author: zhiwei.Wang
|
|
66
|
+
* @Date: 2024-09-26 13:53
|
|
67
|
+
*/
|
|
68
|
+
retryTask(payload: RunTaskParams): void;
|
|
69
|
+
addTask(payload: AddTaskParams): void;
|
|
70
|
+
private updateTask;
|
|
71
|
+
private updateQueueStatus;
|
|
72
|
+
private setTasks;
|
|
73
|
+
clearAllTaskTimer(tasks: Task[]): void;
|
|
74
|
+
clearTasks(payload: RunTaskParams): void;
|
|
75
|
+
clearAllTasks(): void;
|
|
76
|
+
watchTask(callback: (taskModule: TasksModule) => void): void;
|
|
77
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export type TaskRunStatus = "pending" | "in-progress" | "success" | "failure";
|
|
2
|
+
export interface Task {
|
|
3
|
+
id?: string;
|
|
4
|
+
type?: "local" | "cloud";
|
|
5
|
+
retries?: number;
|
|
6
|
+
maxRetries?: number;
|
|
7
|
+
status?: TaskRunStatus;
|
|
8
|
+
action: string;
|
|
9
|
+
payload: any;
|
|
10
|
+
beforeAction?: string;
|
|
11
|
+
beforePayload?: any;
|
|
12
|
+
afterAction?: string;
|
|
13
|
+
afterPayload?: any;
|
|
14
|
+
polling?: {
|
|
15
|
+
interval?: number;
|
|
16
|
+
};
|
|
17
|
+
pollingResult?: {
|
|
18
|
+
count: number;
|
|
19
|
+
timerId?: any;
|
|
20
|
+
};
|
|
21
|
+
manual?: boolean;
|
|
22
|
+
destroy?: boolean;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}
|
|
25
|
+
export interface TaskConfig {
|
|
26
|
+
tasks: Task[];
|
|
27
|
+
}
|
|
28
|
+
type TaskModuleName = string;
|
|
29
|
+
type TaskQueueName = string;
|
|
30
|
+
type TaskStatus = "uncompleted" | "completed";
|
|
31
|
+
export interface TaskQueue {
|
|
32
|
+
status: TaskStatus;
|
|
33
|
+
tasks: Task[];
|
|
34
|
+
}
|
|
35
|
+
export interface RunTaskParams {
|
|
36
|
+
module: TaskModuleName;
|
|
37
|
+
queueId: TaskQueueName;
|
|
38
|
+
callback?: () => void;
|
|
39
|
+
}
|
|
40
|
+
export interface DeleteTaskParams {
|
|
41
|
+
module: TaskModuleName;
|
|
42
|
+
queueId: TaskQueueName;
|
|
43
|
+
taskId: string;
|
|
44
|
+
}
|
|
45
|
+
export interface AddTaskParams {
|
|
46
|
+
module: TaskModuleName;
|
|
47
|
+
queueId: TaskQueueName;
|
|
48
|
+
tasks: Task[];
|
|
49
|
+
}
|
|
50
|
+
export interface TaskRunResult {
|
|
51
|
+
status: TaskRunStatus;
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
}
|
|
54
|
+
export interface TasksModule {
|
|
55
|
+
[key: TaskModuleName]: {
|
|
56
|
+
[key: TaskQueueName]: {
|
|
57
|
+
status: TaskStatus;
|
|
58
|
+
tasks: Task[];
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/plugins/app.ts
|
|
16
|
+
var app_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(app_exports);
|
package/lib/plugins/window.d.ts
CHANGED
|
@@ -95,8 +95,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
95
95
|
"step",
|
|
96
96
|
"products",
|
|
97
97
|
"date",
|
|
98
|
-
"order"
|
|
99
|
-
"payment"
|
|
98
|
+
"order"
|
|
100
99
|
];
|
|
101
100
|
moduleArr.forEach((step) => {
|
|
102
101
|
var _a2, _b2;
|
|
@@ -117,7 +116,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
117
116
|
}
|
|
118
117
|
});
|
|
119
118
|
this.store.schedule.loadAllSchedule();
|
|
120
|
-
this.core.effects.emit(
|
|
119
|
+
this.core.effects.emit(`${this.name}:onInited`, {});
|
|
121
120
|
}
|
|
122
121
|
// 初始化step
|
|
123
122
|
initStep(stepList) {
|
|
@@ -186,13 +185,19 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
186
185
|
collection = [],
|
|
187
186
|
schedule_date
|
|
188
187
|
}) {
|
|
189
|
-
|
|
188
|
+
const res = await this.store.products.loadProducts({
|
|
190
189
|
category_ids,
|
|
191
190
|
product_ids,
|
|
192
191
|
collection,
|
|
193
192
|
schedule_date,
|
|
194
193
|
cacheId: this.cacheId
|
|
195
194
|
});
|
|
195
|
+
this.getAvailableDate({
|
|
196
|
+
startDate: schedule_date || (0, import_dayjs.default)().format("YYYY-MM-DD"),
|
|
197
|
+
endDate: schedule_date || (0, import_dayjs.default)().format("YYYY-MM-DD"),
|
|
198
|
+
products: [...res]
|
|
199
|
+
});
|
|
200
|
+
return res;
|
|
196
201
|
}
|
|
197
202
|
/**
|
|
198
203
|
* 通过 schedule 来读取商品,适用于 session 类商品
|
|
@@ -229,11 +234,12 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
229
234
|
const allProductIds = [...newProductIds, ...otherProductsIds].filter(
|
|
230
235
|
(n, index, self) => self.indexOf(n) === index
|
|
231
236
|
);
|
|
232
|
-
|
|
237
|
+
const res = await this.loadProducts({
|
|
233
238
|
product_ids: allProductIds,
|
|
234
239
|
category_ids,
|
|
235
240
|
schedule_date: date
|
|
236
241
|
});
|
|
242
|
+
return res;
|
|
237
243
|
}
|
|
238
244
|
/**
|
|
239
245
|
* 更新完商品数据、切换日期、或者在较后的流程里登录了,检测当前购物车里是否有商品,如果有,则需要更新购物车里的商品价格
|
|
@@ -600,6 +606,12 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
600
606
|
quantity = 1
|
|
601
607
|
} = product || {};
|
|
602
608
|
const productData = { ...origin, product_variant_id };
|
|
609
|
+
debugger;
|
|
610
|
+
if ((0, import_products.isSessionProduct)(productData)) {
|
|
611
|
+
if (!date || !date.startTime || !date.endTime) {
|
|
612
|
+
return { success: false, errorCode: "date_or_time_required" };
|
|
613
|
+
}
|
|
614
|
+
}
|
|
603
615
|
const currentCartItems = this.store.cart.getItems();
|
|
604
616
|
const stockCheckResult = (0, import_stock.checkProductStock)({
|
|
605
617
|
productData,
|
|
@@ -1729,7 +1741,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
|
|
|
1729
1741
|
let currentResourcesSummaryCount = 0;
|
|
1730
1742
|
const currentResourcesTimeSlotCanUsedArr = [];
|
|
1731
1743
|
const mTimes = m.times.filter((n) => {
|
|
1732
|
-
return !(0, import_dayjs.default)(n.start_at).isAfter((0, import_dayjs.default)(item.start), "minute") && !(0, import_dayjs.default)(n.end_at).isBefore((0, import_dayjs.default)(item.end), "minute") || (0, import_dayjs.default)(n.start_at).isBefore((0, import_dayjs.default)(item.end), "minute") && (0, import_dayjs.default)(n.end_at).isAfter((0, import_dayjs.default)(item.start), "minute");
|
|
1744
|
+
return !(0, import_dayjs.default)(n.start_at).isAfter((0, import_dayjs.default)(item.start), "minute") && !(0, import_dayjs.default)(n.end_at).isBefore((0, import_dayjs.default)(item.end), "minute") || m.onlyComputed && (0, import_dayjs.default)(n.start_at).isBefore((0, import_dayjs.default)(item.end), "minute") && (0, import_dayjs.default)(n.end_at).isAfter((0, import_dayjs.default)(item.start), "minute");
|
|
1733
1745
|
});
|
|
1734
1746
|
if (mTimes.length === 0) {
|
|
1735
1747
|
return;
|
|
@@ -230,7 +230,7 @@ function checkTimeSlotCapacity(timeSlotStart, timeSlotEnd, cartItems, allResourc
|
|
|
230
230
|
let totalAvailableCapacity = 0;
|
|
231
231
|
resourcesInType.forEach((resource) => {
|
|
232
232
|
const availableTimes = resource.times.filter((time) => {
|
|
233
|
-
return !(0, import_dayjs.default)(time.start_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute") && !(0, import_dayjs.default)(time.end_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") || (0, import_dayjs.default)(time.start_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") && (0, import_dayjs.default)(time.end_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute");
|
|
233
|
+
return !(0, import_dayjs.default)(time.start_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute") && !(0, import_dayjs.default)(time.end_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") || resource.onlyComputed && (0, import_dayjs.default)(time.start_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") && (0, import_dayjs.default)(time.end_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute");
|
|
234
234
|
});
|
|
235
235
|
if (availableTimes.length > 0) {
|
|
236
236
|
totalAvailableCapacity += resource.capacity || 0;
|
|
@@ -9,3 +9,9 @@ export declare const getAvailableProductResources: (products: ProductData[]) =>
|
|
|
9
9
|
rules: any[];
|
|
10
10
|
resourcesMap: Record<number, ProductResourceItem>;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* 判断商品是否是 session 商品
|
|
14
|
+
* @param product 商品数据
|
|
15
|
+
* @returns 是否是 session 商品
|
|
16
|
+
*/
|
|
17
|
+
export declare const isSessionProduct: (product: ProductData) => boolean;
|
|
@@ -19,7 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
// src/solution/BookingByStep/utils/products.ts
|
|
20
20
|
var products_exports = {};
|
|
21
21
|
__export(products_exports, {
|
|
22
|
-
getAvailableProductResources: () => getAvailableProductResources
|
|
22
|
+
getAvailableProductResources: () => getAvailableProductResources,
|
|
23
|
+
isSessionProduct: () => isSessionProduct
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(products_exports);
|
|
25
26
|
var getAvailableProductResources = (products) => {
|
|
@@ -57,7 +58,12 @@ var getAvailableProductResources = (products) => {
|
|
|
57
58
|
});
|
|
58
59
|
return { resourceIds: [...new Set(resourceIds)], rules, resourcesMap };
|
|
59
60
|
};
|
|
61
|
+
var isSessionProduct = (product) => {
|
|
62
|
+
var _a;
|
|
63
|
+
return (((_a = product == null ? void 0 : product["schedule.ids"]) == null ? void 0 : _a.length) ?? 0) > 0;
|
|
64
|
+
};
|
|
60
65
|
// Annotate the CommonJS export names for ESM import in node:
|
|
61
66
|
0 && (module.exports = {
|
|
62
|
-
getAvailableProductResources
|
|
67
|
+
getAvailableProductResources,
|
|
68
|
+
isSessionProduct
|
|
63
69
|
});
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Module, PisellCore } from '../../types';
|
|
2
|
+
import { BaseModule } from '../../modules/BaseModule';
|
|
3
|
+
import { RequestPlugin, WindowPlugin } from '../../plugins';
|
|
4
|
+
import { IGetCustomerListParams, ICustomer, ILoadProductsParams, IScanResult } from './types';
|
|
5
|
+
import { ProductData } from '../../modules';
|
|
6
|
+
export declare class BookingTicketImpl extends BaseModule implements Module {
|
|
7
|
+
protected defaultName: string;
|
|
8
|
+
protected defaultVersion: string;
|
|
9
|
+
isSolution: boolean;
|
|
10
|
+
request: RequestPlugin;
|
|
11
|
+
window: WindowPlugin;
|
|
12
|
+
private shopStore;
|
|
13
|
+
private store;
|
|
14
|
+
private otherParams;
|
|
15
|
+
private cacheId;
|
|
16
|
+
private platform;
|
|
17
|
+
private scan;
|
|
18
|
+
initialize(core: PisellCore, options: any): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* 获取商品列表
|
|
21
|
+
* @param params 包含 schedule_date 的参数
|
|
22
|
+
* @returns 商品列表
|
|
23
|
+
*/
|
|
24
|
+
loadProducts(params?: ILoadProductsParams): Promise<any>;
|
|
25
|
+
/**
|
|
26
|
+
* 初始化外设扫码结果监听
|
|
27
|
+
*/
|
|
28
|
+
initPeripheralsListener(): void;
|
|
29
|
+
/**
|
|
30
|
+
* 获取商品列表(不加载到模块中)
|
|
31
|
+
* @returns 商品列表
|
|
32
|
+
*/
|
|
33
|
+
getProducts(): Promise<ProductData[]>;
|
|
34
|
+
/**
|
|
35
|
+
* 获取客户列表
|
|
36
|
+
* @param params 查询参数
|
|
37
|
+
* @returns 客户列表响应
|
|
38
|
+
*/
|
|
39
|
+
getCustomerList(params?: IGetCustomerListParams): Promise<import("../../modules").ICustomerListResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* 设置活跃客户
|
|
42
|
+
* @param customer 客户信息
|
|
43
|
+
*/
|
|
44
|
+
setActiveCustomer(customer: ICustomer): void;
|
|
45
|
+
/**
|
|
46
|
+
* 获取当前活跃客户
|
|
47
|
+
* @returns 当前活跃客户
|
|
48
|
+
*/
|
|
49
|
+
getActiveCustomer(): ICustomer | null;
|
|
50
|
+
/**
|
|
51
|
+
* 根据ID设置选中的客户
|
|
52
|
+
* @param customerId 客户ID
|
|
53
|
+
*/
|
|
54
|
+
setSelectedCustomerById(customerId: string | number): void;
|
|
55
|
+
/**
|
|
56
|
+
* 获取所有客户
|
|
57
|
+
* @returns 客户列表
|
|
58
|
+
*/
|
|
59
|
+
getCustomers(): ICustomer[];
|
|
60
|
+
/**
|
|
61
|
+
* 根据ID获取客户
|
|
62
|
+
* @param customerId 客户ID
|
|
63
|
+
* @returns 客户信息
|
|
64
|
+
*/
|
|
65
|
+
getCustomerById(customerId: string | number): ICustomer | null;
|
|
66
|
+
/**
|
|
67
|
+
* 清空客户列表
|
|
68
|
+
*/
|
|
69
|
+
clearCustomers(): void;
|
|
70
|
+
/**
|
|
71
|
+
* 添加客户到列表第一位
|
|
72
|
+
* @param customer 要添加的客户信息
|
|
73
|
+
*/
|
|
74
|
+
addCustomerToFirst(customer: ICustomer): void;
|
|
75
|
+
/**
|
|
76
|
+
* 获取客户分页信息
|
|
77
|
+
* @returns 分页信息
|
|
78
|
+
*/
|
|
79
|
+
getCustomerPaginationInfo(): import("../../modules").IPaginationInfo;
|
|
80
|
+
/**
|
|
81
|
+
* 获取客户列表总数
|
|
82
|
+
* @returns 总数
|
|
83
|
+
*/
|
|
84
|
+
getCustomerTotal(): number;
|
|
85
|
+
/**
|
|
86
|
+
* 设置客户分页信息
|
|
87
|
+
* @param page 页码
|
|
88
|
+
* @param pageSize 每页数量
|
|
89
|
+
*/
|
|
90
|
+
setCustomerPaginationInfo(page: number, pageSize: number): void;
|
|
91
|
+
/**
|
|
92
|
+
* 便捷方法:切换客户分页并自动获取数据
|
|
93
|
+
* @param page 页码
|
|
94
|
+
* @param pageSize 每页数量(可选)
|
|
95
|
+
* @returns 客户列表响应
|
|
96
|
+
*/
|
|
97
|
+
changeCustomerPage(page: number, pageSize?: number): Promise<import("../../modules").ICustomerListResponse>;
|
|
98
|
+
/**
|
|
99
|
+
* 滚动加载更多客户数据 - 数据会追加到现有列表中
|
|
100
|
+
* @returns 客户列表响应
|
|
101
|
+
*/
|
|
102
|
+
loadMoreCustomers(): Promise<import("../../modules").ICustomerListResponse>;
|
|
103
|
+
/**
|
|
104
|
+
* 重置并重新开始滚动加载客户数据
|
|
105
|
+
* @param params 查询参数
|
|
106
|
+
* @returns 客户列表响应
|
|
107
|
+
*/
|
|
108
|
+
resetAndLoadCustomers(params?: IGetCustomerListParams): Promise<import("../../modules").ICustomerListResponse>;
|
|
109
|
+
/**
|
|
110
|
+
* 检查是否还有更多客户数据可以加载
|
|
111
|
+
* @returns 是否还有更多数据
|
|
112
|
+
*/
|
|
113
|
+
hasMoreCustomers(): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* 获取当前的客户搜索条件
|
|
116
|
+
* @returns 当前搜索条件
|
|
117
|
+
*/
|
|
118
|
+
getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
|
|
119
|
+
/**
|
|
120
|
+
* 获取客户列表状态(包含滚动加载相关状态)
|
|
121
|
+
* @returns 客户状态
|
|
122
|
+
*/
|
|
123
|
+
getCustomerState(): import("../../modules").CustomerState;
|
|
124
|
+
/**
|
|
125
|
+
* 全局扫描监听
|
|
126
|
+
* @param callback 回调
|
|
127
|
+
*/
|
|
128
|
+
scanGlobalListener(callback: (data: IScanResult) => void): {
|
|
129
|
+
remove: () => void;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* 客户扫描监听
|
|
133
|
+
* @param callback 回调
|
|
134
|
+
*/
|
|
135
|
+
scanCustomerListener(callback: (data: IScanResult) => void): {
|
|
136
|
+
remove: () => void;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* @title 通用扫描监听
|
|
140
|
+
* @description 直接将扫描结果返回给调用方
|
|
141
|
+
* @param callback 回调
|
|
142
|
+
*/
|
|
143
|
+
scanUniversalListener(callback: (data: IScanResult) => void, key: string): {
|
|
144
|
+
remove: () => void;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* 调用摄像头
|
|
148
|
+
* @param data 用户自定义数据
|
|
149
|
+
*/
|
|
150
|
+
activateCamera(data?: {
|
|
151
|
+
[key: string]: any;
|
|
152
|
+
}): void;
|
|
153
|
+
/**
|
|
154
|
+
* 禁用所有扫描监听
|
|
155
|
+
*/
|
|
156
|
+
disableAllScanListeners(): void;
|
|
157
|
+
/**
|
|
158
|
+
* 启用所有扫描监听
|
|
159
|
+
*/
|
|
160
|
+
enableAllScanListeners(): void;
|
|
161
|
+
/**
|
|
162
|
+
* 清空所有扫描监听对应的任务执行队列
|
|
163
|
+
*/
|
|
164
|
+
clearAllScanListenersTaskQueue(): void;
|
|
165
|
+
/**
|
|
166
|
+
* 设置其他参数
|
|
167
|
+
* @param params 参数
|
|
168
|
+
* @param options 选项
|
|
169
|
+
*/
|
|
170
|
+
setOtherParams(params: Record<string, any>, { cover }?: {
|
|
171
|
+
cover?: boolean;
|
|
172
|
+
}): Promise<void>;
|
|
173
|
+
/**
|
|
174
|
+
* 获取其他参数
|
|
175
|
+
* @returns 其他参数
|
|
176
|
+
*/
|
|
177
|
+
getOtherParams(): Promise<Record<string, any>>;
|
|
178
|
+
/**
|
|
179
|
+
* 销毁模块
|
|
180
|
+
*/
|
|
181
|
+
destroy(): void;
|
|
182
|
+
}
|
|
183
|
+
export * from './types';
|
|
184
|
+
export { BookingTicketImpl as BookingTicket };
|