@pisell/pisellos 2.2.282 → 2.2.284

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 (285) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/strategy-example.js +5 -19
  5. package/dist/modules/Cart/index.js +0 -3
  6. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  7. package/dist/modules/Date/index.js +1 -5
  8. package/dist/modules/Discount/index.js +2 -4
  9. package/dist/modules/OpenData/index.js +0 -2
  10. package/dist/modules/Order/index.d.ts +2 -2
  11. package/dist/modules/Order/index.js +75 -91
  12. package/dist/modules/Order/types.d.ts +3 -1
  13. package/dist/modules/Payment/index.js +97 -162
  14. package/dist/modules/Rules/index.js +1 -4
  15. package/dist/modules/Schedule/index.js +0 -1
  16. package/dist/modules/Schedule/utils.js +0 -1
  17. package/dist/modules/Step/index.js +0 -1
  18. package/dist/modules/Summary/utils.d.ts +1 -1
  19. package/dist/plugins/request.js +1 -4
  20. package/dist/plugins/window.js +2 -6
  21. package/dist/server/index.js +97 -129
  22. package/dist/server/modules/menu/index.js +32 -41
  23. package/dist/server/modules/order/index.js +2 -4
  24. package/dist/server/modules/products/index.js +24 -42
  25. package/dist/server/modules/quotation/index.js +29 -38
  26. package/dist/server/modules/resource/index.js +3 -4
  27. package/dist/server/modules/schedule/index.js +27 -35
  28. package/dist/server/utils/product.js +0 -1
  29. package/dist/solution/BaseSales/index.js +100 -72
  30. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  31. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  32. package/dist/solution/BookingByStep/index.d.ts +1 -1
  33. package/dist/solution/BookingByStep/index.js +7 -59
  34. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  35. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  36. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  37. package/dist/solution/BookingTicket/index.js +8 -4
  38. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  39. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  40. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  41. package/dist/solution/BuyTickets/index.js +9 -12
  42. package/dist/solution/Checkout/index.js +177 -252
  43. package/dist/solution/Checkout/utils/index.js +4 -16
  44. package/dist/solution/RegisterAndLogin/index.js +30 -76
  45. package/dist/solution/ScanOrder/index.js +50 -60
  46. package/dist/solution/ShopDiscount/index.js +2 -7
  47. package/dist/solution/VenueBooking/index.js +45 -55
  48. package/dist/utils/task.js +15 -18
  49. package/dist/utils/watch.js +0 -1
  50. package/lib/apis/picoding.js +2 -0
  51. package/lib/core/index.js +131 -131
  52. package/lib/effects/index.js +46 -57
  53. package/lib/index.js +82 -49
  54. package/lib/model/index.js +14 -21
  55. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  56. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  57. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  58. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  59. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  60. package/lib/model/strategy/adapter/index.js +100 -64
  61. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  62. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  63. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  64. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  65. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  66. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  67. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  68. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  69. package/lib/model/strategy/adapter/promotion/index.js +1 -51
  70. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  71. package/lib/model/strategy/adapter/type.js +4 -16
  72. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  73. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  74. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  75. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  76. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  77. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  78. package/lib/model/strategy/engine.js +270 -168
  79. package/lib/model/strategy/index.js +49 -34
  80. package/lib/model/strategy/strategy-example.js +243 -239
  81. package/lib/model/strategy/type.js +100 -40
  82. package/lib/modules/Account/index.js +39 -53
  83. package/lib/modules/Account/types.js +20 -33
  84. package/lib/modules/AccountList/index.js +116 -154
  85. package/lib/modules/AccountList/types.js +30 -31
  86. package/lib/modules/AccountList/utils.js +18 -30
  87. package/lib/modules/BaseModule.js +23 -42
  88. package/lib/modules/BookingContext/index.js +158 -136
  89. package/lib/modules/BookingContext/types.js +46 -32
  90. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  91. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  92. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  93. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  94. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  95. package/lib/modules/BookingContext/utils/index.js +124 -41
  96. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  97. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  98. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  99. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  100. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  101. package/lib/modules/BookingContext/utils/resources.js +209 -167
  102. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  103. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  104. package/lib/modules/Cart/index.js +170 -124
  105. package/lib/modules/Cart/types.js +46 -51
  106. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  107. package/lib/modules/Cart/utils/cartDate.js +56 -61
  108. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  109. package/lib/modules/Cart/utils/cartNote.js +27 -32
  110. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  111. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  112. package/lib/modules/Cart/utils/cartResource.js +70 -78
  113. package/lib/modules/Cart/utils/changePrice.js +22 -50
  114. package/lib/modules/Cart/utils/index.js +106 -48
  115. package/lib/modules/Customer/constants.js +13 -34
  116. package/lib/modules/Customer/index.js +235 -172
  117. package/lib/modules/Customer/types.js +38 -35
  118. package/lib/modules/Date/index.js +116 -115
  119. package/lib/modules/Date/types.js +16 -28
  120. package/lib/modules/Date/utils.js +174 -123
  121. package/lib/modules/Discount/index.js +122 -127
  122. package/lib/modules/Discount/types.js +9 -31
  123. package/lib/modules/Guests/index.js +30 -56
  124. package/lib/modules/Guests/types.js +23 -33
  125. package/lib/modules/Holder/index.js +209 -189
  126. package/lib/modules/Holder/types.js +4 -16
  127. package/lib/modules/Holder/utils.js +20 -49
  128. package/lib/modules/OpenData/index.js +70 -76
  129. package/lib/modules/OpenData/types.js +4 -16
  130. package/lib/modules/OpenData/utils.js +44 -78
  131. package/lib/modules/Order/index.d.ts +2 -2
  132. package/lib/modules/Order/index.js +1733 -2121
  133. package/lib/modules/Order/payment-utils.js +77 -120
  134. package/lib/modules/Order/types.d.ts +3 -1
  135. package/lib/modules/Order/types.js +87 -35
  136. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  137. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  138. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  139. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  140. package/lib/modules/Order/utils.js +814 -647
  141. package/lib/modules/Payment/cash.js +20 -33
  142. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  143. package/lib/modules/Payment/eftpos.js +16 -30
  144. package/lib/modules/Payment/index.js +532 -399
  145. package/lib/modules/Payment/mx51.js +1 -0
  146. package/lib/modules/Payment/types.js +230 -108
  147. package/lib/modules/Payment/utils.js +52 -51
  148. package/lib/modules/Payment/walletpass.js +485 -660
  149. package/lib/modules/Product/index.js +51 -46
  150. package/lib/modules/Product/types.js +4 -16
  151. package/lib/modules/Product/utils.js +32 -33
  152. package/lib/modules/ProductList/index.js +113 -123
  153. package/lib/modules/ProductList/types.js +9 -31
  154. package/lib/modules/Quotation/index.js +66 -100
  155. package/lib/modules/Quotation/types.js +4 -16
  156. package/lib/modules/Resource/index.js +27 -59
  157. package/lib/modules/Resource/types.js +22 -32
  158. package/lib/modules/Resource/utils.js +30 -38
  159. package/lib/modules/ResourcePlanner/index.js +60 -61
  160. package/lib/modules/ResourcePlanner/planner.js +346 -384
  161. package/lib/modules/ResourcePlanner/types.js +4 -16
  162. package/lib/modules/Rules/index.js +1218 -959
  163. package/lib/modules/Rules/types.js +17 -40
  164. package/lib/modules/SalesSummary/index.js +85 -90
  165. package/lib/modules/SalesSummary/types.js +4 -16
  166. package/lib/modules/SalesSummary/utils.js +355 -430
  167. package/lib/modules/ScanOrderLogger/index.js +59 -79
  168. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  169. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  170. package/lib/modules/ScanOrderLogger/types.js +4 -16
  171. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  172. package/lib/modules/Schedule/index.js +100 -114
  173. package/lib/modules/Schedule/type.js +4 -16
  174. package/lib/modules/Schedule/types.js +4 -16
  175. package/lib/modules/Schedule/utils.js +433 -291
  176. package/lib/modules/Step/index.js +40 -52
  177. package/lib/modules/Step/tyeps.js +4 -16
  178. package/lib/modules/Summary/index.js +66 -71
  179. package/lib/modules/Summary/types.js +4 -16
  180. package/lib/modules/Summary/utils.d.ts +1 -1
  181. package/lib/modules/Summary/utils.js +773 -418
  182. package/lib/modules/SurchargeList/index.js +46 -60
  183. package/lib/modules/SurchargeList/types.js +4 -16
  184. package/lib/modules/index.js +245 -63
  185. package/lib/plugins/app.js +4 -16
  186. package/lib/plugins/index.js +36 -25
  187. package/lib/plugins/request.js +137 -126
  188. package/lib/plugins/shopStore.js +4 -16
  189. package/lib/plugins/user.js +4 -16
  190. package/lib/plugins/window.js +171 -179
  191. package/lib/server/index.js +3027 -2655
  192. package/lib/server/modules/floor-plan/index.js +102 -123
  193. package/lib/server/modules/floor-plan/types.js +15 -30
  194. package/lib/server/modules/index.js +106 -68
  195. package/lib/server/modules/menu/index.js +146 -122
  196. package/lib/server/modules/menu/types.js +18 -31
  197. package/lib/server/modules/order/index.js +758 -956
  198. package/lib/server/modules/order/types.js +122 -33
  199. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  200. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  201. package/lib/server/modules/payment/index.js +59 -83
  202. package/lib/server/modules/payment/types.js +4 -16
  203. package/lib/server/modules/products/index.js +575 -459
  204. package/lib/server/modules/products/types.js +44 -34
  205. package/lib/server/modules/quotation/index.js +137 -172
  206. package/lib/server/modules/quotation/types.js +21 -31
  207. package/lib/server/modules/resource/index.js +213 -184
  208. package/lib/server/modules/resource/types.js +42 -33
  209. package/lib/server/modules/schedule/index.js +135 -123
  210. package/lib/server/modules/schedule/types.js +14 -21
  211. package/lib/server/modules/schedule/utils.js +334 -163
  212. package/lib/server/types.js +4 -16
  213. package/lib/server/utils/index.js +25 -23
  214. package/lib/server/utils/product.js +196 -139
  215. package/lib/server/utils/schedule.js +34 -41
  216. package/lib/server/utils/small-ticket.js +479 -456
  217. package/lib/server/utils/time.js +40 -49
  218. package/lib/solution/BaseSales/index.js +1209 -1412
  219. package/lib/solution/BaseSales/types.js +42 -38
  220. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  221. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  222. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  223. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  224. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
  225. package/lib/solution/BaseSales/utils.js +158 -143
  226. package/lib/solution/BookingByStep/index.d.ts +1 -1
  227. package/lib/solution/BookingByStep/index.js +1527 -1340
  228. package/lib/solution/BookingByStep/types.js +40 -99
  229. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  230. package/lib/solution/BookingByStep/utils/products.js +42 -52
  231. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  232. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  233. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  234. package/lib/solution/BookingTicket/index.js +598 -514
  235. package/lib/solution/BookingTicket/types.js +99 -77
  236. package/lib/solution/BookingTicket/utils/addProductDecision.js +225 -187
  237. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  238. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  239. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  240. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  241. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  242. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  243. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  244. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  245. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  246. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  247. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  248. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  249. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  250. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  251. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  252. package/lib/solution/BuyTickets/index.js +67 -70
  253. package/lib/solution/BuyTickets/types.js +22 -38
  254. package/lib/solution/Checkout/index.js +1451 -1158
  255. package/lib/solution/Checkout/types.js +91 -61
  256. package/lib/solution/Checkout/utils/index.js +228 -156
  257. package/lib/solution/PlaceOrder/index.js +55 -0
  258. package/lib/solution/RegisterAndLogin/config.js +493 -460
  259. package/lib/solution/RegisterAndLogin/index.js +633 -630
  260. package/lib/solution/RegisterAndLogin/types.js +189 -76
  261. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  262. package/lib/solution/Sales/index.js +328 -324
  263. package/lib/solution/Sales/types.js +27 -33
  264. package/lib/solution/ScanOrder/index.js +832 -864
  265. package/lib/solution/ScanOrder/types.js +33 -34
  266. package/lib/solution/ScanOrder/utils.js +409 -374
  267. package/lib/solution/ShopDiscount/index.js +226 -232
  268. package/lib/solution/ShopDiscount/types.js +15 -37
  269. package/lib/solution/ShopDiscount/utils.js +300 -172
  270. package/lib/solution/UnifiedBookingSales/index.js +437 -487
  271. package/lib/solution/UnifiedBookingSales/types.js +12 -31
  272. package/lib/solution/VenueBooking/index.js +811 -879
  273. package/lib/solution/VenueBooking/types.js +19 -39
  274. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  275. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  276. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  277. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  278. package/lib/solution/VenueBooking/utils.js +130 -67
  279. package/lib/solution/index.js +124 -41
  280. package/lib/store/createStore.js +32 -29
  281. package/lib/types/index.js +4 -16
  282. package/lib/utils/payment-number.js +26 -46
  283. package/lib/utils/task.js +36 -36
  284. package/lib/utils/watch.js +81 -47
  285. package/package.json +2 -1
