@pisell/pisellos 2.1.38 → 2.2.1
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 +8 -1
- package/dist/core/index.js +116 -42
- package/dist/effects/index.d.ts +1 -0
- package/dist/effects/index.js +29 -6
- package/dist/modules/Account/index.js +2 -3
- package/dist/modules/BaseModule.d.ts +3 -0
- package/dist/modules/BaseModule.js +15 -0
- package/dist/modules/Customer/index.js +9 -10
- package/dist/modules/Customer/types.d.ts +2 -2
- package/dist/modules/Customer/types.js +2 -2
- package/dist/modules/Discount/index.js +1 -1
- package/dist/modules/Guests/index.js +9 -9
- package/dist/modules/Order/index.js +1 -1
- package/dist/modules/Payment/index.js +63 -73
- package/dist/modules/Payment/walletpass.js +4 -1
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/Product/types.d.ts +19 -0
- package/dist/modules/ProductList/index.js +5 -14
- package/dist/modules/Resource/index.js +1 -1
- package/dist/modules/Rules/index.js +2 -3
- package/dist/modules/Schedule/types.d.ts +2 -0
- package/dist/plugins/request.d.ts +1 -0
- package/dist/server/index.d.ts +152 -0
- package/dist/server/index.js +946 -0
- package/dist/server/modules/index.d.ts +16 -0
- package/dist/server/modules/index.js +21 -0
- package/dist/server/modules/menu/index.d.ts +63 -0
- package/dist/server/modules/menu/index.js +476 -0
- package/dist/server/modules/menu/types.d.ts +68 -0
- package/dist/server/modules/menu/types.js +16 -0
- package/dist/server/modules/products/index.d.ts +141 -0
- package/dist/server/modules/products/index.js +768 -0
- package/dist/server/modules/products/types.d.ts +94 -0
- package/dist/server/modules/products/types.js +43 -0
- package/dist/server/modules/quotation/index.d.ts +47 -0
- package/dist/server/modules/quotation/index.js +367 -0
- package/dist/server/modules/quotation/types.d.ts +50 -0
- package/dist/server/modules/quotation/types.js +20 -0
- package/dist/server/modules/schedule/index.d.ts +62 -0
- package/dist/server/modules/schedule/index.js +431 -0
- package/dist/server/modules/schedule/types.d.ts +1 -0
- package/dist/server/modules/schedule/types.js +2 -0
- package/dist/server/modules/schedule/utils.d.ts +32 -0
- package/dist/server/modules/schedule/utils.js +747 -0
- package/dist/server/types.d.ts +64 -0
- package/dist/server/types.js +1 -0
- package/dist/server/utils/index.d.ts +5 -0
- package/dist/server/utils/index.js +6 -0
- package/dist/server/utils/product.d.ts +18 -0
- package/dist/server/utils/product.js +339 -0
- package/dist/server/utils/schedule.d.ts +14 -0
- package/dist/server/utils/schedule.js +108 -0
- package/dist/server/utils/time.d.ts +18 -0
- package/dist/server/utils/time.js +53 -0
- package/dist/solution/BookingByStep/index.d.ts +1 -17
- package/dist/solution/BookingByStep/index.js +23 -468
- package/dist/solution/BookingByStep/utils/capacity.d.ts +2 -7
- package/dist/solution/BookingByStep/utils/capacity.js +8 -24
- package/dist/solution/BookingTicket/index.d.ts +12 -0
- package/dist/solution/BookingTicket/index.js +122 -79
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/scan/index.js +25 -16
- package/dist/solution/BuyTickets/index.js +7 -8
- package/dist/solution/Checkout/index.d.ts +1 -46
- package/dist/solution/Checkout/index.js +530 -850
- package/dist/solution/ShopDiscount/index.js +9 -10
- package/dist/types/index.d.ts +27 -0
- package/lib/core/index.d.ts +8 -1
- package/lib/core/index.js +48 -1
- package/lib/effects/index.d.ts +1 -0
- package/lib/effects/index.js +13 -0
- package/lib/modules/Account/index.js +2 -3
- package/lib/modules/BaseModule.d.ts +3 -0
- package/lib/modules/BaseModule.js +9 -0
- package/lib/modules/Customer/index.js +9 -10
- package/lib/modules/Customer/types.d.ts +2 -2
- package/lib/modules/Customer/types.js +2 -2
- package/lib/modules/Discount/index.js +1 -1
- package/lib/modules/Guests/index.js +9 -9
- package/lib/modules/Order/index.js +1 -1
- package/lib/modules/Payment/index.js +56 -43
- package/lib/modules/Payment/walletpass.js +3 -1
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/Product/types.d.ts +19 -0
- package/lib/modules/ProductList/index.js +4 -13
- package/lib/modules/Resource/index.js +1 -1
- package/lib/modules/Rules/index.js +2 -3
- package/lib/modules/Schedule/types.d.ts +2 -0
- package/lib/plugins/request.d.ts +1 -0
- package/lib/server/index.d.ts +152 -0
- package/lib/server/index.js +555 -0
- package/lib/server/modules/index.d.ts +16 -0
- package/lib/server/modules/index.js +47 -0
- package/lib/server/modules/menu/index.d.ts +63 -0
- package/lib/server/modules/menu/index.js +234 -0
- package/lib/server/modules/menu/types.d.ts +68 -0
- package/lib/server/modules/menu/types.js +33 -0
- package/lib/server/modules/products/index.d.ts +141 -0
- package/lib/server/modules/products/index.js +434 -0
- package/lib/server/modules/products/types.d.ts +94 -0
- package/lib/server/modules/products/types.js +35 -0
- package/lib/server/modules/quotation/index.d.ts +47 -0
- package/lib/server/modules/quotation/index.js +177 -0
- package/lib/server/modules/quotation/types.d.ts +50 -0
- package/lib/server/modules/quotation/types.js +33 -0
- package/lib/server/modules/schedule/index.d.ts +62 -0
- package/lib/server/modules/schedule/index.js +231 -0
- package/lib/server/modules/schedule/types.d.ts +1 -0
- package/lib/server/modules/schedule/types.js +23 -0
- package/lib/server/modules/schedule/utils.d.ts +32 -0
- package/lib/server/modules/schedule/utils.js +451 -0
- package/lib/server/types.d.ts +64 -0
- package/lib/server/types.js +17 -0
- package/lib/server/utils/index.d.ts +5 -0
- package/lib/server/utils/index.js +25 -0
- package/lib/server/utils/product.d.ts +18 -0
- package/lib/server/utils/product.js +262 -0
- package/lib/server/utils/schedule.d.ts +14 -0
- package/lib/server/utils/schedule.js +88 -0
- package/lib/server/utils/time.d.ts +18 -0
- package/lib/server/utils/time.js +70 -0
- package/lib/solution/BookingByStep/index.d.ts +1 -17
- package/lib/solution/BookingByStep/index.js +40 -312
- package/lib/solution/BookingByStep/utils/capacity.d.ts +2 -7
- package/lib/solution/BookingByStep/utils/capacity.js +8 -21
- package/lib/solution/BookingTicket/index.d.ts +12 -0
- package/lib/solution/BookingTicket/index.js +25 -6
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +7 -1
- package/lib/solution/BuyTickets/index.js +7 -8
- package/lib/solution/Checkout/index.d.ts +1 -46
- package/lib/solution/Checkout/index.js +92 -289
- package/lib/solution/ShopDiscount/index.js +10 -11
- package/lib/types/index.d.ts +27 -0
- package/package.json +2 -2
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { ProductsModule } from './modules/products';
|
|
2
|
+
import { MenuModule } from './modules/menu';
|
|
3
|
+
import { QuotationModule } from './modules/quotation';
|
|
4
|
+
import { ScheduleModuleEx } from './modules/schedule';
|
|
5
|
+
import { PisellCore, ServerModuleConfig, InitializeServerOptions } from '../types';
|
|
6
|
+
import type { RouteHandler, HttpMethod, RouteDefinition, Router, ModuleRegistryConfig, RequestSetting } from './types';
|
|
7
|
+
export type { RouteHandler, HttpMethod, RouteDefinition, Router, ModuleRegistryConfig, };
|
|
8
|
+
/**
|
|
9
|
+
* Server 类
|
|
10
|
+
* 用于注册和管理服务端模块
|
|
11
|
+
*/
|
|
12
|
+
declare class Server {
|
|
13
|
+
private core;
|
|
14
|
+
products?: ProductsModule;
|
|
15
|
+
menu?: MenuModule;
|
|
16
|
+
quotation?: QuotationModule;
|
|
17
|
+
schedule?: ScheduleModuleEx;
|
|
18
|
+
router: Router;
|
|
19
|
+
private moduleRegistry;
|
|
20
|
+
constructor(core: PisellCore);
|
|
21
|
+
/**
|
|
22
|
+
* 注册路由
|
|
23
|
+
* @param routes 路由定义数组
|
|
24
|
+
*/
|
|
25
|
+
private registerRoutes;
|
|
26
|
+
/**
|
|
27
|
+
* 注册单个模块并自动注册其路由
|
|
28
|
+
* @param module 模块实例
|
|
29
|
+
* @param options 模块配置
|
|
30
|
+
* @param moduleName 模块名称(用于日志)
|
|
31
|
+
*/
|
|
32
|
+
private registerModuleWithRoutes;
|
|
33
|
+
/**
|
|
34
|
+
* 根据模块名称注册单个模块
|
|
35
|
+
* @param moduleConfig 模块配置(可以是字符串或配置对象)
|
|
36
|
+
*/
|
|
37
|
+
private registerModuleByName;
|
|
38
|
+
/**
|
|
39
|
+
* 注册指定的服务端模块
|
|
40
|
+
* @param moduleConfigs 要注册的模块配置数组(模块名称或配置对象)
|
|
41
|
+
*/
|
|
42
|
+
registerModules(moduleConfigs?: (string | ServerModuleConfig)[]): Promise<{
|
|
43
|
+
module: any;
|
|
44
|
+
config: ModuleRegistryConfig;
|
|
45
|
+
shouldPreload: boolean;
|
|
46
|
+
}[]>;
|
|
47
|
+
/**
|
|
48
|
+
* 预加载指定模块的数据
|
|
49
|
+
* @param registeredModules 已注册的模块信息
|
|
50
|
+
*/
|
|
51
|
+
preloadModulesData(registeredModules: Array<{
|
|
52
|
+
module: any;
|
|
53
|
+
config: ModuleRegistryConfig;
|
|
54
|
+
shouldPreload: boolean;
|
|
55
|
+
}>, options?: InitializeServerOptions): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* 初始化 Server(注册模块并预加载数据)
|
|
58
|
+
* @param moduleConfigs 要注册的模块配置
|
|
59
|
+
* @param autoPreload 是否自动预加载数据
|
|
60
|
+
*/
|
|
61
|
+
initialize(moduleConfigs?: (string | ServerModuleConfig)[], autoPreload?: boolean, options?: InitializeServerOptions): Promise<{
|
|
62
|
+
module: any;
|
|
63
|
+
config: ModuleRegistryConfig;
|
|
64
|
+
shouldPreload: boolean;
|
|
65
|
+
}[]>;
|
|
66
|
+
/**
|
|
67
|
+
* 获取 Products 模块实例
|
|
68
|
+
*/
|
|
69
|
+
getProducts(): ProductsModule | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* 获取 Menu 模块实例
|
|
72
|
+
*/
|
|
73
|
+
getMenu(): MenuModule | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* 获取 Quotation 模块实例
|
|
76
|
+
*/
|
|
77
|
+
getQuotation(): QuotationModule | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* 获取 Schedule 模块实例
|
|
80
|
+
*/
|
|
81
|
+
getSchedule(): ScheduleModuleEx | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* 获取所有已注册的模块列表
|
|
84
|
+
*/
|
|
85
|
+
getRegisteredModules(): string[];
|
|
86
|
+
/**
|
|
87
|
+
* 清空所有server模块的IndexedDB缓存
|
|
88
|
+
* @returns Promise<void>
|
|
89
|
+
*/
|
|
90
|
+
clearAllIndexDB(): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* 获取所有注册的路由
|
|
93
|
+
*/
|
|
94
|
+
getRoutes(): Router;
|
|
95
|
+
/**
|
|
96
|
+
* 根据方法和路径获取路由处理函数
|
|
97
|
+
* @param method HTTP 方法
|
|
98
|
+
* @param path 路径
|
|
99
|
+
*/
|
|
100
|
+
getRouteHandler(method: HttpMethod, path: string): RouteHandler | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* 检查路由是否存在
|
|
103
|
+
* @param method HTTP 方法
|
|
104
|
+
* @param path 路径
|
|
105
|
+
*/
|
|
106
|
+
hasRoute(method: HttpMethod, path: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* 执行路由处理函数
|
|
109
|
+
* @param method HTTP 方法
|
|
110
|
+
* @param path 路径
|
|
111
|
+
* @param params 请求参数
|
|
112
|
+
*/
|
|
113
|
+
handleRoute(method: HttpMethod, path: string, params: {
|
|
114
|
+
url: string;
|
|
115
|
+
method: HttpMethod;
|
|
116
|
+
data?: any;
|
|
117
|
+
config?: RequestSetting;
|
|
118
|
+
}): Promise<any>;
|
|
119
|
+
/**
|
|
120
|
+
* 获取所有路由列表(用于调试和文档)
|
|
121
|
+
*/
|
|
122
|
+
getAllRoutes(): Array<{
|
|
123
|
+
method: HttpMethod;
|
|
124
|
+
path: string;
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* 注册 Server 层的业务路由
|
|
128
|
+
* 这些路由需要编排多个模块的数据
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
private registerServerRoutes;
|
|
132
|
+
/**
|
|
133
|
+
* 处理商品查询请求(编排 Products、Menu、Schedule 模块)
|
|
134
|
+
* 这是一个业务编排方法,协调多个模块完成复杂的业务需求
|
|
135
|
+
*/
|
|
136
|
+
private handleProductQuery;
|
|
137
|
+
/**
|
|
138
|
+
* 根据餐牌配置过滤商品
|
|
139
|
+
* @param products 所有商品列表
|
|
140
|
+
* @param activeMenuList 生效的餐牌列表
|
|
141
|
+
* @returns 过滤后的商品列表
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
private filterProductsByMenuConfig;
|
|
145
|
+
/**
|
|
146
|
+
* 处理获取日程时间段点的请求
|
|
147
|
+
* 通过餐牌ID列表获取所有相关日程的时间段点
|
|
148
|
+
*/
|
|
149
|
+
private handleGetScheduleTimePoints;
|
|
150
|
+
}
|
|
151
|
+
export default Server;
|
|
152
|
+
export * from './modules';
|