@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.
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.js +111 -71
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/strategy-example.js +5 -19
- package/dist/modules/Cart/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +0 -1
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.js +2 -4
- package/dist/modules/OpenData/index.js +0 -2
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +36 -64
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Quotation/index.d.ts +6 -0
- package/dist/modules/Quotation/index.js +75 -19
- package/dist/modules/Rules/index.js +1 -4
- package/dist/modules/Schedule/index.js +0 -1
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/plugins/request.d.ts +1 -0
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.d.ts +8 -2
- package/dist/server/index.js +303 -269
- package/dist/server/modules/floor-plan/index.d.ts +4 -0
- package/dist/server/modules/floor-plan/index.js +240 -98
- package/dist/server/modules/menu/index.js +75 -59
- package/dist/server/modules/order/index.d.ts +17 -7
- package/dist/server/modules/order/index.js +421 -211
- package/dist/server/modules/products/index.d.ts +8 -2
- package/dist/server/modules/products/index.js +191 -117
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +24 -17
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BaseSales/index.js +38 -41
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.js +0 -2
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
- package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
- package/dist/solution/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.js +177 -252
- package/dist/solution/Checkout/utils/index.js +4 -16
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/ScanOrder/index.js +50 -60
- package/dist/solution/ShopDiscount/index.js +2 -7
- package/dist/solution/VenueBooking/index.js +45 -55
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.d.ts +7 -0
- package/lib/core/index.js +149 -131
- package/lib/effects/index.js +46 -57
- package/lib/index.js +82 -49
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
- package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
- package/lib/model/strategy/adapter/promotion/examples.js +222 -234
- package/lib/model/strategy/adapter/promotion/index.js +1 -0
- package/lib/model/strategy/adapter/promotion/type.js +243 -36
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.js +23 -42
- package/lib/modules/BookingContext/index.js +158 -136
- package/lib/modules/BookingContext/types.js +46 -32
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
- package/lib/modules/BookingContext/utils/flexible.js +38 -55
- package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
- package/lib/modules/BookingContext/utils/index.js +124 -41
- package/lib/modules/BookingContext/utils/noResource.js +58 -70
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
- package/lib/modules/BookingContext/utils/productExtend.js +202 -155
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
- package/lib/modules/BookingContext/utils/resources.js +209 -167
- package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
- package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
- package/lib/modules/Cart/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +321 -251
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +70 -78
- package/lib/modules/Cart/utils/changePrice.js +22 -50
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +235 -172
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.js +122 -127
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.js +70 -76
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +1713 -2118
- package/lib/modules/Order/payment-utils.js +77 -120
- package/lib/modules/Order/types.js +88 -35
- package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
- package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
- package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
- package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
- package/lib/modules/Order/utils.js +814 -647
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.js +532 -399
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +230 -108
- package/lib/modules/Payment/utils.js +52 -51
- package/lib/modules/Payment/walletpass.js +485 -660
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +113 -123
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.d.ts +6 -0
- package/lib/modules/Quotation/index.js +110 -103
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- package/lib/modules/ResourcePlanner/index.js +25 -23
- package/lib/modules/ResourcePlanner/localClock.js +54 -119
- package/lib/modules/ResourcePlanner/planner.js +589 -770
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1218 -959
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +85 -90
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +355 -430
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
- package/lib/modules/Schedule/index.js +100 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -71
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +773 -418
- package/lib/modules/SurchargeList/index.js +46 -60
- package/lib/modules/SurchargeList/types.js +4 -16
- package/lib/modules/index.js +245 -63
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.d.ts +1 -0
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.d.ts +8 -2
- package/lib/server/index.js +3083 -2663
- package/lib/server/modules/floor-plan/index.d.ts +4 -0
- package/lib/server/modules/floor-plan/index.js +159 -127
- package/lib/server/modules/floor-plan/types.js +15 -30
- package/lib/server/modules/index.js +106 -68
- package/lib/server/modules/menu/index.js +170 -124
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.d.ts +17 -7
- package/lib/server/modules/order/index.js +916 -977
- package/lib/server/modules/order/types.js +122 -33
- package/lib/server/modules/order/utils/filterBookings.js +219 -194
- package/lib/server/modules/order/utils/filterOrders.js +118 -92
- package/lib/server/modules/payment/index.js +59 -83
- package/lib/server/modules/payment/types.js +4 -16
- package/lib/server/modules/products/index.d.ts +8 -2
- package/lib/server/modules/products/index.js +656 -471
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.js +137 -172
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +225 -186
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +135 -123
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +196 -139
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.js +479 -456
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.js +1186 -1410
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.js +642 -498
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
- package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
- package/lib/solution/BaseSales/utils.js +158 -143
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1527 -1340
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.js +607 -522
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
- package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
- package/lib/solution/BookingTicket/utils/cartView.js +114 -99
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
- package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
- package/lib/solution/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.js +1451 -1158
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -156
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +493 -460
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.js +328 -324
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +832 -864
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +409 -374
- package/lib/solution/ShopDiscount/index.js +226 -232
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +300 -172
- package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- package/lib/solution/UnifiedBookingSales/types.js +10 -32
- package/lib/solution/VenueBooking/index.js +811 -879
- package/lib/solution/VenueBooking/types.js +19 -39
- package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
- package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +124 -41
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/payment-number.js +26 -46
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
|
@@ -1,80 +1,64 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
__export(ScanOrderLogger_exports, {
|
|
33
|
-
ScanOrderLoggerModule: () => ScanOrderLoggerModule
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
34
5
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
var
|
|
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:
|
|
29
|
+
webhook: 'https://open.feishu.cn/open-apis/bot/v2/hook/REPLACE_ME'
|
|
44
30
|
},
|
|
45
31
|
grafana: {
|
|
46
|
-
endpoint:
|
|
32
|
+
endpoint: 'https://grafana.example.com/collect'
|
|
47
33
|
}
|
|
48
34
|
};
|
|
49
|
-
|
|
50
|
-
feishu:
|
|
51
|
-
grafana:
|
|
35
|
+
const providerMap = {
|
|
36
|
+
feishu: _feishu.feishuLoggerProvider,
|
|
37
|
+
grafana: _grafana.grafanaLoggerProvider
|
|
52
38
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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(
|
|
64
|
-
const provider =
|
|
65
|
-
const providerConfig =
|
|
66
|
-
const 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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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 ||
|
|
97
|
+
level: params.level || 'info',
|
|
116
98
|
title: params.title,
|
|
117
|
-
timestamp: params.timestamp || (0,
|
|
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 ? {
|
|
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(
|
|
112
|
+
console.warn('[ScanOrderLogger] 缺少日志标题,已跳过');
|
|
129
113
|
return;
|
|
130
114
|
}
|
|
131
|
-
const provider = providerMap[this.store.provider] ||
|
|
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(
|
|
123
|
+
console.warn('[ScanOrderLogger] 日志上报失败', error);
|
|
140
124
|
}
|
|
141
125
|
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
0 && (module.exports = {
|
|
145
|
-
ScanOrderLoggerModule,
|
|
146
|
-
...require("./types")
|
|
147
|
-
});
|
|
126
|
+
}
|
|
127
|
+
exports.ScanOrderLoggerModule = ScanOrderLoggerModule;
|
|
@@ -1,37 +1,17 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
__export(feishu_exports, {
|
|
22
|
-
feishuLoggerProvider: () => feishuLoggerProvider
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 ===
|
|
31
|
-
|
|
32
|
-
if (typeof value ===
|
|
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
|
-
|
|
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
|
-
|
|
54
|
-
` }
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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(
|
|
70
|
-
buildRecordSegments(record).forEach(
|
|
53
|
+
records.forEach(record => {
|
|
54
|
+
buildRecordSegments(record).forEach(segment => content.push(segment));
|
|
71
55
|
});
|
|
72
56
|
return JSON.stringify({
|
|
73
|
-
msg_type:
|
|
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:
|
|
70
|
+
method: 'POST',
|
|
87
71
|
headers: {
|
|
88
|
-
|
|
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 =
|
|
81
|
+
const webhook = cachedProviderConfig?.feishu?.webhook;
|
|
100
82
|
if (!isWebhookUsable(webhook)) {
|
|
101
83
|
return;
|
|
102
84
|
}
|
|
103
|
-
if (typeof fetch !==
|
|
104
|
-
console.warn(
|
|
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(
|
|
92
|
+
console.warn('[ScanOrderLogger] Feishu 批量上报失败', error);
|
|
111
93
|
}
|
|
112
94
|
}
|
|
113
|
-
|
|
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 =
|
|
118
|
-
const errorHook =
|
|
119
|
-
if (typeof fetch !==
|
|
120
|
-
console.warn(
|
|
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 ===
|
|
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(
|
|
108
|
+
console.warn('[ScanOrderLogger] Feishu errorHook 上报失败', error);
|
|
128
109
|
}
|
|
129
110
|
return;
|
|
130
111
|
}
|
|
131
112
|
if (!webhook) {
|
|
132
|
-
console.warn(
|
|
113
|
+
console.warn('[ScanOrderLogger] Feishu webhook 未配置,跳过日志上报');
|
|
133
114
|
return;
|
|
134
115
|
}
|
|
135
|
-
if (!isWebhookUsable(webhook))
|
|
136
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
__export(grafana_exports, {
|
|
22
|
-
grafanaLoggerProvider: () => grafanaLoggerProvider
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
exports.grafanaLoggerProvider = void 0;
|
|
7
|
+
const grafanaLoggerProvider = exports.grafanaLoggerProvider = {
|
|
26
8
|
async send(payload) {
|
|
27
|
-
|
|
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(
|
|
11
|
+
console.warn('[ScanOrderLogger] Grafana endpoint 未配置,跳过日志上报');
|
|
31
12
|
return;
|
|
32
13
|
}
|
|
33
|
-
if (typeof fetch !==
|
|
34
|
-
console.warn(
|
|
14
|
+
if (typeof fetch !== 'function') {
|
|
15
|
+
console.warn('[ScanOrderLogger] 当前环境不支持 fetch,跳过 Grafana 日志上报');
|
|
35
16
|
return;
|
|
36
17
|
}
|
|
37
18
|
await fetch(endpoint, {
|
|
38
|
-
method:
|
|
19
|
+
method: 'POST',
|
|
39
20
|
headers: {
|
|
40
|
-
|
|
41
|
-
...(
|
|
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
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|