@pisell/pisellos 0.0.567 → 0.0.568

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 (228) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  3. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  4. package/dist/model/strategy/adapter/walletPass/utils.js +0 -3
  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 +1 -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 +14 -41
  13. package/dist/modules/Payment/index.js +142 -270
  14. package/dist/modules/Payment/walletpass.js +4 -5
  15. package/dist/modules/Rules/index.js +0 -7
  16. package/dist/modules/Schedule/utils.js +0 -1
  17. package/dist/modules/Step/index.js +0 -1
  18. package/dist/plugins/request.js +1 -4
  19. package/dist/plugins/window.js +2 -6
  20. package/dist/server/index.js +88 -121
  21. package/dist/server/modules/menu/index.js +32 -41
  22. package/dist/server/modules/products/index.js +29 -49
  23. package/dist/server/modules/quotation/index.js +29 -38
  24. package/dist/server/modules/resource/index.js +3 -4
  25. package/dist/server/modules/schedule/index.js +32 -40
  26. package/dist/server/utils/product.js +0 -1
  27. package/dist/solution/BookingByStep/index.d.ts +1 -1
  28. package/dist/solution/BookingByStep/index.js +7 -59
  29. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  30. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  31. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  32. package/dist/solution/BookingTicket/index.d.ts +1 -1
  33. package/dist/solution/BookingTicket/index.js +5 -7
  34. package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
  35. package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
  36. package/dist/solution/BuyTickets/index.js +9 -12
  37. package/dist/solution/Checkout/index.js +177 -246
  38. package/dist/solution/Checkout/utils/index.js +4 -16
  39. package/dist/solution/RegisterAndLogin/index.js +30 -76
  40. package/dist/solution/ScanOrder/index.js +50 -60
  41. package/dist/solution/ShopDiscount/index.js +2 -7
  42. package/dist/solution/VenueBooking/index.d.ts +5 -0
  43. package/dist/solution/VenueBooking/index.js +364 -327
  44. package/dist/utils/task.js +15 -18
  45. package/dist/utils/watch.js +0 -1
  46. package/lib/apis/picoding.js +2 -0
  47. package/lib/core/index.js +130 -131
  48. package/lib/effects/index.js +46 -57
  49. package/lib/index.js +92 -53
  50. package/lib/model/index.js +14 -21
  51. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  52. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  53. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  54. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  55. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  56. package/lib/model/strategy/adapter/index.js +100 -64
  57. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  58. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  59. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  60. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  61. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  62. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  63. package/lib/model/strategy/adapter/promotion/evaluator.js +381 -231
  64. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  65. package/lib/model/strategy/adapter/promotion/index.js +1 -49
  66. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  67. package/lib/model/strategy/adapter/type.js +4 -16
  68. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  69. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  70. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  71. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  72. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  73. package/lib/model/strategy/adapter/walletPass/utils.js +652 -402
  74. package/lib/model/strategy/engine.js +270 -168
  75. package/lib/model/strategy/index.js +49 -34
  76. package/lib/model/strategy/strategy-example.js +243 -239
  77. package/lib/model/strategy/type.js +100 -40
  78. package/lib/modules/Account/index.js +39 -53
  79. package/lib/modules/Account/types.js +20 -33
  80. package/lib/modules/AccountList/index.js +116 -154
  81. package/lib/modules/AccountList/types.js +30 -31
  82. package/lib/modules/AccountList/utils.js +18 -30
  83. package/lib/modules/BaseModule.js +22 -45
  84. package/lib/modules/Cart/index.js +170 -124
  85. package/lib/modules/Cart/types.js +46 -51
  86. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  87. package/lib/modules/Cart/utils/cartDate.js +56 -61
  88. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  89. package/lib/modules/Cart/utils/cartNote.js +27 -32
  90. package/lib/modules/Cart/utils/cartProduct.js +306 -241
  91. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  92. package/lib/modules/Cart/utils/cartResource.js +72 -78
  93. package/lib/modules/Cart/utils/changePrice.js +26 -62
  94. package/lib/modules/Cart/utils/index.js +106 -48
  95. package/lib/modules/Customer/constants.js +13 -34
  96. package/lib/modules/Customer/index.js +216 -153
  97. package/lib/modules/Customer/types.js +38 -35
  98. package/lib/modules/Date/index.js +116 -115
  99. package/lib/modules/Date/types.js +16 -28
  100. package/lib/modules/Date/utils.js +174 -123
  101. package/lib/modules/Discount/index.js +117 -113
  102. package/lib/modules/Discount/types.js +9 -31
  103. package/lib/modules/Guests/index.js +30 -56
  104. package/lib/modules/Guests/types.js +23 -33
  105. package/lib/modules/Holder/index.js +209 -189
  106. package/lib/modules/Holder/types.js +4 -16
  107. package/lib/modules/Holder/utils.js +20 -49
  108. package/lib/modules/OpenData/index.js +63 -74
  109. package/lib/modules/OpenData/types.js +4 -16
  110. package/lib/modules/OpenData/utils.js +44 -78
  111. package/lib/modules/Order/index.d.ts +1 -1
  112. package/lib/modules/Order/index.js +332 -320
  113. package/lib/modules/Order/types.js +24 -33
  114. package/lib/modules/Order/utils.js +350 -284
  115. package/lib/modules/Payment/cash.js +20 -33
  116. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  117. package/lib/modules/Payment/eftpos.js +16 -30
  118. package/lib/modules/Payment/index.js +566 -432
  119. package/lib/modules/Payment/mx51.js +1 -0
  120. package/lib/modules/Payment/types.js +216 -107
  121. package/lib/modules/Payment/utils.js +50 -47
  122. package/lib/modules/Payment/walletpass.js +221 -203
  123. package/lib/modules/Product/index.js +51 -46
  124. package/lib/modules/Product/types.js +4 -16
  125. package/lib/modules/Product/utils.js +32 -33
  126. package/lib/modules/ProductList/index.js +111 -110
  127. package/lib/modules/ProductList/types.js +9 -31
  128. package/lib/modules/Quotation/index.js +60 -82
  129. package/lib/modules/Quotation/types.js +4 -16
  130. package/lib/modules/Resource/index.js +27 -59
  131. package/lib/modules/Resource/types.js +22 -32
  132. package/lib/modules/Resource/utils.js +30 -38
  133. package/lib/modules/Rules/index.js +1172 -872
  134. package/lib/modules/Rules/types.js +17 -40
  135. package/lib/modules/SalesSummary/index.js +59 -68
  136. package/lib/modules/SalesSummary/types.js +4 -16
  137. package/lib/modules/SalesSummary/utils.js +176 -193
  138. package/lib/modules/ScanOrderLogger/index.js +59 -79
  139. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  140. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  141. package/lib/modules/ScanOrderLogger/types.js +4 -16
  142. package/lib/modules/Schedule/getDateIsInSchedule.js +334 -167
  143. package/lib/modules/Schedule/index.js +97 -107
  144. package/lib/modules/Schedule/type.js +4 -16
  145. package/lib/modules/Schedule/types.js +4 -16
  146. package/lib/modules/Schedule/utils.js +433 -291
  147. package/lib/modules/Step/index.js +40 -52
  148. package/lib/modules/Step/tyeps.js +4 -16
  149. package/lib/modules/Summary/index.js +66 -70
  150. package/lib/modules/Summary/types.js +4 -16
  151. package/lib/modules/Summary/utils.js +782 -429
  152. package/lib/modules/index.js +212 -57
  153. package/lib/plugins/app.js +4 -16
  154. package/lib/plugins/index.js +36 -25
  155. package/lib/plugins/request.js +137 -126
  156. package/lib/plugins/shopStore.js +4 -16
  157. package/lib/plugins/user.js +4 -16
  158. package/lib/plugins/window.js +171 -179
  159. package/lib/server/index.js +882 -623
  160. package/lib/server/modules/index.js +85 -59
  161. package/lib/server/modules/menu/index.js +146 -122
  162. package/lib/server/modules/menu/types.js +18 -31
  163. package/lib/server/modules/order/index.js +195 -231
  164. package/lib/server/modules/order/types.js +107 -32
  165. package/lib/server/modules/order/utils/filterBookings.js +174 -140
  166. package/lib/server/modules/order/utils/filterOrders.js +89 -60
  167. package/lib/server/modules/products/index.js +430 -335
  168. package/lib/server/modules/products/types.js +41 -34
  169. package/lib/server/modules/quotation/index.js +76 -77
  170. package/lib/server/modules/quotation/types.js +21 -31
  171. package/lib/server/modules/resource/index.js +216 -187
  172. package/lib/server/modules/resource/types.js +42 -33
  173. package/lib/server/modules/schedule/index.js +134 -119
  174. package/lib/server/modules/schedule/types.js +14 -21
  175. package/lib/server/modules/schedule/utils.js +334 -163
  176. package/lib/server/types.js +4 -16
  177. package/lib/server/utils/index.js +25 -23
  178. package/lib/server/utils/product.js +196 -139
  179. package/lib/server/utils/schedule.js +34 -41
  180. package/lib/server/utils/time.js +40 -49
  181. package/lib/solution/BookingByStep/index.d.ts +1 -1
  182. package/lib/solution/BookingByStep/index.js +1530 -1343
  183. package/lib/solution/BookingByStep/types.js +40 -99
  184. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  185. package/lib/solution/BookingByStep/utils/products.js +42 -52
  186. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  187. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  188. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  189. package/lib/solution/BookingTicket/index.d.ts +1 -1
  190. package/lib/solution/BookingTicket/index.js +147 -122
  191. package/lib/solution/BookingTicket/types.js +38 -64
  192. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +64 -80
  193. package/lib/solution/BookingTicket/utils/scan/handleScan.js +82 -80
  194. package/lib/solution/BookingTicket/utils/scan/index.js +90 -94
  195. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  196. package/lib/solution/BuyTickets/index.js +67 -70
  197. package/lib/solution/BuyTickets/types.js +22 -38
  198. package/lib/solution/Checkout/index.js +1451 -1158
  199. package/lib/solution/Checkout/types.js +91 -61
  200. package/lib/solution/Checkout/utils/index.js +227 -158
  201. package/lib/solution/PlaceOrder/index.js +55 -0
  202. package/lib/solution/RegisterAndLogin/config.js +493 -460
  203. package/lib/solution/RegisterAndLogin/index.js +633 -630
  204. package/lib/solution/RegisterAndLogin/types.js +189 -76
  205. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  206. package/lib/solution/Sales/index.js +218 -200
  207. package/lib/solution/Sales/types.js +27 -33
  208. package/lib/solution/ScanOrder/index.js +803 -840
  209. package/lib/solution/ScanOrder/types.js +34 -34
  210. package/lib/solution/ScanOrder/utils.js +372 -331
  211. package/lib/solution/ShopDiscount/index.js +230 -236
  212. package/lib/solution/ShopDiscount/types.js +15 -37
  213. package/lib/solution/ShopDiscount/utils.js +309 -172
  214. package/lib/solution/VenueBooking/index.d.ts +5 -0
  215. package/lib/solution/VenueBooking/index.js +886 -929
  216. package/lib/solution/VenueBooking/types.js +20 -40
  217. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  218. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  219. package/lib/solution/VenueBooking/utils/slotMerge.js +88 -106
  220. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  221. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  222. package/lib/solution/VenueBooking/utils.js +130 -67
  223. package/lib/solution/index.js +102 -37
  224. package/lib/store/createStore.js +32 -29
  225. package/lib/types/index.js +4 -16
  226. package/lib/utils/task.js +36 -36
  227. package/lib/utils/watch.js +81 -47
  228. package/package.json +2 -1