@@ -1,31 +1,18 @@
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/plugins/window.ts
20
- var window_exports = {};
21
- __export(window_exports, {
22
- default: () => window_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(window_exports);
25
- var SimpleStorage = class {
26
- constructor() {
27
- this.items = {};
28
- }
6
+ exports.default = void 0;
7
+ /**
8
+ * WindowPlugin 接口定义
9
+ */
10
+
11
+ /**
12
+ * 简单的 Storage 接口实现
13
+ */
14
+ class SimpleStorage {
15
+ items = {};
29
16
  get length() {
30
17
  return Object.keys(this.items).length;
31
18
  }
@@ -45,104 +32,100 @@ var SimpleStorage = class {
45
32
  clear() {
46
33
  this.items = {};
47
34
  }
48
- };
49
- var SimpleLocation = class {
50
- constructor() {
51
- this.hash = "";
52
- this.host = "localhost";
53
- this.hostname = "localhost";
54
- this.href = "https://localhost";
55
- this.origin = "https://localhost";
56
- this.pathname = "/";
57
- this.port = "";
58
- this.protocol = "https:";
59
- this.search = "";
60
- this.ancestorOrigins = {};
61
- }
62
- assign(url) {
63
- }
64
- reload() {
65
- }
66
- replace(url) {
67
- }
35
+ }
36
+
37
+ /**
38
+ * 简单的 Location 类实现
39
+ */
40
+ class SimpleLocation {
41
+ hash = '';
42
+ host = 'localhost';
43
+ hostname = 'localhost';
44
+ href = 'https://localhost';
45
+ origin = 'https://localhost';
46
+ pathname = '/';
47
+ port = '';
48
+ protocol = 'https:';
49
+ search = '';
50
+ ancestorOrigins = {};
51
+ assign(url) {}
52
+ reload() {}
53
+ replace(url) {}
68
54
  toString() {
69
55
  return this.href;
70
56
  }
71
- };
72
- var SimpleNavigator = class {
73
- constructor() {
74
- this.userAgent = "PisellOS/1.0";
75
- this.language = "zh-CN";
76
- this.languages = ["zh-CN", "en-US"];
77
- this.onLine = true;
78
- this.cookieEnabled = true;
79
- // 以下属性只提供必要实现
80
- this.appCodeName = "PisellOS";
81
- this.appName = "PisellOS";
82
- this.appVersion = "1.0";
83
- this.platform = "PisellOS";
84
- this.product = "PisellOS";
85
- }
57
+ }
58
+
59
+ /**
60
+ * 简单的 Navigator 类实现
61
+ */
62
+ class SimpleNavigator {
63
+ userAgent = 'PisellOS/1.0';
64
+ language = 'zh-CN';
65
+ languages = ['zh-CN', 'en-US'];
66
+ onLine = true;
67
+ cookieEnabled = true;
68
+
69
+ // 以下属性只提供必要实现
70
+ appCodeName = 'PisellOS';
71
+ appName = 'PisellOS';
72
+ appVersion = '1.0';
73
+ platform = 'PisellOS';
74
+ product = 'PisellOS';
86
75
  javaEnabled() {
87
76
  return false;
88
77
  }
89
- };
90
- var SimpleHistory = class {
91
- constructor() {
92
- this.length = 0;
93
- this.scrollRestoration = "auto";
94
- this.state = null;
95
- }
96
- back() {
97
- }
98
- forward() {
99
- }
100
- go() {
101
- }
102
- pushState() {
103
- }
104
- replaceState() {
105
- }
106
- };
107
- var SimpleDocument = class {
108
- constructor() {
109
- // 仅实现基本功能
110
- this.elements = {};
111
- // Document 接口的必要属性
112
- this.URL = "https://localhost";
113
- this.documentURI = "https://localhost";
114
- this.origin = "https://localhost";
115
- this.characterSet = "UTF-8";
116
- this.contentType = "text/html";
117
- this.compatMode = "CSS1Compat";
118
- }
78
+ }
79
+
80
+ /**
81
+ * 简单的 History 接口实现
82
+ */
83
+ class SimpleHistory {
84
+ length = 0;
85
+ scrollRestoration = 'auto';
86
+ state = null;
87
+ back() {}
88
+ forward() {}
89
+ go() {}
90
+ pushState() {}
91
+ replaceState() {}
92
+ }
93
+
94
+ /**
95
+ * 简单 HTMLElement 接口
96
+ */
97
+
98
+ /**
99
+ * 简单的 Document 类实现
100
+ */
101
+ class SimpleDocument {
102
+ // 仅实现基本功能
103
+ elements = {};
119
104
  createElement(tagName) {
120
105
  const element = {
121
106
  tagName: tagName.toUpperCase(),
122
- id: "",
123
- className: "",
124
- innerHTML: "",
107
+ id: '',
108
+ className: '',
109
+ innerHTML: '',
125
110
  style: {},
126
111
  dataset: {},
127
112
  attributes: {},
128
113
  children: [],
129
114
  parentElement: null,
130
- addEventListener: () => {
131
- },
132
- removeEventListener: () => {
133
- },
134
- getAttribute: (name) => element.attributes[name],
115
+ addEventListener: () => {},
116
+ removeEventListener: () => {},
117
+ getAttribute: name => element.attributes[name],
135
118
  setAttribute: (name, value) => {
136
119
  element.attributes[name] = value;
137
120
  },
138
- removeAttribute: (name) => {
121
+ removeAttribute: name => {
139
122
  delete element.attributes[name];
140
123
  },
141
- appendChild: (child) => {
124
+ appendChild: child => {
142
125
  element.children.push(child);
143
126
  return child;
144
127
  },
145
- removeChild: (child) => {
128
+ removeChild: child => {
146
129
  const index = element.children.indexOf(child);
147
130
  if (index !== -1) {
148
131
  element.children.splice(index, 1);
@@ -155,6 +138,14 @@ var SimpleDocument = class {
155
138
  getElementById(id) {
156
139
  return this.elements[id] || null;
157
140
  }
141
+
142
+ // Document 接口的必要属性
143
+ URL = 'https://localhost';
144
+ documentURI = 'https://localhost';
145
+ origin = 'https://localhost';
146
+ characterSet = 'UTF-8';
147
+ contentType = 'text/html';
148
+ compatMode = 'CSS1Compat';
158
149
  querySelector() {
159
150
  return null;
160
151
  }
@@ -167,86 +158,87 @@ var SimpleDocument = class {
167
158
  getElementsByClassName() {
168
159
  return [];
169
160
  }
170
- };
171
- var WindowPluginImpl = class {
172
- constructor() {
173
- this.name = "window";
174
- this.version = "1.0.0";
175
- // 定时器相关
176
- this.setTimeout = Object.assign(
177
- function(handler, timeout, ...args) {
178
- if (typeof globalThis !== "undefined" && globalThis.setTimeout) {
179
- return globalThis.setTimeout(handler, timeout, ...args);
180
- }
181
- const timeoutId = Date.now();
182
- Promise.resolve().then(() => {
183
- setTimeout(() => {
184
- if (typeof handler === "function") {
185
- handler(...args);
186
- } else {
187
- eval(handler);
188
- }
189
- }, timeout || 0);
190
- });
191
- return timeoutId;
192
- },
193
- {
194
- __promisify__: function(delay, value) {
195
- return new Promise((resolve) => setTimeout(resolve, delay, value));
161
+ }
162
+
163
+ /**
164
+ * Window 插件实现
165
+ */
166
+ class WindowPluginImpl {
167
+ name = 'window';
168
+ version = '1.0.0';
169
+
170
+ // 定时器相关
171
+ setTimeout = Object.assign(function (handler, timeout, ...args) {
172
+ if (typeof globalThis !== 'undefined' && globalThis.setTimeout) {
173
+ return globalThis.setTimeout(handler, timeout, ...args);
174
+ }
175
+ // Fallback 实现,使用 Promise 模拟
176
+ const timeoutId = Date.now();
177
+ Promise.resolve().then(() => {
178
+ setTimeout(() => {
179
+ if (typeof handler === 'function') {
180
+ handler(...args);
181
+ } else {
182
+ eval(handler);
196
183
  }
197
- }
198
- );
199
- this.clearTimeout = function(timeout2) {
200
- if (typeof globalThis !== "undefined" && globalThis.clearTimeout) {
201
- globalThis.clearTimeout(timeout2);
202
- }
203
- };
204
- this.setInterval = Object.assign(
205
- function(handler, timeout, ...args) {
206
- if (typeof globalThis !== "undefined" && globalThis.setInterval) {
207
- return globalThis.setInterval(handler, timeout, ...args);
184
+ }, timeout || 0);
185
+ });
186
+ return timeoutId;
187
+ }, {
188
+ __promisify__: function (delay, value) {
189
+ return new Promise(resolve => setTimeout(resolve, delay, value));
190
+ }
191
+ });
192
+ clearTimeout = function (timeout) {
193
+ if (typeof globalThis !== 'undefined' && globalThis.clearTimeout) {
194
+ globalThis.clearTimeout(timeout);
195
+ }
196
+ // Fallback 不做任何操作
197
+ };
198
+ setInterval = Object.assign(function (handler, timeout, ...args) {
199
+ if (typeof globalThis !== 'undefined' && globalThis.setInterval) {
200
+ return globalThis.setInterval(handler, timeout, ...args);
201
+ }
202
+ // Fallback 实现,使用递归 setTimeout 模拟
203
+ const intervalId = Date.now();
204
+ const recursiveTimeout = () => {
205
+ this.setTimeout(() => {
206
+ if (typeof handler === 'function') {
207
+ handler(...args);
208
+ } else {
209
+ eval(handler);
208
210
  }
209
- const intervalId = Date.now();
210
- const recursiveTimeout = () => {
211
- this.setTimeout(() => {
212
- if (typeof handler === "function") {
213
- handler(...args);
214
- } else {
215
- eval(handler);
216
- }
217
- recursiveTimeout();
218
- }, timeout || 0);
219
- };
220
211
  recursiveTimeout();
221
- return intervalId;
222
- },
223
- {
224
- __promisify__: function(delay, value) {
225
- return new Promise((resolve) => setInterval(resolve, delay, value));
226
- }
227
- }
228
- );
229
- this.clearInterval = function(timeout2) {
230
- if (typeof globalThis !== "undefined" && globalThis.clearInterval) {
231
- globalThis.clearInterval(timeout2);
232
- }
212
+ }, timeout || 0);
233
213
  };
234
- // 存储相关
235
- this.localStorage = new SimpleStorage();
236
- this.sessionStorage = new SimpleStorage();
237
- // 浏览器环境对象
238
- this.location = new SimpleLocation();
239
- this.navigator = new SimpleNavigator();
240
- this.document = new SimpleDocument();
241
- this.history = new SimpleHistory();
242
- }
214
+ recursiveTimeout();
215
+ return intervalId;
216
+ }, {
217
+ __promisify__: function (delay, value) {
218
+ return new Promise(resolve => setInterval(resolve, delay, value));
219
+ }
220
+ });
221
+ clearInterval = function (timeout) {
222
+ if (typeof globalThis !== 'undefined' && globalThis.clearInterval) {
223
+ globalThis.clearInterval(timeout);
224
+ }
225
+ // Fallback 不做任何操作
226
+ };
227
+
228
+ // 存储相关
229
+ localStorage = new SimpleStorage();
230
+ sessionStorage = new SimpleStorage();
231
+
232
+ // 浏览器环境对象
233
+ location = new SimpleLocation();
234
+ navigator = new SimpleNavigator();
235
+ document = new SimpleDocument();
236
+ history = new SimpleHistory();
237
+
243
238
  // 初始化方法
244
- initialize() {
245
- console.log("[WindowPlugin] 初始化完成");
246
- }
239
+ initialize() {}
240
+
247
241
  // 销毁方法
248
- destroy() {
249
- console.log("[WindowPlugin] 已销毁");
250
- }
251
- };
252
- var window_default = new WindowPluginImpl();
242
+ destroy() {}
243
+ }
244
+ var _default = exports.default = new WindowPluginImpl();