@pisell/pisellos 3.0.4 → 3.0.6

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.
Files changed (189) hide show
  1. package/dist/modules/Account/index.d.ts +2 -6
  2. package/dist/modules/Account/index.js +21 -103
  3. package/dist/modules/Account/types.d.ts +12 -1
  4. package/dist/modules/AccountList/index.d.ts +20 -1
  5. package/dist/modules/AccountList/index.js +243 -75
  6. package/dist/modules/AccountList/types.d.ts +33 -1
  7. package/dist/modules/AccountList/types.js +8 -0
  8. package/dist/modules/AccountList/utils.d.ts +9 -0
  9. package/dist/modules/AccountList/utils.js +25 -0
  10. package/dist/modules/BaseModule.d.ts +2 -2
  11. package/dist/modules/BaseModule.js +1 -1
  12. package/dist/modules/Cart/index.d.ts +8 -5
  13. package/dist/modules/Cart/index.js +101 -25
  14. package/dist/modules/Cart/types.d.ts +82 -5
  15. package/dist/modules/Cart/types.js +22 -0
  16. package/dist/modules/Cart/utils.d.ts +106 -13
  17. package/dist/modules/Cart/utils.js +289 -76
  18. package/dist/modules/Date/index.d.ts +6 -6
  19. package/dist/modules/Date/index.js +41 -58
  20. package/dist/modules/Date/types.d.ts +22 -6
  21. package/dist/modules/Date/utils.d.ts +4 -3
  22. package/dist/modules/Date/utils.js +81 -30
  23. package/dist/modules/Discount/index.d.ts +4 -4
  24. package/dist/modules/Discount/index.js +11 -11
  25. package/dist/modules/Order/index.d.ts +11 -5
  26. package/dist/modules/Order/index.js +47 -18
  27. package/dist/modules/Order/types.d.ts +10 -3
  28. package/dist/modules/Order/utils.d.ts +10 -0
  29. package/dist/modules/Order/utils.js +15 -0
  30. package/dist/modules/Product/index.d.ts +14 -1
  31. package/dist/modules/Product/index.js +35 -0
  32. package/dist/modules/Product/types.d.ts +27 -3
  33. package/dist/modules/ProductList/index.js +11 -5
  34. package/dist/modules/Resource/types.d.ts +1 -0
  35. package/dist/modules/Resource/utils.js +1 -1
  36. package/dist/modules/Rules/index.d.ts +3 -3
  37. package/dist/modules/Rules/index.js +121 -53
  38. package/dist/modules/Rules/types.d.ts +5 -1
  39. package/dist/modules/Schedule/index.d.ts +18 -0
  40. package/dist/modules/Schedule/index.js +111 -0
  41. package/dist/modules/Schedule/type.d.ts +157 -0
  42. package/dist/modules/Schedule/type.js +1 -0
  43. package/dist/modules/Schedule/types.d.ts +182 -0
  44. package/dist/modules/Schedule/types.js +1 -0
  45. package/dist/modules/Schedule/utils.d.ts +67 -0
  46. package/dist/modules/Schedule/utils.js +729 -0
  47. package/dist/modules/Step/index.d.ts +14 -3
  48. package/dist/modules/Step/index.js +54 -2
  49. package/dist/modules/Summary/index.d.ts +12 -5
  50. package/dist/modules/Summary/index.js +33 -7
  51. package/dist/modules/Summary/types.d.ts +23 -2
  52. package/dist/modules/Summary/utils.d.ts +14 -4
  53. package/dist/modules/Summary/utils.js +46 -4
  54. package/dist/modules/index.d.ts +10 -0
  55. package/dist/modules/index.js +11 -1
  56. package/dist/plugins/index.d.ts +3 -3
  57. package/dist/plugins/request.d.ts +3 -3
  58. package/dist/plugins/request.js +30 -30
  59. package/dist/plugins/shopStore.d.ts +1 -1
  60. package/dist/solution/BookingByStep/index.d.ts +97 -24
  61. package/dist/solution/BookingByStep/index.js +1024 -322
  62. package/dist/solution/BookingByStep/types.d.ts +3 -10
  63. package/dist/solution/BookingByStep/types.js +11 -15
  64. package/dist/solution/BookingByStep/utils/products.d.ts +1 -1
  65. package/dist/solution/BookingByStep/utils/products.js +3 -0
  66. package/dist/solution/BookingByStep/utils/resources.d.ts +60 -6
  67. package/dist/solution/BookingByStep/utils/resources.js +293 -52
  68. package/dist/solution/ShopDiscount/index.d.ts +4 -4
  69. package/dist/solution/ShopDiscount/index.js +16 -16
  70. package/dist/solution/ShopDiscount/types.d.ts +2 -2
  71. package/dist/solution/ShopDiscount/utils.js +1 -1
  72. package/lib/core/index.js +7 -2
  73. package/lib/modules/Account/index.d.ts +2 -6
  74. package/lib/modules/Account/index.js +15 -30
  75. package/lib/modules/Account/types.d.ts +12 -1
  76. package/lib/modules/AccountList/index.d.ts +20 -1
  77. package/lib/modules/AccountList/index.js +122 -13
  78. package/lib/modules/AccountList/types.d.ts +33 -1
  79. package/lib/modules/AccountList/utils.d.ts +9 -0
  80. package/lib/modules/AccountList/utils.js +39 -0
  81. package/lib/modules/BaseModule.d.ts +2 -2
  82. package/lib/modules/BaseModule.js +14 -3
  83. package/lib/modules/Cart/index.d.ts +8 -5
  84. package/lib/modules/Cart/index.js +81 -8
  85. package/lib/modules/Cart/types.d.ts +82 -5
  86. package/lib/modules/Cart/types.js +20 -2
  87. package/lib/modules/Cart/utils.d.ts +106 -13
  88. package/lib/modules/Cart/utils.js +188 -45
  89. package/lib/modules/Date/index.d.ts +6 -6
  90. package/lib/modules/Date/index.js +13 -28
  91. package/lib/modules/Date/types.d.ts +22 -6
  92. package/lib/modules/Date/utils.d.ts +4 -3
  93. package/lib/modules/Date/utils.js +47 -13
  94. package/lib/modules/Discount/index.d.ts +4 -4
  95. package/lib/modules/Discount/index.js +9 -2
  96. package/lib/modules/Guests/index.js +4 -1
  97. package/lib/modules/Order/index.d.ts +11 -5
  98. package/lib/modules/Order/index.js +24 -3
  99. package/lib/modules/Order/types.d.ts +10 -3
  100. package/lib/modules/Order/utils.d.ts +10 -0
  101. package/lib/modules/Order/utils.js +45 -0
  102. package/lib/modules/Payment/index.js +1 -6
  103. package/lib/modules/Product/index.d.ts +14 -1
  104. package/lib/modules/Product/index.js +19 -0
  105. package/lib/modules/Product/types.d.ts +27 -3
  106. package/lib/modules/ProductList/index.js +21 -7
  107. package/lib/modules/Resource/index.js +4 -1
  108. package/lib/modules/Resource/types.d.ts +1 -0
  109. package/lib/modules/Resource/utils.js +7 -4
  110. package/lib/modules/Rules/index.d.ts +3 -3
  111. package/lib/modules/Rules/index.js +118 -43
  112. package/lib/modules/Rules/types.d.ts +5 -1
  113. package/lib/modules/Schedule/index.d.ts +18 -0
  114. package/lib/modules/Schedule/index.js +81 -0
  115. package/lib/modules/Schedule/type.d.ts +157 -0
  116. package/lib/modules/Schedule/type.js +17 -0
  117. package/lib/modules/Schedule/types.d.ts +182 -0
  118. package/lib/modules/Schedule/types.js +17 -0
  119. package/lib/modules/Schedule/utils.d.ts +67 -0
  120. package/lib/modules/Schedule/utils.js +600 -0
  121. package/lib/modules/Step/index.d.ts +14 -3
  122. package/lib/modules/Step/index.js +38 -1
  123. package/lib/modules/Summary/index.d.ts +12 -5
  124. package/lib/modules/Summary/index.js +15 -1
  125. package/lib/modules/Summary/types.d.ts +23 -2
  126. package/lib/modules/Summary/utils.d.ts +14 -4
  127. package/lib/modules/Summary/utils.js +30 -1
  128. package/lib/modules/index.d.ts +10 -0
  129. package/lib/modules/index.js +21 -1
  130. package/lib/plugins/index.d.ts +3 -3
  131. package/lib/plugins/request.d.ts +3 -3
  132. package/lib/plugins/request.js +48 -11
  133. package/lib/plugins/shopStore.d.ts +1 -1
  134. package/lib/solution/BookingByStep/index.d.ts +97 -24
  135. package/lib/solution/BookingByStep/index.js +693 -145
  136. package/lib/solution/BookingByStep/types.d.ts +3 -10
  137. package/lib/solution/BookingByStep/types.js +37 -14
  138. package/lib/solution/BookingByStep/utils/products.d.ts +1 -1
  139. package/lib/solution/BookingByStep/utils/products.js +3 -0
  140. package/lib/solution/BookingByStep/utils/resources.d.ts +60 -6
  141. package/lib/solution/BookingByStep/utils/resources.js +286 -54
  142. package/lib/solution/BuyTickets/index.js +34 -20
  143. package/lib/solution/ShopDiscount/index.d.ts +4 -4
  144. package/lib/solution/ShopDiscount/index.js +10 -2
  145. package/lib/solution/ShopDiscount/types.d.ts +2 -2
  146. package/package.json +4 -2
  147. package/dist/core/index.d.ts.map +0 -1
  148. package/dist/effects/index.d.ts.map +0 -1
  149. package/dist/index.d.ts.map +0 -1
  150. package/dist/modules/Account/index.d.ts.map +0 -1
  151. package/dist/modules/Account/types.d.ts.map +0 -1
  152. package/dist/modules/AccountList/types.d.ts.map +0 -1
  153. package/dist/modules/Cart/index.d.ts.map +0 -1
  154. package/dist/modules/Cart/types.d.ts.map +0 -1
  155. package/dist/modules/Date/types.d.ts.map +0 -1
  156. package/dist/modules/Date/utils.d.ts.map +0 -1
  157. package/dist/modules/Guests/index.d.ts.map +0 -1
  158. package/dist/modules/Guests/types.d.ts.map +0 -1
  159. package/dist/modules/Order/index.d.ts.map +0 -1
  160. package/dist/modules/Order/types.d.ts.map +0 -1
  161. package/dist/modules/Payment/index.d.ts.map +0 -1
  162. package/dist/modules/Payment/types.d.ts.map +0 -1
  163. package/dist/modules/Product/index.d.ts.map +0 -1
  164. package/dist/modules/Product/types.d.ts.map +0 -1
  165. package/dist/modules/ProductList/types.d.ts.map +0 -1
  166. package/dist/modules/Resource/index.d.ts.map +0 -1
  167. package/dist/modules/Resource/types.d.ts.map +0 -1
  168. package/dist/modules/Resource/utils.d.ts.map +0 -1
  169. package/dist/modules/Rules/types.d.ts.map +0 -1
  170. package/dist/modules/Step/index.d.ts.map +0 -1
  171. package/dist/modules/Step/tyeps.d.ts.map +0 -1
  172. package/dist/modules/Summary/index.d.ts.map +0 -1
  173. package/dist/modules/Summary/types.d.ts.map +0 -1
  174. package/dist/modules/Summary/utils.d.ts.map +0 -1
  175. package/dist/modules/index.d.ts.map +0 -1
  176. package/dist/plugins/index.d.ts.map +0 -1
  177. package/dist/plugins/request.d.ts.map +0 -1
  178. package/dist/plugins/shopStore.d.ts.map +0 -1
  179. package/dist/plugins/window.d.ts.map +0 -1
  180. package/dist/solution/BookingByStep/types.d.ts.map +0 -1
  181. package/dist/solution/BookingByStep/utils/products.d.ts.map +0 -1
  182. package/dist/solution/BuyTickets/index.d.ts.map +0 -1
  183. package/dist/solution/BuyTickets/types.d.ts.map +0 -1
  184. package/dist/solution/PlaceOrder/index.d.ts.map +0 -1
  185. package/dist/solution/ShopDiscount/types.d.ts.map +0 -1
  186. package/dist/solution/ShopDiscount/utils.d.ts.map +0 -1
  187. package/dist/solution/index.d.ts.map +0 -1
  188. package/dist/store/createStore.d.ts.map +0 -1
  189. package/dist/types/index.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Plugin } from "../types";
