@pisell/pisellos 2.3.73 → 2.3.75

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 (296) hide show
  1. package/dist/core/index.d.ts +7 -0
  2. package/dist/core/index.js +111 -71
  3. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/strategy-example.js +5 -19
  6. package/dist/modules/Cart/index.js +0 -3
  7. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  8. package/dist/modules/Date/index.js +1 -5
  9. package/dist/modules/Discount/index.js +2 -4
  10. package/dist/modules/OpenData/index.js +0 -2
  11. package/dist/modules/Order/index.d.ts +1 -1
  12. package/dist/modules/Order/index.js +36 -64
  13. package/dist/modules/Payment/index.js +97 -162
  14. package/dist/modules/Quotation/index.d.ts +6 -0
  15. package/dist/modules/Quotation/index.js +75 -19
  16. package/dist/modules/Rules/index.js +1 -4
  17. package/dist/modules/Schedule/index.js +0 -1
  18. package/dist/modules/Schedule/utils.js +0 -1
  19. package/dist/modules/Step/index.js +0 -1
  20. package/dist/plugins/request.d.ts +1 -0
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.d.ts +8 -2
  24. package/dist/server/index.js +303 -269
  25. package/dist/server/modules/floor-plan/index.d.ts +4 -0
  26. package/dist/server/modules/floor-plan/index.js +240 -98
  27. package/dist/server/modules/menu/index.js +75 -59
  28. package/dist/server/modules/order/index.d.ts +17 -7
  29. package/dist/server/modules/order/index.js +421 -211
  30. package/dist/server/modules/products/index.d.ts +8 -2
  31. package/dist/server/modules/products/index.js +191 -117
  32. package/dist/server/modules/quotation/index.js +29 -38
  33. package/dist/server/modules/resource/index.js +24 -17
  34. package/dist/server/modules/schedule/index.js +27 -35
  35. package/dist/server/utils/product.js +0 -1
  36. package/dist/solution/BaseSales/index.js +38 -41
  37. package/dist/solution/BookingByStep/index.d.ts +1 -1
  38. package/dist/solution/BookingByStep/index.js +7 -59
  39. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  40. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  41. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  42. package/dist/solution/BookingTicket/index.js +0 -2
  43. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  44. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  45. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  46. package/dist/solution/BuyTickets/index.js +9 -12
  47. package/dist/solution/Checkout/index.js +177 -252
  48. package/dist/solution/Checkout/utils/index.js +4 -16
  49. package/dist/solution/RegisterAndLogin/index.js +30 -76
  50. package/dist/solution/ScanOrder/index.js +50 -60
  51. package/dist/solution/ShopDiscount/index.js +2 -7
  52. package/dist/solution/VenueBooking/index.js +45 -55
  53. package/dist/utils/task.js +15 -18
  54. package/dist/utils/watch.js +0 -1
  55. package/lib/apis/picoding.js +2 -0
  56. package/lib/core/index.d.ts +7 -0
  57. package/lib/core/index.js +149 -131
  58. package/lib/effects/index.js +46 -57
  59. package/lib/index.js +82 -49
  60. package/lib/model/index.js +14 -21
  61. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  62. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  63. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  64. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  65. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  66. package/lib/model/strategy/adapter/index.js +100 -64
  67. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  68. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  69. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  70. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  71. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  72. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  73. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  74. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  75. package/lib/model/strategy/adapter/promotion/index.js +1 -0
  76. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  77. package/lib/model/strategy/adapter/type.js +4 -16
  78. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  79. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  80. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  81. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  82. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  83. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  84. package/lib/model/strategy/engine.js +270 -168
  85. package/lib/model/strategy/index.js +49 -34
  86. package/lib/model/strategy/strategy-example.js +243 -239
  87. package/lib/model/strategy/type.js +100 -40
  88. package/lib/modules/Account/index.js +39 -53
  89. package/lib/modules/Account/types.js +20 -33
  90. package/lib/modules/AccountList/index.js +116 -154
  91. package/lib/modules/AccountList/types.js +30 -31
  92. package/lib/modules/AccountList/utils.js +18 -30
  93. package/lib/modules/BaseModule.js +23 -42
  94. package/lib/modules/BookingContext/index.js +158 -136
  95. package/lib/modules/BookingContext/types.js +46 -32
  96. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  97. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  98. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  99. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  100. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  101. package/lib/modules/BookingContext/utils/index.js +124 -41
  102. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  103. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  104. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  105. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  106. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  107. package/lib/modules/BookingContext/utils/resources.js +209 -167
  108. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  109. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  110. package/lib/modules/Cart/index.js +170 -124
  111. package/lib/modules/Cart/types.js +46 -51
  112. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  113. package/lib/modules/Cart/utils/cartDate.js +56 -61
  114. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  115. package/lib/modules/Cart/utils/cartNote.js +27 -32
  116. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  117. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  118. package/lib/modules/Cart/utils/cartResource.js +70 -78
  119. package/lib/modules/Cart/utils/changePrice.js +22 -50
  120. package/lib/modules/Cart/utils/index.js +106 -48
  121. package/lib/modules/Customer/constants.js +13 -34
  122. package/lib/modules/Customer/index.js +235 -172
  123. package/lib/modules/Customer/types.js +38 -35
  124. package/lib/modules/Date/index.js +116 -115
  125. package/lib/modules/Date/types.js +16 -28
  126. package/lib/modules/Date/utils.js +174 -123
  127. package/lib/modules/Discount/index.js +122 -127
  128. package/lib/modules/Discount/types.js +9 -31
  129. package/lib/modules/Guests/index.js +30 -56
  130. package/lib/modules/Guests/types.js +23 -33
  131. package/lib/modules/Holder/index.js +209 -189
  132. package/lib/modules/Holder/types.js +4 -16
  133. package/lib/modules/Holder/utils.js +20 -49
  134. package/lib/modules/OpenData/index.js +70 -76
  135. package/lib/modules/OpenData/types.js +4 -16
  136. package/lib/modules/OpenData/utils.js +44 -78
  137. package/lib/modules/Order/index.d.ts +1 -1
  138. package/lib/modules/Order/index.js +1713 -2118
  139. package/lib/modules/Order/payment-utils.js +77 -120
  140. package/lib/modules/Order/types.js +88 -35
  141. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  142. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  143. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  144. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  145. package/lib/modules/Order/utils.js +814 -647
  146. package/lib/modules/Payment/cash.js +20 -33
  147. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  148. package/lib/modules/Payment/eftpos.js +16 -30
  149. package/lib/modules/Payment/index.js +532 -399
  150. package/lib/modules/Payment/mx51.js +1 -0
  151. package/lib/modules/Payment/types.js +230 -108
  152. package/lib/modules/Payment/utils.js +52 -51
  153. package/lib/modules/Payment/walletpass.js +485 -660
  154. package/lib/modules/Product/index.js +51 -46
  155. package/lib/modules/Product/types.js +4 -16
  156. package/lib/modules/Product/utils.js +32 -33
  157. package/lib/modules/ProductList/index.js +113 -123
  158. package/lib/modules/ProductList/types.js +9 -31
  159. package/lib/modules/Quotation/index.d.ts +6 -0
  160. package/lib/modules/Quotation/index.js +110 -103
  161. package/lib/modules/Quotation/types.js +4 -16
  162. package/lib/modules/Resource/index.js +27 -59
  163. package/lib/modules/Resource/types.js +22 -32
  164. package/lib/modules/Resource/utils.js +30 -38
  165. package/lib/modules/ResourcePlanner/index.js +25 -23
  166. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  167. package/lib/modules/ResourcePlanner/planner.js +589 -770
  168. package/lib/modules/ResourcePlanner/types.js +10 -29
  169. package/lib/modules/Rules/index.js +1218 -959
  170. package/lib/modules/Rules/types.js +17 -40
  171. package/lib/modules/SalesSummary/index.js +85 -90
  172. package/lib/modules/SalesSummary/types.js +4 -16
  173. package/lib/modules/SalesSummary/utils.js +355 -430
  174. package/lib/modules/ScanOrderLogger/index.js +59 -79
  175. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  176. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  177. package/lib/modules/ScanOrderLogger/types.js +4 -16
  178. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  179. package/lib/modules/Schedule/index.js +100 -114
  180. package/lib/modules/Schedule/type.js +4 -16
  181. package/lib/modules/Schedule/types.js +4 -16
  182. package/lib/modules/Schedule/utils.js +433 -291
  183. package/lib/modules/Step/index.js +40 -52
  184. package/lib/modules/Step/tyeps.js +4 -16
  185. package/lib/modules/Summary/index.js +66 -71
  186. package/lib/modules/Summary/types.js +4 -16
  187. package/lib/modules/Summary/utils.js +773 -418
  188. package/lib/modules/SurchargeList/index.js +46 -60
  189. package/lib/modules/SurchargeList/types.js +4 -16
  190. package/lib/modules/index.js +245 -63
  191. package/lib/plugins/app.js +4 -16
  192. package/lib/plugins/index.js +36 -25
  193. package/lib/plugins/request.d.ts +1 -0
  194. package/lib/plugins/request.js +137 -126
  195. package/lib/plugins/shopStore.js +4 -16
  196. package/lib/plugins/user.js +4 -16
  197. package/lib/plugins/window.js +171 -179
  198. package/lib/server/index.d.ts +8 -2
  199. package/lib/server/index.js +3083 -2663
  200. package/lib/server/modules/floor-plan/index.d.ts +4 -0
  201. package/lib/server/modules/floor-plan/index.js +159 -127
  202. package/lib/server/modules/floor-plan/types.js +15 -30
  203. package/lib/server/modules/index.js +106 -68
  204. package/lib/server/modules/menu/index.js +170 -124
  205. package/lib/server/modules/menu/types.js +18 -31
  206. package/lib/server/modules/order/index.d.ts +17 -7
  207. package/lib/server/modules/order/index.js +916 -977
  208. package/lib/server/modules/order/types.js +122 -33
  209. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  210. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  211. package/lib/server/modules/payment/index.js +59 -83
  212. package/lib/server/modules/payment/types.js +4 -16
  213. package/lib/server/modules/products/index.d.ts +8 -2
  214. package/lib/server/modules/products/index.js +656 -471
  215. package/lib/server/modules/products/types.js +44 -34
  216. package/lib/server/modules/quotation/index.js +137 -172
  217. package/lib/server/modules/quotation/types.js +21 -31
  218. package/lib/server/modules/resource/index.js +225 -186
  219. package/lib/server/modules/resource/types.js +42 -33
  220. package/lib/server/modules/schedule/index.js +135 -123
  221. package/lib/server/modules/schedule/types.js +14 -21
  222. package/lib/server/modules/schedule/utils.js +334 -163
  223. package/lib/server/types.js +4 -16
  224. package/lib/server/utils/index.js +25 -23
  225. package/lib/server/utils/product.js +196 -139
  226. package/lib/server/utils/schedule.js +34 -41
  227. package/lib/server/utils/small-ticket.js +479 -456
  228. package/lib/server/utils/time.js +40 -49
  229. package/lib/solution/BaseSales/index.js +1186 -1410
  230. package/lib/solution/BaseSales/types.js +42 -38
  231. package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
  232. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  233. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  234. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
  235. package/lib/solution/BaseSales/utils.js +158 -143
  236. package/lib/solution/BookingByStep/index.d.ts +1 -1
  237. package/lib/solution/BookingByStep/index.js +1527 -1340
  238. package/lib/solution/BookingByStep/types.js +40 -99
  239. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  240. package/lib/solution/BookingByStep/utils/products.js +42 -52
  241. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  242. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  243. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  244. package/lib/solution/BookingTicket/index.js +607 -522
  245. package/lib/solution/BookingTicket/types.js +99 -77
  246. package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
  247. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  248. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  249. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  250. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  251. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  252. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  253. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  254. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  255. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  256. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  257. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  258. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  259. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  260. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  261. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  262. package/lib/solution/BuyTickets/index.js +67 -70
  263. package/lib/solution/BuyTickets/types.js +22 -38
  264. package/lib/solution/Checkout/index.js +1451 -1158
  265. package/lib/solution/Checkout/types.js +91 -61
  266. package/lib/solution/Checkout/utils/index.js +228 -156
  267. package/lib/solution/PlaceOrder/index.js +55 -0
  268. package/lib/solution/RegisterAndLogin/config.js +493 -460
  269. package/lib/solution/RegisterAndLogin/index.js +633 -630
  270. package/lib/solution/RegisterAndLogin/types.js +189 -76
  271. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  272. package/lib/solution/Sales/index.js +328 -324
  273. package/lib/solution/Sales/types.js +27 -33
  274. package/lib/solution/ScanOrder/index.js +832 -864
  275. package/lib/solution/ScanOrder/types.js +33 -34
  276. package/lib/solution/ScanOrder/utils.js +409 -374
  277. package/lib/solution/ShopDiscount/index.js +226 -232
  278. package/lib/solution/ShopDiscount/types.js +15 -37
  279. package/lib/solution/ShopDiscount/utils.js +300 -172
  280. package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
  281. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  282. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  283. package/lib/solution/VenueBooking/index.js +811 -879
  284. package/lib/solution/VenueBooking/types.js +19 -39
  285. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  286. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  287. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  288. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  289. package/lib/solution/VenueBooking/utils.js +130 -67
  290. package/lib/solution/index.js +124 -41
  291. package/lib/store/createStore.js +32 -29
  292. package/lib/types/index.js +4 -16
  293. package/lib/utils/payment-number.js +26 -46
  294. package/lib/utils/task.js +36 -36
  295. package/lib/utils/watch.js +81 -47
  296. package/package.json +2 -1
