@pisell/pisellos 0.10.14 → 0.10.16

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 (301) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  3. package/dist/model/strategy/strategy-example.js +5 -19
  4. package/dist/modules/Cart/index.js +0 -3
  5. package/dist/modules/Cart/utils/cartProduct.js +0 -1
  6. package/dist/modules/Date/index.js +1 -5
  7. package/dist/modules/Discount/index.js +2 -4
  8. package/dist/modules/OpenData/index.js +0 -2
  9. package/dist/modules/Order/index.d.ts +1 -1
  10. package/dist/modules/Order/index.js +75 -91
  11. package/dist/modules/Order/types.d.ts +5 -1
  12. package/dist/modules/Order/utils/virtualSettlement.d.ts +8 -1
  13. package/dist/modules/Order/utils/virtualSettlement.js +15 -2
  14. package/dist/modules/Order/utils.js +7 -1
  15. package/dist/modules/Payment/index.js +97 -162
  16. package/dist/modules/Product/types.d.ts +2 -0
  17. package/dist/modules/Rules/index.js +1 -4
  18. package/dist/modules/Schedule/index.js +0 -1
  19. package/dist/modules/Schedule/utils.js +0 -1
  20. package/dist/modules/Step/index.js +0 -1
  21. package/dist/plugins/request.js +1 -4
  22. package/dist/plugins/window.js +2 -6
  23. package/dist/server/index.js +97 -129
  24. package/dist/server/modules/menu/index.js +32 -41
  25. package/dist/server/modules/order/index.js +2 -4
  26. package/dist/server/modules/products/index.js +24 -42
  27. package/dist/server/modules/quotation/index.js +29 -38
  28. package/dist/server/modules/resource/index.js +3 -4
  29. package/dist/server/modules/schedule/index.js +27 -35
  30. package/dist/server/utils/product.js +0 -1
  31. package/dist/solution/BaseSales/index.js +107 -76
  32. package/dist/solution/BaseSales/types.d.ts +2 -0
  33. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  34. package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
  35. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  36. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +7 -1
  37. package/dist/solution/BaseSales/utils.js +6 -3
  38. package/dist/solution/BookingByStep/index.d.ts +2 -2
  39. package/dist/solution/BookingByStep/index.js +7 -59
  40. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  41. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  42. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  43. package/dist/solution/BookingTicket/index.js +8 -4
  44. package/dist/solution/BookingTicket/utils/addProductDecision.js +3 -1
  45. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
  46. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  47. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  48. package/dist/solution/BuyTickets/index.js +9 -12
  49. package/dist/solution/Checkout/index.js +177 -252
  50. package/dist/solution/Checkout/utils/index.js +4 -16
  51. package/dist/solution/RegisterAndLogin/index.js +30 -76
  52. package/dist/solution/ScanOrder/index.js +50 -60
  53. package/dist/solution/ScanOrder/types.d.ts +2 -0
  54. package/dist/solution/ScanOrder/utils.js +6 -3
  55. package/dist/solution/ShopDiscount/index.js +2 -7
  56. package/dist/solution/VenueBooking/index.js +45 -55
  57. package/dist/utils/task.js +15 -18
  58. package/dist/utils/watch.js +0 -1
  59. package/lib/apis/picoding.js +2 -0
  60. package/lib/core/index.js +131 -131
  61. package/lib/effects/index.js +46 -57
  62. package/lib/index.js +82 -49
  63. package/lib/model/index.js +14 -21
  64. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  65. package/lib/model/strategy/adapter/dataVariant/evaluator.js +209 -315
  66. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  67. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  68. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  69. package/lib/model/strategy/adapter/index.js +100 -64
  70. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  71. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  72. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  73. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  74. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  75. package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
  76. package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
  77. package/lib/model/strategy/adapter/promotion/examples.js +222 -234
  78. package/lib/model/strategy/adapter/promotion/index.js +43 -48
  79. package/lib/model/strategy/adapter/promotion/type.js +243 -36
  80. package/lib/model/strategy/adapter/type.js +4 -16
  81. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
  82. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  83. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  84. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  85. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  86. package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
  87. package/lib/model/strategy/engine.js +270 -168
  88. package/lib/model/strategy/index.js +49 -34
  89. package/lib/model/strategy/strategy-example.js +243 -239
  90. package/lib/model/strategy/type.js +100 -40
  91. package/lib/modules/Account/index.js +39 -53
  92. package/lib/modules/Account/types.js +20 -33
  93. package/lib/modules/AccountList/index.js +116 -154
  94. package/lib/modules/AccountList/types.js +30 -31
  95. package/lib/modules/AccountList/utils.js +18 -30
  96. package/lib/modules/BaseModule.js +23 -42
  97. package/lib/modules/BookingContext/index.js +158 -136
  98. package/lib/modules/BookingContext/types.js +46 -32
  99. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
  100. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
  101. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
  102. package/lib/modules/BookingContext/utils/flexible.js +38 -55
  103. package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
  104. package/lib/modules/BookingContext/utils/index.js +124 -41
  105. package/lib/modules/BookingContext/utils/noResource.js +58 -70
  106. package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
  107. package/lib/modules/BookingContext/utils/productExtend.js +202 -155
  108. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  109. package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
  110. package/lib/modules/BookingContext/utils/resources.js +209 -167
  111. package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
  112. package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
  113. package/lib/modules/Cart/index.js +170 -124
  114. package/lib/modules/Cart/types.js +46 -51
  115. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  116. package/lib/modules/Cart/utils/cartDate.js +56 -61
  117. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  118. package/lib/modules/Cart/utils/cartNote.js +27 -32
  119. package/lib/modules/Cart/utils/cartProduct.js +321 -251
  120. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  121. package/lib/modules/Cart/utils/cartResource.js +70 -78
  122. package/lib/modules/Cart/utils/changePrice.js +22 -50
  123. package/lib/modules/Cart/utils/index.js +106 -48
  124. package/lib/modules/Customer/constants.js +13 -34
  125. package/lib/modules/Customer/index.js +235 -172
  126. package/lib/modules/Customer/types.js +38 -35
  127. package/lib/modules/Date/index.js +116 -115
  128. package/lib/modules/Date/types.js +16 -28
  129. package/lib/modules/Date/utils.js +174 -123
  130. package/lib/modules/Discount/index.js +133 -143
  131. package/lib/modules/Discount/types.js +9 -31
  132. package/lib/modules/Guests/index.js +30 -56
  133. package/lib/modules/Guests/types.js +23 -33
  134. package/lib/modules/Holder/index.js +209 -189
  135. package/lib/modules/Holder/types.js +4 -16
  136. package/lib/modules/Holder/utils.js +20 -49
  137. package/lib/modules/OpenData/index.js +70 -76
  138. package/lib/modules/OpenData/types.js +4 -16
  139. package/lib/modules/OpenData/utils.js +44 -78
  140. package/lib/modules/Order/index.d.ts +1 -1
  141. package/lib/modules/Order/index.js +1810 -2238
  142. package/lib/modules/Order/payment-utils.js +77 -120
  143. package/lib/modules/Order/types.d.ts +5 -1
  144. package/lib/modules/Order/types.js +87 -35
  145. package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
  146. package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
  147. package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
  148. package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
  149. package/lib/modules/Order/utils/virtualSettlement.d.ts +8 -1
  150. package/lib/modules/Order/utils/virtualSettlement.js +126 -164
  151. package/lib/modules/Order/utils.js +834 -668
  152. package/lib/modules/Payment/cash.js +20 -33
  153. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  154. package/lib/modules/Payment/eftpos.js +16 -30
  155. package/lib/modules/Payment/index.js +532 -399
  156. package/lib/modules/Payment/mx51.js +1 -0
  157. package/lib/modules/Payment/types.js +230 -108
  158. package/lib/modules/Payment/utils.js +52 -51
  159. package/lib/modules/Payment/walletpass.js +485 -660
  160. package/lib/modules/Product/index.js +51 -46
  161. package/lib/modules/Product/types.d.ts +2 -0
  162. package/lib/modules/Product/types.js +4 -16
  163. package/lib/modules/Product/utils.js +32 -33
  164. package/lib/modules/ProductList/index.js +138 -161
  165. package/lib/modules/ProductList/types.js +9 -31
  166. package/lib/modules/Quotation/index.js +66 -100
  167. package/lib/modules/Quotation/types.js +4 -16
  168. package/lib/modules/Resource/index.js +27 -59
  169. package/lib/modules/Resource/types.js +22 -32
  170. package/lib/modules/Resource/utils.js +30 -38
  171. package/lib/modules/ResourcePlanner/index.js +25 -23
  172. package/lib/modules/ResourcePlanner/localClock.js +54 -119
  173. package/lib/modules/ResourcePlanner/planner.js +591 -772
  174. package/lib/modules/ResourcePlanner/types.js +10 -29
  175. package/lib/modules/Rules/index.js +1218 -959
  176. package/lib/modules/Rules/types.js +17 -40
  177. package/lib/modules/SalesSummary/index.js +78 -89
  178. package/lib/modules/SalesSummary/types.js +4 -16
  179. package/lib/modules/SalesSummary/utils.js +359 -442
  180. package/lib/modules/ScanOrderLogger/index.js +59 -79
  181. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  182. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  183. package/lib/modules/ScanOrderLogger/types.js +4 -16
  184. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
  185. package/lib/modules/Schedule/index.js +100 -114
  186. package/lib/modules/Schedule/type.js +4 -16
  187. package/lib/modules/Schedule/types.js +4 -16
  188. package/lib/modules/Schedule/utils.js +433 -291
  189. package/lib/modules/Step/index.js +40 -52
  190. package/lib/modules/Step/tyeps.js +4 -16
  191. package/lib/modules/Summary/index.js +66 -71
  192. package/lib/modules/Summary/types.js +4 -16
  193. package/lib/modules/Summary/utils.js +773 -418
  194. package/lib/modules/SurchargeList/index.js +46 -60
  195. package/lib/modules/SurchargeList/types.js +4 -16
  196. package/lib/modules/index.js +245 -63
  197. package/lib/plugins/app.js +4 -16
  198. package/lib/plugins/index.js +36 -25
  199. package/lib/plugins/request.js +137 -126
  200. package/lib/plugins/shopStore.js +4 -16
  201. package/lib/plugins/user.js +4 -16
  202. package/lib/plugins/window.js +171 -179
  203. package/lib/server/index.js +3027 -2655
  204. package/lib/server/modules/floor-plan/index.js +102 -123
  205. package/lib/server/modules/floor-plan/types.js +15 -30
  206. package/lib/server/modules/index.js +106 -68
  207. package/lib/server/modules/menu/index.js +146 -122
  208. package/lib/server/modules/menu/types.js +18 -31
  209. package/lib/server/modules/order/index.js +758 -956
  210. package/lib/server/modules/order/types.js +122 -33
  211. package/lib/server/modules/order/utils/filterBookings.js +219 -194
  212. package/lib/server/modules/order/utils/filterOrders.js +118 -92
  213. package/lib/server/modules/payment/index.js +59 -83
  214. package/lib/server/modules/payment/types.js +4 -16
  215. package/lib/server/modules/products/index.js +575 -459
  216. package/lib/server/modules/products/types.js +44 -34
  217. package/lib/server/modules/quotation/index.js +137 -172
  218. package/lib/server/modules/quotation/types.js +21 -31
  219. package/lib/server/modules/resource/index.js +213 -184
  220. package/lib/server/modules/resource/types.js +42 -33
  221. package/lib/server/modules/schedule/index.js +135 -123
  222. package/lib/server/modules/schedule/types.js +14 -21
  223. package/lib/server/modules/schedule/utils.js +334 -163
  224. package/lib/server/types.js +4 -16
  225. package/lib/server/utils/index.js +25 -23
  226. package/lib/server/utils/product.js +196 -139
  227. package/lib/server/utils/schedule.js +34 -41
  228. package/lib/server/utils/small-ticket.js +479 -456
  229. package/lib/server/utils/time.js +40 -49
  230. package/lib/solution/BaseSales/index.js +1276 -1485
  231. package/lib/solution/BaseSales/types.d.ts +2 -0
  232. package/lib/solution/BaseSales/types.js +42 -38
  233. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
  234. package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
  235. package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
  236. package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
  237. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +3 -0
  238. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +138 -180
  239. package/lib/solution/BaseSales/utils.js +161 -143
  240. package/lib/solution/BookingByStep/index.d.ts +2 -2
  241. package/lib/solution/BookingByStep/index.js +1527 -1340
  242. package/lib/solution/BookingByStep/types.js +40 -99
  243. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  244. package/lib/solution/BookingByStep/utils/products.js +42 -52
  245. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  246. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  247. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  248. package/lib/solution/BookingTicket/index.js +598 -514
  249. package/lib/solution/BookingTicket/types.js +99 -77
  250. package/lib/solution/BookingTicket/utils/addProductDecision.js +229 -190
  251. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
  252. package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
  253. package/lib/solution/BookingTicket/utils/cartView.js +114 -99
  254. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  255. package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
  256. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
  257. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
  258. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
  259. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
  260. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
  261. package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
  262. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  263. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
  264. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
  265. package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
  266. package/lib/solution/BuyTickets/index.js +67 -70
  267. package/lib/solution/BuyTickets/types.js +22 -38
  268. package/lib/solution/Checkout/index.js +1451 -1158
  269. package/lib/solution/Checkout/types.js +91 -61
  270. package/lib/solution/Checkout/utils/index.js +228 -156
  271. package/lib/solution/PlaceOrder/index.js +55 -0
  272. package/lib/solution/RegisterAndLogin/config.js +493 -460
  273. package/lib/solution/RegisterAndLogin/index.js +633 -630
  274. package/lib/solution/RegisterAndLogin/types.js +189 -76
  275. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  276. package/lib/solution/Sales/index.js +328 -324
  277. package/lib/solution/Sales/types.js +27 -33
  278. package/lib/solution/ScanOrder/index.js +822 -852
  279. package/lib/solution/ScanOrder/types.d.ts +2 -0
  280. package/lib/solution/ScanOrder/types.js +33 -34
  281. package/lib/solution/ScanOrder/utils.js +412 -374
  282. package/lib/solution/ShopDiscount/index.js +226 -232
  283. package/lib/solution/ShopDiscount/types.js +15 -37
  284. package/lib/solution/ShopDiscount/utils.js +300 -172
  285. package/lib/solution/UnifiedBookingSales/index.js +1052 -1213
  286. package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
  287. package/lib/solution/UnifiedBookingSales/types.js +10 -32
  288. package/lib/solution/VenueBooking/index.js +811 -879
  289. package/lib/solution/VenueBooking/types.js +19 -39
  290. package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
  291. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  292. package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
  293. package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
  294. package/lib/solution/VenueBooking/utils.js +130 -67
  295. package/lib/solution/index.js +124 -41
  296. package/lib/store/createStore.js +32 -29
  297. package/lib/types/index.js +4 -16
  298. package/lib/utils/payment-number.js +26 -46
  299. package/lib/utils/task.js +36 -36
  300. package/lib/utils/watch.js +81 -47
  301. 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();