1
+ import { Plugin } from '../types';
2
2
  export interface ShopStorePlugin extends Plugin {
3
3
  get(model: string): any;
4
4
  }
@@ -1,12 +1,14 @@
1
- import { Module, PisellCore } from "../../types";
2
- import { BaseModule } from "../../modules/BaseModule";
3
- import { Response } from "../../plugins";
4
- import { BookingByStepState } from "./types";
5
- import { CartItem, IUpdateItemParams, ProductData } from "../../modules";
6
- import { Account } from "../../modules/Account/types";
7
- import { IStep } from "../../modules/Step/tyeps";
8
- import { TimeSliceItem } from "./utils/resources";
9
- import { ITime } from "../../modules/Date/types";
1
+ import { Module, PisellCore } from '../../types';
2
+ import { BaseModule } from '../../modules/BaseModule';
3
+ import { Response } from '../../plugins';
4
+ import { BookingByStepState } from './types';
5
+ import { CartItem, IUpdateItemParams, ProductData, ProductResourceItem, ECartItemInfoType, ECartItemCheckType } from '../../modules';
6
+ import { Account } from '../../modules/Account/types';
7
+ import { IStep } from '../../modules/Step/tyeps';
8
+ import { TimeSliceItem } from './utils/resources';
9
+ import { ITime } from '../../modules/Date/types';
10
+ import dayjs from 'dayjs';
11
+ import { IHolder, IFetchHolderAccountsParams } from '../../modules/AccountList/types';
10
12
  export declare class BookingByStepImpl extends BaseModule implements Module {
11
13
  protected defaultName: string;
12
14
  protected defaultVersion: string;
@@ -17,6 +19,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
17
19
  private store;
18
20
  private otherParams;
19
21
  private cacheId;
22
+ private otherData;
20
23
  initialize(core: PisellCore, options: any): Promise<void>;
21
24
  initStep(stepList: (keyof BookingByStepState)[]): void;
22
25
  getCurrentStep(): {
@@ -27,26 +30,60 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
27
30
  back(): void;
28
31
  gotoStep(index: number): void;
29
32
  getStepList(): IStep[];
30
- loadProducts({ category_ids, product_ids, collection, }: {
33
+ /**
34
+ * 添加step
35
+ */
36
+ addStep(step: IStep, key?: string): void;
37
+ /**
38
+ * 删除step
39
+ */
40
+ removeStep(key: string): void;
41
+ loadProducts({ category_ids, product_ids, collection, schedule_ids, }: {
31
42
  category_ids?: number[];
32
43
  product_ids?: number[];
33
44
  collection?: number | string[];
45
+ schedule_ids?: number[];
46
+ }): Promise<any>;
47
+ loadProductByScheduleDate({ date, product_ids, category_ids, }: {
48
+ date: string;
49
+ product_ids?: number[];
50
+ category_ids?: number[];
34
51
  }): Promise<any>;
52
+ loadAllSchedule(): Promise<void>;
53
+ loadScheduleAvailableDate({ startDate, endDate, custom_page_id, }: {
54
+ startDate: string;
55
+ endDate: string;
56
+ custom_page_id?: number;
57
+ }): Promise<ITime[]>;
35
58
  storeProduct(productData: ProductData): Promise<void>;
36
- addAccount(accounts: Account[]): Promise<void>;
59
+ addAccount(account: Account | IHolder, extra?: {
60
+ type: 'account' | 'holder';
61
+ customerId: number;
62
+ }): Promise<Account | null>;
63
+ addAccounts(accounts: Account[] | IHolder[], extra?: {
64
+ type: 'account' | 'holder';
65
+ customerId: number;
66
+ }): Promise<Account[] | undefined>;
37
67
  getAccounts(): Promise<(Account | null)[]>;
38
68
  checkHasLoginAccount(): boolean;
39
69
  setActiveAccount(id: string): void;
40
70
  getActiveAccount(): Account | null;
41
71
  removeAccount(id: string): void;
72
+ /**
73
+ * 获取holder类型账户列表
74
+ * @param params
75
+ */
76
+ fetchHolderAccountsAsync(params: IFetchHolderAccountsParams): Promise<void>;
42
77
  setDateRange(dateRange: ITime[]): Promise<void>;
43
78
  clearDateRange(): void;
44
79
  getDateRange(): Promise<ITime[]>;
45
80
  getCart(): CartItem[];
46
81
  getAvailableDate(params?: {
82
+ url?: string;
47
83
  products?: ProductData[];
48
84
  startDate?: string;
49
85
  endDate?: string;
86
+ type?: 'month' | 'day';
50
87
  }): Promise<ITime[]>;
51
88
  /**
52
89
  * 获取购物车汇总信息
@@ -57,11 +94,25 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
57
94
  taxTitle?: string | undefined;
58
95
  totalTaxFee?: string | number | undefined;
59
96
  isPriceIncludeTax?: 0 | 1 | undefined;
97
+ deposit?: {
98
+ total?: string | number | undefined;
99
+ policies?: import("../../modules/Summary/types").IProtocol[] | undefined;
100
+ } | undefined;
60
101
  }>;
102
+ /**
103
+ * 获取协议
104
+ */
105
+ getProtocol(protocolId: string): Promise<any>;
61
106
  getProducts(): Promise<ProductData[]>;
62
107
  setLoginAccount(accountId: string, accountInfo: Account): Promise<void>;
63
108
  generateCartData(): Promise<void>;
64
109
  getFreeProduct(id: string | number): Promise<Response<any>>;
110
+ /**
111
+ * 检查购物车提交订单前是否符合条件
112
+ * @param type 类型 "holder" | "account"
113
+ * @returns boolean
114
+ */
115
+ checkBeforeSubmitOrder(type: 'holder' | 'account'): boolean;
65
116
  submitOrder(): Promise<void>;
66
117
  pay(): Promise<void>;
67
118
  getPayInfo(): Promise<void>;
@@ -80,7 +131,14 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
80
131
  /**
81
132
  * 从购物车中按类别删除信息
82
133
  */
83
- deleteCartItemInfo(types: "resource" | "time"): void;
134
+ deleteCartItemInfo(type: ECartItemInfoType, _id?: string): void;
135
+ checkCartItemByType(cartItem: CartItem, type: ECartItemCheckType): boolean;
136
+ /**
137
+ * 检查购物车商品是否符合条件
138
+ * @param type 类型
139
+ * @returns 不符合条件的购物车商品ID列表
140
+ */
141
+ checkCartItems(type: ECartItemCheckType): string[];
84
142
  destroy(): void;
85
143
  getResourcesList(): any[];
86
144
  getResourcesListByCartItem(id: string | number): {
@@ -96,22 +154,12 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
96
154
  resources: any[];
97
155
  currentResourceId: number;
98
156
  }): TimeSliceItem[];
99
- autoSelectResource({ resourceProductData, resources, timeSlots, }: {
100
- resourceProductData: any;
101
- resources: any[];
102
- timeSlots?: TimeSliceItem;
103
- }): {
104
- selectedResource: any;
105
- timeSlots?: undefined;
106
- } | {
107
- timeSlots: any[];
108
- selectedResource: any;
109
- } | undefined;
110
- autoSelectAccountResources({ holder_id, resources_code, timeSlots, countMap, }: {
157
+ autoSelectAccountResources({ holder_id, resources_code, timeSlots, countMap, capacity, }: {
111
158
  holder_id: string;
112
159
  resources_code: string | number;
113
160
  timeSlots?: TimeSliceItem;
114
161
  countMap: Record<number, number>;
162
+ capacity?: number;
115
163
  }): {
116
164
  selectedResource: any;
117
165
  timeSlots?: undefined;
@@ -126,4 +174,29 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
126
174
  submitTimeSlot(timeSlots: TimeSliceItem): void;
127
175
  clearCache(): void;
128
176
  clearCacheByModule(module: string): void;
177
+ private getScheduleDataByIds;
178
+ openProductDetail(productId: number): Promise<void>;
179
+ closeProductDetail(): void;
180
+ getTimeslotBySchedule({ date, scheduleIds, resources, }: {
181
+ date: string;
182
+ scheduleIds?: number[];
183
+ resources?: ProductResourceItem[];
184
+ }): {
185
+ start_time: string;
186
+ end_time: string;
187
+ start_at: dayjs.Dayjs;
188
+ end_at: dayjs.Dayjs;
189
+ count: number;
190
+ }[];
191
+ addProductToCart({ product, date, account, }: {
192
+ product: ProductData;
193
+ date: {
194
+ startTime: string;
195
+ endTime: string;
196
+ };
197
+ account: Account;
198
+ }): void;
199
+ setOtherData(key: string, value: any): void;
200
+ getOtherData(key: string): any;
201
+ getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
129
202
  }