@@ -1,70 +1,55 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/modules/AccountList/index.ts
20
- var AccountList_exports = {};
21
- __export(AccountList_exports, {
22
- AccountListModule: () => AccountListModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(AccountList_exports);
25
- var import_lodash_es = require("lodash-es");
26
- var import_Account = require("../Account");
27
- var import_BaseModule = require("../BaseModule");
28
- var import_types = require("./types");
29
- var import_utils = require("./utils");
30
- var AccountListModule = class extends import_BaseModule.BaseModule {
6
+ exports.AccountListModule = void 0;
7
+ var _lodashEs = require("lodash-es");
8
+ var _Account = require("../Account");
9
+ var _BaseModule = require("../BaseModule");
10
+ var _types = require("./types");
11
+ var _utils = require("./utils");
12
+ class AccountListModule extends _BaseModule.BaseModule {
13
+ defaultName = 'accountList';
14
+ defaultVersion = '1.0.0';
15
+ store = {
16
+ accountList: [],
17
+ // 账号的纯数据列表
18
+ accounts: [],
19
+ // 账号的 module 列表
20
+ isLoading: false,
21
+ error: null
22
+ };
23
+ request;
24
+ cacheId;
25
+ openCache = false;
26
+ fatherModule;
31
27
  constructor(name, version) {
32
28
  super(name, version);
33
- this.defaultName = "accountList";
34
- this.defaultVersion = "1.0.0";
35
- this.store = {
36
- accountList: [],
37
- // 账号的纯数据列表
38
- accounts: [],
39
- // 账号的 module 列表
40
- isLoading: false,
41
- error: null
42
- };
43
- this.openCache = false;
44
29
  }
45
30
  async initialize(core, options) {
46
- var _a, _b, _c;
47
31
  this.core = core;
48
- this.store = options == null ? void 0 : options.store;
49
- this.request = this.core.getPlugin("request");
50
- if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.accountList)) {
51
- const recordList = (0, import_lodash_es.cloneDeep)(options.initialState.accountList || []);
32
+ this.store = options?.store;
33
+ this.request = this.core.getPlugin('request');
34
+ if (Array.isArray(options?.initialState?.accountList)) {
35
+ const recordList = (0, _lodashEs.cloneDeep)(options.initialState.accountList || []);
52
36
  this.store.accounts = [];
53
- recordList.forEach((account) => {
37
+ recordList.forEach(account => {
54
38
  this.addAccount(account);
55
39
  });
56
40
  } else {
57
41
  this.store.accounts = [];
58
42
  this.store.accountList = [];
59
43
  }
60
- if ((_b = options == null ? void 0 : options.otherParams) == null ? void 0 : _b.cacheId) {
44
+ if (options?.otherParams?.cacheId) {
61
45
  this.openCache = options.otherParams.openCache;
62
46
  this.cacheId = options.otherParams.cacheId;
63
47
  }
64
- if ((_c = options == null ? void 0 : options.otherParams) == null ? void 0 : _c.fatherModule) {
48
+ if (options?.otherParams?.fatherModule) {
65
49
  this.fatherModule = options.otherParams.fatherModule;
66
50
  }
67
51
  }
52
+
68
53
  /**
69
54
  * 创建账号并添加到列表中
70
55
  * @param account 账号信息
@@ -72,32 +57,28 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
72
57
  * @param type 添加类型
73
58
  */
74
59
  async createAccountAndAdd(account, needEmit = true, type) {
75
- const tempAccountModule = this.store.accounts.find(
76
- (a) => a.getId() === account.id
77
- );
60
+ const tempAccountModule = this.store.accounts.find(a => a.getId() === account.id);
61
+ // 如果账号已经存在,则直接返回
78
62
  if (tempAccountModule) {
79
63
  return tempAccountModule;
80
64
  }
81
- const newAccountList = [...this.store.accountList || []];
82
- if (type === "unshift") {
65
+ const newAccountList = [...(this.store.accountList || [])];
66
+ if (type === 'unshift') {
83
67
  newAccountList.unshift(account);
84
68
  } else {
85
69
  newAccountList.push(account);
86
70
  }
87
71
  this.store.accountList = newAccountList;
88
- const accountModule = new import_Account.AccountModule(`account_${account.id}`);
72
+ const accountModule = new _Account.AccountModule(`account_${account.id}`);
89
73
  this.core.registerModule(accountModule);
90
74
  accountModule.setAccountInfo(account);
91
- if (type === "unshift") {
92
- this.store.accounts = [accountModule, ...this.store.accounts || []];
75
+ if (type === 'unshift') {
76
+ this.store.accounts = [accountModule, ...(this.store.accounts || [])];
93
77
  } else {
94
- this.store.accounts = [...this.store.accounts || [], accountModule];
78
+ this.store.accounts = [...(this.store.accounts || []), accountModule];
95
79
  }
96
80
  if (needEmit) {
97
- await this.core.effects.emit(
98
- import_types.AccountListHooks.OnAccountListUpdate,
99
- this.store
100
- );
81
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
101
82
  }
102
83
  return accountModule;
103
84
  }
@@ -106,32 +87,24 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
106
87
  try {
107
88
  this.store.isLoading = true;
108
89
  this.store.error = null;
109
- if (this.store.accounts.some((a) => a.getId() === account.id)) {
110
- currentAccountModule = this.store.accounts.find(
111
- (n) => n.getId() === account.id
112
- );
90
+ if (this.store.accounts.some(a => a.getId() === account.id)) {
91
+ currentAccountModule = this.store.accounts.find(n => n.getId() === account.id);
113
92
  throw new Error(`Account with id ${account.id} already exists`);
114
93
  }
115
94
  this.store.accountList.push(account);
116
- const accountModule = new import_Account.AccountModule(`account_${account.id}`);
95
+ const accountModule = new _Account.AccountModule(`account_${account.id}`);
117
96
  this.core.registerModule(accountModule);
118
97
  accountModule.setAccountInfo(account);
119
- this.store.accounts = [...this.store.accounts || [], accountModule];
98
+ this.store.accounts = [...(this.store.accounts || []), accountModule];
120
99
  if (this.store.accounts.length === 1) {
121
100
  this.setActiveAccount(accountModule.getId());
122
101
  }
123
102
  currentAccountModule = accountModule;
124
- await this.core.effects.emit(
125
- import_types.AccountListHooks.OnAccountListUpdate,
126
- this.store
127
- );
103
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
128
104
  } catch (error) {
129
105
  console.error(error);
130
- this.store.error = error instanceof Error ? error.message : "Failed to add account";
131
- await this.core.effects.emit(
132
- import_types.AccountListHooks.OnAccountListError,
133
- this.store.error
134
- );
106
+ this.store.error = error instanceof Error ? error.message : 'Failed to add account';
107
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
135
108
  } finally {
136
109
  this.store.isLoading = false;
137
110
  return currentAccountModule;
@@ -146,99 +119,80 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
146
119
  throw new Error(`Account with id ${id} not found`);
147
120
  }
148
121
  account.setAccountInfo(updates);
149
- const index = this.store.accountList.findIndex(
150
- (account2) => account2.id === id
151
- );
122
+ // this.store.accountList.forEach(account => {
123
+ // if (account.id === id) {
124
+ // Object.assign(account, updates)
125
+ // }
126
+ // })
127
+ const index = this.store.accountList.findIndex(account => account.id === id);
152
128
  if (index !== -1) {
153
129
  this.store.accountList[index] = updates;
154
130
  }
155
- await this.core.effects.emit(
156
- import_types.AccountListHooks.OnAccountListUpdate,
157
- this.store
158
- );
131
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
159
132
  } catch (error) {
160
- this.store.error = error instanceof Error ? error.message : "Failed to update account";
161
- await this.core.effects.emit(
162
- import_types.AccountListHooks.OnAccountListError,
163
- this.store.error
164
- );
133
+ this.store.error = error instanceof Error ? error.message : 'Failed to update account';
134
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
165
135
  } finally {
166
136
  this.store.isLoading = false;
167
137
  }
168
138
  }
169
139
  async updateAccountListById(id, updates) {
170
- this.store.accountList = this.store.accountList.map((account) => {
140
+ this.store.accountList = this.store.accountList.map(account => {
171
141
  if (account.id === id) {
172
142
  return updates;
173
143
  }
174
144
  return account;
175
145
  });
176
146
  this.core.effects.emit(`${this.name}:changed`, {
177
- path: "accounts",
147
+ path: 'accounts',
178
148
  value: this.store.accountList
179
149
  });
180
150
  }
181
151
  async removeAccount(id) {
182
- var _a;
183
152
  try {
184
153
  this.store.isLoading = true;
185
154
  this.store.error = null;
186
- const index = this.store.accounts.findIndex((a) => a.getId() === id);
155
+ const index = this.store.accounts.findIndex(a => a.getId() === id);
187
156
  if (index === -1) {
188
157
  throw new Error(`Account with id ${id} not found`);
189
158
  }
190
159
  this.store.accounts[index].destroy();
191
- this.store.accounts = [
192
- ...(this.store.accounts || []).slice(0, index),
193
- ...(this.store.accounts || []).slice(index + 1)
194
- ];
195
- this.store.accountList = this.store.accountList.filter(
196
- (account) => account.id !== id
197
- );
198
- if (!this.getActiveAccount() || ((_a = this.getActiveAccount()) == null ? void 0 : _a.getId()) === id || this.store.accounts.length === 1) {
160
+ this.store.accounts = [...(this.store.accounts || []).slice(0, index), ...(this.store.accounts || []).slice(index + 1)];
161
+ this.store.accountList = this.store.accountList.filter(account => account.id !== id);
162
+
163
+ // 检测 如果被删除的是活跃账号,则默认把第一个账号设置为 activeAccount
164
+ if (!this.getActiveAccount() || this.getActiveAccount()?.getId() === id || this.store.accounts.length === 1) {
199
165
  this.setActiveAccount(this.store.accounts[0].getId());
200
166
  }
201
- await this.core.effects.emit(
202
- import_types.AccountListHooks.OnAccountListUpdate,
203
- this.store
204
- );
167
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
205
168
  } catch (error) {
206
- this.store.error = error instanceof Error ? error.message : "Failed to remove account";
207
- await this.core.effects.emit(
208
- import_types.AccountListHooks.OnAccountListError,
209
- this.store.error
210
- );
169
+ this.store.error = error instanceof Error ? error.message : 'Failed to remove account';
170
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
211
171
  } finally {
212
172
  this.store.isLoading = false;
213
173
  }
214
174
  }
215
175
  getAccounts() {
216
- return [...this.store.accounts || []];
176
+ return [...(this.store.accounts || [])];
217
177
  }
218
178
  getAccount(id) {
219
- return this.store.accounts.find((account) => account.getId() === id) || null;
179
+ return this.store.accounts.find(account => account.getId() === id) || null;
220
180
  }
221
181
  async clearAccounts() {
222
182
  try {
223
183
  this.store.isLoading = true;
224
184
  this.store.error = null;
225
185
  this.store.accounts = [];
226
- await this.core.effects.emit(
227
- import_types.AccountListHooks.OnAccountListUpdate,
228
- this.store
229
- );
186
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
230
187
  } catch (error) {
231
- this.store.error = error instanceof Error ? error.message : "Failed to clear accounts";
232
- await this.core.effects.emit(
233
- import_types.AccountListHooks.OnAccountListError,
234
- this.store.error
235
- );
188
+ this.store.error = error instanceof Error ? error.message : 'Failed to clear accounts';
189
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListError, this.store.error);
236
190
  } finally {
237
191
  this.store.isLoading = false;
238
192
  }
239
193
  }
240
194
  setActiveAccount(id) {
241
- this.store.accounts.forEach((account) => {
195
+ this.store.accounts.forEach(account => {
242
196
  if (account.getId() === id) {
243
197
  account.setActive(true);
244
198
  } else {
@@ -247,82 +201,93 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
247
201
  });
248
202
  }
249
203
  getActiveAccount() {
250
- return this.store.accounts.find((account) => account.isActive()) || null;
204
+ return this.store.accounts.find(account => account.isActive()) || null;
251
205
  }
252
206
  storeChange() {
253
207
  if (this.openCache) {
254
- const store = (0, import_lodash_es.cloneDeep)(this.store);
255
- store.accountList = store.accountList.filter(
256
- (account, index, self) => index === self.findIndex((t) => t.id === account.id)
257
- );
208
+ const store = (0, _lodashEs.cloneDeep)(this.store);
209
+ // store里的 accountList 要主动基于 id 做下去重,避免重复写入
210
+ store.accountList = store.accountList.filter((account, index, self) => index === self.findIndex(t => t.id === account.id));
258
211
  this.checkSaveCache({
259
212
  cacheId: this.cacheId,
260
213
  fatherModule: this.fatherModule,
261
214
  store,
262
- cacheKey: ["accountList"]
215
+ cacheKey: ['accountList']
263
216
  });
264
217
  }
265
218
  }
219
+
266
220
  /**
267
221
  * 批量添加holder类型账号
268
222
  */
269
223
  async addHolderAccounts(params) {
270
- const { holders, customerId, type = "push" } = params;
224
+ const {
225
+ holders,
226
+ customerId,
227
+ type = 'push'
228
+ } = params;
271
229
  const accountModules = [];
272
230
  for (const holder of holders) {
273
- const account = (0, import_utils.createHolderAccount)(holder, customerId);
274
- const accountModule = await this.createAccountAndAdd(
275
- account,
276
- false,
277
- type
278
- );
279
- if (type === "unshift") {
231
+ const account = (0, _utils.createHolderAccount)(holder, customerId);
232
+ const accountModule = await this.createAccountAndAdd(account, false, type);
233
+ if (type === 'unshift') {
280
234
  accountModules.unshift(accountModule);
281
235
  } else {
282
236
  accountModules.push(accountModule);
283
237
  }
284
238
  }
285
- await this.core.effects.emit(
286
- import_types.AccountListHooks.OnAccountListUpdate,
287
- this.store
288
- );
239
+ await this.core.effects.emit(_types.AccountListHooks.OnAccountListUpdate, this.store);
289
240
  return accountModules;
290
241
  }
242
+
291
243
  /**
292
244
  * 获取客户列表
293
245
  * @param params 查询参数
294
246
  * @returns 客户列表
295
247
  */
296
248
  async getCustomerList(params = {}) {
297
- const url = "/customer/es/data";
298
- const { page = 1, pageSize = 20, keyword, ...otherParams } = params;
249
+ const url = '/customer/es/data';
250
+ const {
251
+ page = 1,
252
+ pageSize = 20,
253
+ keyword,
254
+ ...otherParams
255
+ } = params;
299
256
  try {
300
257
  this.store.isLoading = true;
301
258
  this.store.error = null;
302
259
  const queryParams = {
303
260
  page,
304
261
  pageSize,
305
- ...keyword && { keyword },
262
+ ...(keyword && {
263
+ keyword
264
+ }),
306
265
  ...otherParams
307
266
  };
308
267
  const res = await this.request.get(url, queryParams);
309
- return (res == null ? void 0 : res.data) || [];
268
+ return res?.data || [];
310
269
  } catch (error) {
311
- console.error("Failed to fetch customer list:", error);
312
- this.store.error = error instanceof Error ? error.message : "Failed to fetch customer list";
270
+ console.error('Failed to fetch customer list:', error);
271
+ this.store.error = error instanceof Error ? error.message : 'Failed to fetch customer list';
313
272
  throw error;
314
273
  } finally {
315
274
  this.store.isLoading = false;
316
275
  }
317
276
  }
277
+
318
278
  /**
319
279
  * 获取holder类型账户列表
320
280
  * @param params
321
281
  */
322
282
  async fetchHolderAccounts(params) {
323
- var _a, _b;
324
- const url = params.url || "/account/holder";
325
- const { form_id, shop_id, num, skip, customer_id } = (params == null ? void 0 : params.query) || {};
283
+ const url = params.url || '/account/holder';
284
+ const {
285
+ form_id,
286
+ shop_id,
287
+ num,
288
+ skip,
289
+ customer_id
290
+ } = params?.query || {};
326
291
  try {
327
292
  const res = await this.request.get(url, {
328
293
  customer_id,
@@ -333,7 +298,7 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
333
298
  });
334
299
  this.store.accountList = [];
335
300
  this.store.accounts = [];
336
- if ((_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.list) == null ? void 0 : _b.length) {
301
+ if (res?.data?.list?.length) {
337
302
  await this.addHolderAccounts({
338
303
  holders: res.data.list,
339
304
  customerId: customer_id
@@ -344,10 +309,7 @@ var AccountListModule = class extends import_BaseModule.BaseModule {
344
309
  }
345
310
  }
346
311
  getLoginAccount() {
347
- return this.store.accounts.find((n) => n.isLogin());
312
+ return this.store.accounts.find(n => n.isLogin());
348
313
  }
349
- };
350
- // Annotate the CommonJS export names for ESM import in node:
351
- 0 && (module.exports = {
352
- AccountListModule
353
- });
314
+ }
315
+ exports.AccountListModule = AccountListModule;
@@ -1,33 +1,32 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/modules/AccountList/types.ts
20
- var types_exports = {};
21
- __export(types_exports, {
22
- AccountListHooks: () => AccountListHooks
23
- });
24
- module.exports = __toCommonJS(types_exports);
25
- var AccountListHooks = /* @__PURE__ */ ((AccountListHooks2) => {
26
- AccountListHooks2["OnAccountListUpdate"] = "accountList:onUpdate";
27
- AccountListHooks2["OnAccountListError"] = "accountList:onError";
28
- return AccountListHooks2;
29
- })(AccountListHooks || {});
30
- // Annotate the CommonJS export names for ESM import in node:
31
- 0 && (module.exports = {
32
- AccountListHooks
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
6
+ exports.AccountListHooks = void 0;
7
+ let AccountListHooks = exports.AccountListHooks = /*#__PURE__*/function (AccountListHooks) {
8
+ AccountListHooks["OnAccountListUpdate"] = "accountList:onUpdate";
9
+ AccountListHooks["OnAccountListError"] = "accountList:onError";
10
+ return AccountListHooks;
11
+ }({});
12
+ /**
13
+ * 账户列表查询参数
14
+ */
15
+ /**
16
+ * 账户列表状态
17
+ */
18
+ /**
19
+ * 账户列表模块 API
20
+ */
21
+ /**
22
+ * 获取holder类型账户列表参数
23
+ */
24
+ /**
25
+ * holder类型数据
26
+ */
27
+ /**
28
+ * 获取客户列表参数
29
+ */
30
+ /**
31
+ * 客户数据
32
+ */
@@ -1,39 +1,27 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/modules/AccountList/utils.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- createHolderAccount: () => createHolderAccount
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(utils_exports);
25
- var createHolderAccount = (holder, customerId) => {
6
+ exports.createHolderAccount = void 0;
7
+ /**
8
+ * 创建holder类型账号
9
+ * @param holder
10
+ * @param customer_id 账户id
11
+ * @returns
12
+ */
13
+ const createHolderAccount = (holder, customerId) => {
26
14
  const account = {
27
15
  id: holder.form_record_id,
28
16
  name: holder.main_field,
29
17
  username: holder.main_field,
30
- avatar: (holder == null ? void 0 : holder.customer_cover) || "",
31
- type: "holder",
32
- _origin: { ...holder, customer_id: customerId }
18
+ avatar: holder?.customer_cover || '',
19
+ type: 'holder',
20
+ _origin: {
21
+ ...holder,
22
+ customer_id: customerId
23
+ }
33
24
  };
34
25
  return account;
35
26
  };
36
- // Annotate the CommonJS export names for ESM import in node:
37
- 0 && (module.exports = {
38
- createHolderAccount
39
- });
27
+ exports.createHolderAccount = createHolderAccount;
@@ -1,32 +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 __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
18
2
 
19
- // src/modules/BaseModule.ts
20
- var BaseModule_exports = {};
21
- __export(BaseModule_exports, {
22
- BaseModule: () => BaseModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(BaseModule_exports);
25
- var BaseModule = class {
6
+ exports.BaseModule = void 0;
7
+ class BaseModule {
8
+ defaultName = 'baseModule';
9
+ defaultVersion = '1.0.0';
10
+ name;
11
+ version;
12
+ isSolution = false;
13
+ core;
26
14
  constructor(name, version) {
27
- this.defaultName = "baseModule";
28
- this.defaultVersion = "1.0.0";
29
- this.isSolution = false;
30
15
  this.name = name || this.defaultName;
31
16
  this.version = version || this.defaultVersion;
32
17
  }
@@ -35,8 +20,9 @@ var BaseModule = class {
35
20
  this.core.unregisterModule(this);
36
21
  }
37
22
  isRecord(value) {
38
- return !!value && typeof value === "object" && !Array.isArray(value);
23
+ return !!value && typeof value === 'object' && !Array.isArray(value);
39
24
  }
25
+
40
26
  // 提供统一的缓存 module 里的数据的方法
41
27
  checkSaveCache({
42
28
  cacheId,
@@ -44,22 +30,19 @@ var BaseModule = class {
44
30
  store,
45
31
  cacheKey
46
32
  }) {
47
- if (!cacheId)
48
- return;
33
+ if (!cacheId) return;
49
34
  try {
50
- const window = this.core.getPlugin("window");
51
- const sessionStorage = window == null ? void 0 : window.sessionStorage;
52
- if (!sessionStorage)
53
- return;
35
+ const window = this.core.getPlugin('window');
36
+ const sessionStorage = window?.sessionStorage;
37
+ if (!sessionStorage) return;
54
38
  const storageKey = fatherModule || cacheId;
55
39
  const rawCacheData = sessionStorage.getItem(storageKey);
56
40
  const parsedCacheData = rawCacheData ? JSON.parse(rawCacheData) : {};
57
- if (!this.isRecord(parsedCacheData))
58
- return;
41
+ if (!this.isRecord(parsedCacheData)) return;
59
42
  const cacheBucket = fatherModule ? this.isRecord(parsedCacheData[cacheId]) ? parsedCacheData[cacheId] : {} : parsedCacheData;
60
43
  const moduleBucket = this.isRecord(cacheBucket[this.name]) ? cacheBucket[this.name] : {};
61
- cacheKey.forEach((key) => {
62
- moduleBucket[key] = store == null ? void 0 : store[key];
44
+ cacheKey.forEach(key => {
45
+ moduleBucket[key] = store?.[key];
63
46
  });
64
47
  cacheBucket[this.name] = moduleBucket;
65
48
  if (fatherModule) {
@@ -67,6 +50,7 @@ var BaseModule = class {
67
50
  }
68
51
  sessionStorage.setItem(storageKey, JSON.stringify(parsedCacheData));
69
52
  } catch {
53
+ // sessionStorage persistence is best-effort and must not block checkout.
70
54
  }
71
55
  }
72
56
  effectsOn(eventType, callback) {
@@ -81,8 +65,5 @@ var BaseModule = class {
81
65
  effectsEmit(eventType, payload) {
82
66
  return this.core.effects.emit(`${this.name}:${eventType}`, payload);
83
67
  }
84
- };
85
- // Annotate the CommonJS export names for ESM import in node:
86
- 0 && (module.exports = {
87
- BaseModule
88
- });
68
+ }
69
+ exports.BaseModule = BaseModule;