@@ -1,80 +1,64 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
29
2
 
30
- // src/modules/ScanOrderLogger/index.ts
31
- var ScanOrderLogger_exports = {};
32
- __export(ScanOrderLogger_exports, {
33
- ScanOrderLoggerModule: () => ScanOrderLoggerModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
34
5
  });
35
- module.exports = __toCommonJS(ScanOrderLogger_exports);
36
- var import_dayjs = __toESM(require("dayjs"));
37
- var import_BaseModule = require("../BaseModule");
38
- var import_feishu = require("./providers/feishu");
39
- var import_grafana = require("./providers/grafana");
40
- __reExport(ScanOrderLogger_exports, require("./types"), module.exports);
41
- var defaultProviderConfig = {
6
+ var _exportNames = {
7
+ ScanOrderLoggerModule: true
8
+ };
9
+ exports.ScanOrderLoggerModule = void 0;
10
+ var _dayjs = _interopRequireDefault(require("dayjs"));
11
+ var _BaseModule = require("../BaseModule");
12
+ var _feishu = require("./providers/feishu");
13
+ var _grafana = require("./providers/grafana");
14
+ var _types = require("./types");
15
+ Object.keys(_types).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
+ if (key in exports && exports[key] === _types[key]) return;
19
+ Object.defineProperty(exports, key, {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _types[key];
23
+ }
24
+ });
25
+ });
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ const defaultProviderConfig = {
42
28
  feishu: {
43
- webhook: "https://open.feishu.cn/open-apis/bot/v2/hook/REPLACE_ME"
29
+ webhook: 'https://open.feishu.cn/open-apis/bot/v2/hook/REPLACE_ME'
44
30
  },
45
31
  grafana: {
46
- endpoint: "https://grafana.example.com/collect"
32
+ endpoint: 'https://grafana.example.com/collect'
47
33
  }
48
34
  };
