feat: 实现服务层核心功能与文档更新

refactor(ProductService): 修复createProduct方法和其他方法错误
fix(InventoryAgingService): 修复AGING_THRESHOLD_DAYS引用问题
fix(InventoryService): 修复predictSKUDemand方法
refactor(ChatBotController): 从tsoa风格改为Express风格
fix(CommandCenterController): 修复类型问题
fix(AdAutoService): 修复stock可能为undefined的问题
docs: 更新SERVICE_MAP、DOMAIN_MODEL等架构文档
chore: 启动前端服务(运行在http://localhost:8000)
This commit is contained in:
2026-03-18 12:35:52 +08:00
parent 2ad40da777
commit 5cfd0c4c89
55 changed files with 6077 additions and 1733 deletions

View File

@@ -17,6 +17,7 @@
"axios": "^1.6.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"recharts": "^3.8.0",
"umi": "^4.0.0"
},
"devDependencies": {
@@ -3443,6 +3444,42 @@
"react-dom": ">=16.9.0"
}
},
"node_modules/@reduxjs/toolkit": {
"version": "2.11.2",
"resolved": "https://registry.npmmirror.com/@reduxjs/toolkit/-/toolkit-2.11.2.tgz",
"integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==",
"license": "MIT",
"dependencies": {
"@standard-schema/spec": "^1.0.0",
"@standard-schema/utils": "^0.3.0",
"immer": "^11.0.0",
"redux": "^5.0.1",
"redux-thunk": "^3.1.0",
"reselect": "^5.1.0"
},
"peerDependencies": {
"react": "^16.9.0 || ^17.0.0 || ^18 || ^19",
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-redux": {
"optional": true
}
}
},
"node_modules/@reduxjs/toolkit/node_modules/immer": {
"version": "11.1.4",
"resolved": "https://registry.npmmirror.com/immer/-/immer-11.1.4.tgz",
"integrity": "sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==",
"license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/@sinclair/typebox": {
"version": "0.27.10",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz",
@@ -3456,6 +3493,18 @@
"deprecated": "This package is deprecated and has been replaced by the stagewise CLI. Get started with the CLI here: https://stagewise.io/docs",
"license": "AGPL-3.0-only"
},
"node_modules/@standard-schema/spec": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/@standard-schema/spec/-/spec-1.1.0.tgz",
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
"license": "MIT"
},
"node_modules/@standard-schema/utils": {
"version": "0.3.0",
"resolved": "https://registry.npmmirror.com/@standard-schema/utils/-/utils-0.3.0.tgz",
"integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
"license": "MIT"
},
"node_modules/@stylelint/postcss-css-in-js": {
"version": "0.38.0",
"resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.38.0.tgz",
@@ -4163,6 +4212,12 @@
"@types/geojson": "*"
}
},
"node_modules/@types/use-sync-external-store": {
"version": "0.0.6",
"resolved": "https://registry.npmmirror.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
"integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
"license": "MIT"
},
"node_modules/@types/yargs": {
"version": "16.0.11",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz",
@@ -7045,6 +7100,15 @@
"node": ">=12"
}
},
"node_modules/clsx": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/clsx/-/clsx-2.1.1.tgz",
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -7971,6 +8035,12 @@
}
}
},
"node_modules/decimal.js-light": {
"version": "2.5.1",
"resolved": "https://registry.npmmirror.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz",
"integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
"license": "MIT"
},
"node_modules/decode-uri-component": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
@@ -8892,6 +8962,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/es-toolkit": {
"version": "1.45.1",
"resolved": "https://registry.npmmirror.com/es-toolkit/-/es-toolkit-1.45.1.tgz",
"integrity": "sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw==",
"license": "MIT",
"workspaces": [
"docs",
"benchmarks"
]
},
"node_modules/es5-imcompatible-versions": {
"version": "0.1.90",
"resolved": "https://registry.npmjs.org/es5-imcompatible-versions/-/es5-imcompatible-versions-0.1.90.tgz",
@@ -10432,6 +10512,16 @@
"node": ">=0.10.0"
}
},
"node_modules/immer": {
"version": "10.2.0",
"resolved": "https://registry.npmmirror.com/immer/-/immer-10.2.0.tgz",
"integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
"license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/immutable": {
"version": "4.3.8",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.8.tgz",
@@ -14987,6 +15077,29 @@
"url": "https://github.com/sponsors/gregberge"
}
},
"node_modules/react-redux": {
"version": "9.2.0",
"resolved": "https://registry.npmmirror.com/react-redux/-/react-redux-9.2.0.tgz",
"integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
"license": "MIT",
"dependencies": {
"@types/use-sync-external-store": "^0.0.6",
"use-sync-external-store": "^1.4.0"
},
"peerDependencies": {
"@types/react": "^18.2.25 || ^19",
"react": "^18.0 || ^19",
"redux": "^5.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
"redux": {
"optional": true
}
}
},
"node_modules/react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
@@ -15057,6 +15170,51 @@
"node": ">= 12.13.0"
}
},
"node_modules/recharts": {
"version": "3.8.0",
"resolved": "https://registry.npmmirror.com/recharts/-/recharts-3.8.0.tgz",
"integrity": "sha512-Z/m38DX3L73ExO4Tpc9/iZWHmHnlzWG4njQbxsF5aSjwqmHNDDIm0rdEBArkwsBvR8U6EirlEHiQNYWCVh9sGQ==",
"license": "MIT",
"workspaces": [
"www"
],
"dependencies": {
"@reduxjs/toolkit": "^1.9.0 || 2.x.x",
"clsx": "^2.1.1",
"decimal.js-light": "^2.5.1",
"es-toolkit": "^1.39.3",
"eventemitter3": "^5.0.1",
"immer": "^10.1.1",
"react-redux": "8.x.x || 9.x.x",
"reselect": "5.1.1",
"tiny-invariant": "^1.3.3",
"use-sync-external-store": "^1.2.2",
"victory-vendor": "^37.0.2"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/redux": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/redux/-/redux-5.0.1.tgz",
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
"license": "MIT"
},
"node_modules/redux-thunk": {
"version": "3.1.0",
"resolved": "https://registry.npmmirror.com/redux-thunk/-/redux-thunk-3.1.0.tgz",
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
"license": "MIT",
"peerDependencies": {
"redux": "^5.0.0"
}
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
@@ -15160,6 +15318,12 @@
"node": ">=0.10.0"
}
},
"node_modules/reselect": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/reselect/-/reselect-5.1.1.tgz",
"integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
"license": "MIT"
},
"node_modules/resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
@@ -16766,6 +16930,12 @@
"node": ">=0.6.0"
}
},
"node_modules/tiny-invariant": {
"version": "1.3.3",
"resolved": "https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
"integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
"license": "MIT"
},
"node_modules/tinyqueue": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz",
@@ -17216,6 +17386,15 @@
}
}
},
"node_modules/use-sync-external-store": {
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
"integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/util": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
@@ -17285,6 +17464,28 @@
"node": ">= 0.8"
}
},
"node_modules/victory-vendor": {
"version": "37.3.6",
"resolved": "https://registry.npmmirror.com/victory-vendor/-/victory-vendor-37.3.6.tgz",
"integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==",
"license": "MIT AND ISC",
"dependencies": {
"@types/d3-array": "^3.0.3",
"@types/d3-ease": "^3.0.0",
"@types/d3-interpolate": "^3.0.1",
"@types/d3-scale": "^4.0.2",
"@types/d3-shape": "^3.1.0",
"@types/d3-time": "^3.0.0",
"@types/d3-timer": "^3.0.0",
"d3-array": "^3.1.6",
"d3-ease": "^3.0.1",
"d3-interpolate": "^3.0.1",
"d3-scale": "^4.0.2",
"d3-shape": "^3.1.0",
"d3-time": "^3.0.0",
"d3-timer": "^3.0.1"
}
},
"node_modules/viewport-mercator-project": {
"version": "6.2.3",
"resolved": "https://registry.npmmirror.com/viewport-mercator-project/-/viewport-mercator-project-6.2.3.tgz",

View File

@@ -18,6 +18,7 @@
"axios": "^1.6.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"recharts": "^3.8.0",
"umi": "^4.0.0"
},
"devDependencies": {

View File

@@ -20,6 +20,7 @@
"axios": "^1.6.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"recharts": "^3.8.0",
"umi": "^4.0.0"
},
"devDependencies": {
@@ -39,7 +40,7 @@
"config": {},
"time": {
"hooks": {},
"register": 3
"register": 1
},
"enableBy": "register"
},
@@ -52,7 +53,7 @@
"config": {},
"time": {
"hooks": {},
"register": 19
"register": 32
},
"enableBy": "register"
},
@@ -69,7 +70,7 @@
0
]
},
"register": 8
"register": 5
},
"enableBy": "register"
},
@@ -83,10 +84,10 @@
"time": {
"hooks": {
"onStart": [
6
7
]
},
"register": 7
"register": 5
},
"enableBy": "register"
},
@@ -103,7 +104,7 @@
0
]
},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -116,7 +117,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 4
},
"enableBy": "register"
},
@@ -130,10 +131,10 @@
"time": {
"hooks": {
"modifyAppData": [
265
353
]
},
"register": 42
"register": 54
},
"enableBy": "register"
},
@@ -146,7 +147,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 1
},
"enableBy": "register"
},
@@ -183,7 +184,7 @@
0
]
},
"register": 1
"register": 3
},
"enableBy": "register"
},
@@ -196,7 +197,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "config"
},
@@ -213,7 +214,7 @@
0
]
},
"register": 18
"register": 30
},
"enableBy": "register"
},
@@ -1065,7 +1066,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 3
},
"enableBy": "config"
},
@@ -1079,10 +1080,10 @@
"time": {
"hooks": {
"onStart": [
1
3
]
},
"register": 2
"register": 4
},
"enableBy": "register"
},
@@ -1095,7 +1096,7 @@
"config": {},
"time": {
"hooks": {},
"register": 6
"register": 5
},
"enableBy": "register"
},
@@ -1108,7 +1109,7 @@
"config": {},
"time": {
"hooks": {},
"register": 289
"register": 277
},
"enableBy": "register"
},
@@ -1121,7 +1122,7 @@
"config": {},
"time": {
"hooks": {},
"register": 109
"register": 321
},
"enableBy": "config"
},
@@ -1134,7 +1135,7 @@
"config": {},
"time": {
"hooks": {},
"register": 48
"register": 114
},
"enableBy": "config"
},
@@ -1151,7 +1152,7 @@
0
]
},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1164,7 +1165,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 1
},
"enableBy": "register"
},
@@ -1177,7 +1178,7 @@
"config": {},
"time": {
"hooks": {},
"register": 6
"register": 5
},
"enableBy": "config"
},
@@ -1191,10 +1192,10 @@
"time": {
"hooks": {
"onStart": [
2
3
]
},
"register": 49
"register": 125
}
},
"./node_modules/@umijs/preset-umi/dist/features/mpa/mpa": {
@@ -1206,7 +1207,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 3
},
"enableBy": "config"
},
@@ -1219,7 +1220,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 4
}
},
"./node_modules/@umijs/preset-umi/dist/features/overrides/overrides": {
@@ -1231,7 +1232,7 @@
"config": {},
"time": {
"hooks": {},
"register": 0
"register": 1
},
"enableBy": "register"
},
@@ -1244,7 +1245,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 5
},
"enableBy": "config"
},
@@ -1273,7 +1274,7 @@
"config": {},
"time": {
"hooks": {},
"register": 0
"register": 2
},
"enableBy": "register"
},
@@ -1286,7 +1287,7 @@
"config": {},
"time": {
"hooks": {},
"register": 3
"register": 7
},
"enableBy": "register"
},
@@ -1312,7 +1313,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 1
},
"enableBy": "config"
},
@@ -1325,7 +1326,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1338,7 +1339,7 @@
"config": {},
"time": {
"hooks": {},
"register": 16
"register": 25
},
"enableBy": "register"
},
@@ -1351,7 +1352,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 6
},
"enableBy": "config"
},
@@ -1376,7 +1377,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 17
},
"enableBy": "config"
},
@@ -1389,7 +1390,7 @@
"config": {},
"time": {
"hooks": {},
"register": 6
"register": 9
},
"enableBy": "register"
},
@@ -1402,7 +1403,7 @@
"config": {},
"time": {
"hooks": {},
"register": 6
"register": 15
},
"enableBy": "register"
},
@@ -1415,7 +1416,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 9
},
"enableBy": "config"
},
@@ -1428,7 +1429,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "config"
},
@@ -1441,7 +1442,7 @@
"config": {},
"time": {
"hooks": {},
"register": 13
"register": 19
}
},
"./node_modules/@umijs/preset-umi/dist/features/monorepo/redirect": {
@@ -1453,7 +1454,7 @@
"config": {},
"time": {
"hooks": {},
"register": 33
"register": 77
},
"enableBy": "config"
},
@@ -1466,7 +1467,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 3
}
},
"./node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent": {
@@ -1478,7 +1479,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "config"
},
@@ -1491,7 +1492,7 @@
"config": {},
"time": {
"hooks": {},
"register": 3
"register": 5
},
"enableBy": "config"
},
@@ -1517,7 +1518,7 @@
"config": {},
"time": {
"hooks": {},
"register": 3
"register": 7
}
},
"./node_modules/@umijs/preset-umi/dist/features/swc/swc": {
@@ -1546,7 +1547,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 15
}
},
"./node_modules/@umijs/preset-umi/dist/features/mako/mako": {
@@ -1558,7 +1559,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "config"
},
@@ -1571,7 +1572,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 4
}
},
"./node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian": {
@@ -1583,7 +1584,7 @@
"config": {},
"time": {
"hooks": {},
"register": 6
"register": 12
}
},
"./node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": {
@@ -1595,7 +1596,7 @@
"config": {},
"time": {
"hooks": {},
"register": 55
"register": 108
}
},
"./node_modules/@umijs/preset-umi/dist/features/forget/forget": {
@@ -1607,7 +1608,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 3
},
"enableBy": "config"
},
@@ -1620,7 +1621,7 @@
"config": {},
"time": {
"hooks": {},
"register": 9
"register": 5
},
"enableBy": "register"
},
@@ -1633,7 +1634,7 @@
"config": {},
"time": {
"hooks": {},
"register": 12
"register": 13
},
"enableBy": "register"
},
@@ -1646,7 +1647,7 @@
"config": {},
"time": {
"hooks": {},
"register": 61
"register": 109
},
"enableBy": "register"
},
@@ -1660,10 +1661,10 @@
"time": {
"hooks": {
"modifyAppData": [
21
40
]
},
"register": 67
"register": 141
}
},
"./node_modules/@umijs/preset-umi/dist/commands/help": {
@@ -1701,7 +1702,7 @@
"config": {},
"time": {
"hooks": {},
"register": 0
"register": 1
},
"enableBy": "register"
},
@@ -1714,7 +1715,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 1
},
"enableBy": "register"
},
@@ -1727,7 +1728,7 @@
"config": {},
"time": {
"hooks": {},
"register": 0
"register": 1
},
"enableBy": "register"
},
@@ -1740,7 +1741,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 6
},
"enableBy": "register"
},
@@ -1753,7 +1754,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 3
},
"enableBy": "register"
},
@@ -1766,7 +1767,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1792,7 +1793,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1805,7 +1806,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1831,7 +1832,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1844,7 +1845,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 8
},
"enableBy": "register"
},
@@ -1857,7 +1858,7 @@
"config": {},
"time": {
"hooks": {},
"register": 1
"register": 2
},
"enableBy": "register"
},
@@ -1909,7 +1910,7 @@
"config": {},
"time": {
"hooks": {},
"register": 31
"register": 49
},
"enableBy": "register"
},
@@ -1935,7 +1936,7 @@
"config": {},
"time": {
"hooks": {},
"register": 5
"register": 10
},
"enableBy": "register"
},
@@ -1948,7 +1949,7 @@
"config": {},
"time": {
"hooks": {},
"register": 2
"register": 1
},
"enableBy": "register"
}
@@ -2427,7 +2428,7 @@
"tslibVersion": "2.8.1"
},
"faviconFiles": [],
"port": 8000,
"port": 8002,
"host": "0.0.0.0",
"ip": "192.168.110.169"
}