49
- var providerMap = {
50
- feishu: import_feishu.feishuLoggerProvider,
51
- grafana: import_grafana.grafanaLoggerProvider
35
+ const providerMap = {
36
+ feishu: _feishu.feishuLoggerProvider,
37
+ grafana: _grafana.grafanaLoggerProvider
52
38
  };
53
- var ScanOrderLoggerModule = class extends import_BaseModule.BaseModule {
54
- constructor() {
55
- super(...arguments);
56
- this.defaultName = "scanOrderLogger";
57
- this.defaultVersion = "1.0.0";
58
- }
39
+ class ScanOrderLoggerModule extends _BaseModule.BaseModule {
40
+ defaultName = 'scanOrderLogger';
41
+ defaultVersion = '1.0.0';
42
+ store;
43
+ window;
59
44
  async initialize(core, options = {}) {
60
- var _a, _b, _c;
61
45
  this.core = core;
62
46
  this.store = options.store;
63
- this.window = core.getPlugin("window") || void 0;
64
- const provider = ((_a = options.otherParams) == null ? void 0 : _a.provider) || "feishu";
65
- const providerConfig = ((_b = options.otherParams) == null ? void 0 : _b.providerConfig) || {};
66
- const context = ((_c = options.otherParams) == null ? void 0 : _c.context) || {};
47
+ this.window = core.getPlugin('window') || undefined;
48
+ const provider = options.otherParams?.provider || 'feishu';
49
+ const providerConfig = options.otherParams?.providerConfig || {};
50
+ const context = options.otherParams?.context || {};
67
51
  this.store.provider = provider;
68
52
  this.store.providerConfig = {
69
53
  ...defaultProviderConfig,
70
54
  ...providerConfig,
71
55
  feishu: {
72
56
  ...defaultProviderConfig.feishu,
73
- ...providerConfig.feishu || {}
57
+ ...(providerConfig.feishu || {})
74
58
  },
75
59
  grafana: {
76
60
  ...defaultProviderConfig.grafana,
77
- ...providerConfig.grafana || {}
61
+ ...(providerConfig.grafana || {})
78
62
  }
79
63
  };
80
64
  this.store.context = context;
@@ -93,42 +77,42 @@ var ScanOrderLoggerModule = class extends import_BaseModule.BaseModule {
93
77
  ...this.store.providerConfig,
94
78
  ...providerConfig,
95
79
  feishu: {
96
- ...this.store.providerConfig.feishu || {},
97
- ...providerConfig.feishu || {}
80
+ ...(this.store.providerConfig.feishu || {}),
81
+ ...(providerConfig.feishu || {})
98
82
  },
99
83
  grafana: {
100
- ...this.store.providerConfig.grafana || {},
101
- ...providerConfig.grafana || {}
84
+ ...(this.store.providerConfig.grafana || {}),
85
+ ...(providerConfig.grafana || {})
102
86
  }
103
87
  };
104
88
  }
105
89
  getCurrentHost() {
106
- var _a, _b;
107
- const host = (_b = (_a = this.window) == null ? void 0 : _a.location) == null ? void 0 : _b.host;
108
- if (typeof host === "string" && host.length > 0)
109
- return host;
110
- return void 0;
90
+ const host = this.window?.location?.host;
91
+ if (typeof host === 'string' && host.length > 0) return host;
92
+ return undefined;
111
93
  }
112
94
  buildRecord(params) {
113
95
  const host = this.getCurrentHost();
114
96
  return {
115
- level: params.level || "info",
97
+ level: params.level || 'info',
116
98
  title: params.title,
117
- timestamp: params.timestamp || (0, import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss"),
99
+ timestamp: params.timestamp || (0, _dayjs.default)().format('YYYY-MM-DD HH:mm:ss'),
118
100
  payload: params.payload || {},
119
101
  extra: params.extra || {},
120
102
  context: {
121
- ...this.store.context || {},
122
- ...host ? { host } : {}
103
+ ...(this.store.context || {}),
104
+ ...(host ? {
105
+ host
106
+ } : {})
123
107
  }
124
108
  };
125
109
  }
126
110
  async addLog(params) {
127
111
  if (!params.title) {
128
- console.warn("[ScanOrderLogger] 缺少日志标题,已跳过");
112
+ console.warn('[ScanOrderLogger] 缺少日志标题,已跳过');
129
113
  return;
130
114
  }
131
- const provider = providerMap[this.store.provider] || import_feishu.feishuLoggerProvider;
115
+ const provider = providerMap[this.store.provider] || _feishu.feishuLoggerProvider;
132
116
  const record = this.buildRecord(params);
133
117
  try {
134
118
  await provider.send({
@@ -136,12 +120,8 @@ var ScanOrderLoggerModule = class extends import_BaseModule.BaseModule {
136
120
  providerConfig: this.store.providerConfig
137
121
  });
138
122
  } catch (error) {
139
- console.warn("[ScanOrderLogger] 日志上报失败", error);
123
+ console.warn('[ScanOrderLogger] 日志上报失败', error);
140
124
  }
141
125
  }
142
- };
143
- // Annotate the CommonJS export names for ESM import in node:
144
- 0 && (module.exports = {
145
- ScanOrderLoggerModule,
146
- ...require("./types")
147
- });
126
+ }
127
+ exports.ScanOrderLoggerModule = ScanOrderLoggerModule;
@@ -1,37 +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/ScanOrderLogger/providers/feishu.ts
20
- var feishu_exports = {};
21
- __export(feishu_exports, {
22
- feishuLoggerProvider: () => feishuLoggerProvider
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(feishu_exports);
25
- var DEFAULT_THROTTLE_MS = 3e3;
26
- var pendingQueue = [];
27
- var flushTimer = null;
28
- var cachedProviderConfig;
6
+ exports.feishuLoggerProvider = void 0;
7
+ const DEFAULT_THROTTLE_MS = 3000;
8
+ const pendingQueue = [];
9
+ let flushTimer = null;
10
+ let cachedProviderConfig;
29
11
  function safeStringify(value) {
30
- if (value === void 0 || value === null)
31
- return "";
32
- if (typeof value === "string")
33
- return value;
34
- if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") {
12
+ if (value === undefined || value === null) return '';
13
+ if (typeof value === 'string') return value;
14
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
35
15
  return String(value);
36
16
  }
37
17
  try {
@@ -41,36 +21,40 @@ function safeStringify(value) {
41
21
  }
42
22
  }
43
23
  function isWebhookUsable(webhook) {
44
- if (!webhook)
45
- return false;
46
- if (webhook.includes("REPLACE_ME"))
47
- return false;
24
+ if (!webhook) return false;
25
+ if (webhook.includes('REPLACE_ME')) return false;
48
26
  return true;
49
27
  }
50
28
  function buildRecordSegments(record) {
51
29
  const context = record.context || {};
52
- return [
53
- [{ tag: "text", text: `[${record.level}] ${record.timestamp} ${record.title}
54
- ` }],
55
- [{ tag: "text", text: `缓存标识: ${safeStringify(context.cacheId)}
56
- ` }],
57
- [{ tag: "text", text: `日志来源: ${safeStringify(context)}
58
- ` }],
59
- [{ tag: "text", text: `日志内容: ${safeStringify(record.payload)}
60
- ` }],
61
- [{ tag: "text", text: `扩展信息: ${safeStringify(record.extra)}
62
- ` }],
63
- [{ tag: "text", text: "------\n" }]
64
- ];
30
+ return [[{
31
+ tag: 'text',
32
+ text: `[${record.level}] ${record.timestamp} ${record.title}\n`
33
+ }], [{
34
+ tag: 'text',
35
+ text: `缓存标识: ${safeStringify(context.cacheId)}\n`
36
+ }], [{
37
+ tag: 'text',
38
+ text: `日志来源: ${safeStringify(context)}\n`
39
+ }], [{
40
+ tag: 'text',
41
+ text: `日志内容: ${safeStringify(record.payload)}\n`
42
+ }], [{
43
+ tag: 'text',
44
+ text: `扩展信息: ${safeStringify(record.extra)}\n`
45
+ }], [{
46
+ tag: 'text',
47
+ text: '------\n'
48
+ }]];
65
49
  }
66
50
  function buildFeishuBody(records) {
67
51
  const title = records.length === 1 ? records[0].title : `ScanOrder 日志批量 (${records.length} 条)`;
68
52
  const content = [];
69
- records.forEach((record) => {
70
- buildRecordSegments(record).forEach((segment) => content.push(segment));
53
+ records.forEach(record => {
54
+ buildRecordSegments(record).forEach(segment => content.push(segment));
71
55
  });
72
56
  return JSON.stringify({
73
- msg_type: "post",
57
+ msg_type: 'post',
74
58
  content: JSON.stringify({
75
59
  post: {
76
60
  zh_cn: {
@@ -83,63 +67,59 @@ function buildFeishuBody(records) {
83
67
  }
84
68
  async function postToFeishu(webhook, body) {
85
69
  await fetch(webhook, {
86
- method: "POST",
70
+ method: 'POST',
87
71
  headers: {
88
- "Content-Type": "application/json"
72
+ 'Content-Type': 'application/json'
89
73
  },
90
74
  body
91
75
  });
92
76
  }
93
77
  async function flushQueue() {
94
- var _a;
95
78
  flushTimer = null;
96
- if (!pendingQueue.length)
97
- return;
79
+ if (!pendingQueue.length) return;
98
80
  const records = pendingQueue.splice(0, pendingQueue.length);
99
- const webhook = (_a = cachedProviderConfig == null ? void 0 : cachedProviderConfig.feishu) == null ? void 0 : _a.webhook;
81
+ const webhook = cachedProviderConfig?.feishu?.webhook;
100
82
  if (!isWebhookUsable(webhook)) {
101
83
  return;
102
84
  }
103
- if (typeof fetch !== "function") {
104
- console.warn("[ScanOrderLogger] 当前环境不支持 fetch,跳过 Feishu 日志批量上报");
85
+ if (typeof fetch !== 'function') {
86
+ console.warn('[ScanOrderLogger] 当前环境不支持 fetch,跳过 Feishu 日志批量上报');
105
87
  return;
106
88
  }
107
89
  try {
108
90
  await postToFeishu(webhook, buildFeishuBody(records));
109
91
  } catch (error) {
110
- console.warn("[ScanOrderLogger] Feishu 批量上报失败", error);
92
+ console.warn('[ScanOrderLogger] Feishu 批量上报失败', error);
111
93
  }
112
94
  }
113
- var feishuLoggerProvider = {
95
+ const feishuLoggerProvider = exports.feishuLoggerProvider = {
114
96
  async send(payload) {
115
- var _a, _b, _c, _d, _e, _f;
116
97
  cachedProviderConfig = payload.providerConfig;
117
- const webhook = (_b = (_a = payload.providerConfig) == null ? void 0 : _a.feishu) == null ? void 0 : _b.webhook;
118
- const errorHook = (_d = (_c = payload.providerConfig) == null ? void 0 : _c.feishu) == null ? void 0 : _d.errorHook;
119
- if (typeof fetch !== "function") {
120
- console.warn("[ScanOrderLogger] 当前环境不支持 fetch,跳过 Feishu 日志上报");
98
+ const webhook = payload.providerConfig?.feishu?.webhook;
99
+ const errorHook = payload.providerConfig?.feishu?.errorHook;
100
+ if (typeof fetch !== 'function') {
101
+ console.warn('[ScanOrderLogger] 当前环境不支持 fetch,跳过 Feishu 日志上报');
121
102
  return;
122
103
  }
123
- if (payload.record.level === "error" && isWebhookUsable(errorHook)) {
104
+ if (payload.record.level === 'error' && isWebhookUsable(errorHook)) {
124
105
  try {
125
106
  await postToFeishu(errorHook, buildFeishuBody([payload.record]));
126
107
  } catch (error) {
127
- console.warn("[ScanOrderLogger] Feishu errorHook 上报失败", error);
108
+ console.warn('[ScanOrderLogger] Feishu errorHook 上报失败', error);
128
109
  }
129
110
  return;
130
111
  }
131
112
  if (!webhook) {
132
- console.warn("[ScanOrderLogger] Feishu webhook 未配置,跳过日志上报");
113
+ console.warn('[ScanOrderLogger] Feishu webhook 未配置,跳过日志上报');
133
114
  return;
134
115
  }
135
- if (!isWebhookUsable(webhook))
136
- return;
137
- const throttleMs = ((_f = (_e = payload.providerConfig) == null ? void 0 : _e.feishu) == null ? void 0 : _f.throttleMs) ?? DEFAULT_THROTTLE_MS;
116
+ if (!isWebhookUsable(webhook)) return;
117
+ const throttleMs = payload.providerConfig?.feishu?.throttleMs ?? DEFAULT_THROTTLE_MS;
138
118
  if (throttleMs <= 0) {
139
119
  try {
140
120
  await postToFeishu(webhook, buildFeishuBody([payload.record]));
141
121
  } catch (error) {
142
- console.warn("[ScanOrderLogger] Feishu 日志上报失败", error);
122
+ console.warn('[ScanOrderLogger] Feishu 日志上报失败', error);
143
123
  }
144
124
  return;
145
125
  }
@@ -150,8 +130,4 @@ var feishuLoggerProvider = {
150
130
  }, throttleMs);
151
131
  }
152
132
  }
153
- };
154
- // Annotate the CommonJS export names for ESM import in node:
155
- 0 && (module.exports = {
156
- feishuLoggerProvider
157
- });
133
+ };
@@ -1,52 +1,29 @@
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/ScanOrderLogger/providers/grafana.ts
20
- var grafana_exports = {};
21
- __export(grafana_exports, {
22
- grafanaLoggerProvider: () => grafanaLoggerProvider
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
23
5
  });
24
- module.exports = __toCommonJS(grafana_exports);
25
- var grafanaLoggerProvider = {
6
+ exports.grafanaLoggerProvider = void 0;
7
+ const grafanaLoggerProvider = exports.grafanaLoggerProvider = {
26
8
  async send(payload) {
27
- var _a, _b, _c, _d;
28
- const endpoint = (_b = (_a = payload.providerConfig) == null ? void 0 : _a.grafana) == null ? void 0 : _b.endpoint;
9
+ const endpoint = payload.providerConfig?.grafana?.endpoint;
29
10
  if (!endpoint) {
30
- console.warn("[ScanOrderLogger] Grafana endpoint 未配置,跳过日志上报");
11
+ console.warn('[ScanOrderLogger] Grafana endpoint 未配置,跳过日志上报');
31
12
  return;
32
13
  }
33
- if (typeof fetch !== "function") {
34
- console.warn("[ScanOrderLogger] 当前环境不支持 fetch,跳过 Grafana 日志上报");
14
+ if (typeof fetch !== 'function') {
15
+ console.warn('[ScanOrderLogger] 当前环境不支持 fetch,跳过 Grafana 日志上报');
35
16
  return;
36
17
  }
37
18
  await fetch(endpoint, {
38
- method: "POST",
19
+ method: 'POST',
39
20
  headers: {
40
- "Content-Type": "application/json",
41
- ...((_d = (_c = payload.providerConfig) == null ? void 0 : _c.grafana) == null ? void 0 : _d.headers) || {}
21
+ 'Content-Type': 'application/json',
22
+ ...(payload.providerConfig?.grafana?.headers || {})
42
23
  },
43
24
  body: JSON.stringify({
44
25
  record: payload.record
45
26
  })
46
27
  });
47
28
  }
48
- };
49
- // Annotate the CommonJS export names for ESM import in node:
50
- 0 && (module.exports = {
51
- grafanaLoggerProvider
52
- });
29
+ };
@@ -1,17 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
14
2
 
15
- // src/modules/ScanOrderLogger/types.ts
16
- var types_exports = {};
17
- module.exports = __toCommonJS(types_exports);
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });