mirror of
https://github.com/whyour/qinglong.git
synced 2025-07-08 04:16:07 +08:00
修复antd兼容性,日志详情自动滚动
This commit is contained in:
parent
443c581955
commit
2e3c3274c7
|
@ -42,7 +42,8 @@
|
||||||
"monaco-editor",
|
"monaco-editor",
|
||||||
"rc-field-form",
|
"rc-field-form",
|
||||||
"@types/lodash.merge",
|
"@types/lodash.merge",
|
||||||
"rollup"
|
"rollup",
|
||||||
|
"styled-components"
|
||||||
],
|
],
|
||||||
"allowedVersions": {
|
"allowedVersions": {
|
||||||
"react": "18",
|
"react": "18",
|
||||||
|
@ -90,7 +91,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "^4.7.0",
|
"@ant-design/icons": "^4.7.0",
|
||||||
"@ant-design/pro-layout": "^6.33.1",
|
"@ant-design/pro-layout": "6.38.22",
|
||||||
"@monaco-editor/react": "4.4.6",
|
"@monaco-editor/react": "4.4.6",
|
||||||
"@react-hook/resize-observer": "^1.2.6",
|
"@react-hook/resize-observer": "^1.2.6",
|
||||||
"@sentry/react": "^7.12.1",
|
"@sentry/react": "^7.12.1",
|
||||||
|
@ -114,10 +115,10 @@
|
||||||
"@types/sockjs": "^0.3.33",
|
"@types/sockjs": "^0.3.33",
|
||||||
"@types/sockjs-client": "^1.5.1",
|
"@types/sockjs-client": "^1.5.1",
|
||||||
"@types/uuid": "^8.3.4",
|
"@types/uuid": "^8.3.4",
|
||||||
"@umijs/max": "^4.0.21",
|
"@umijs/max": "^4.0.42",
|
||||||
"@umijs/ssr-darkreader": "^4.9.45",
|
"@umijs/ssr-darkreader": "^4.9.45",
|
||||||
"ansi-to-react": "^6.1.6",
|
"ansi-to-react": "^6.1.6",
|
||||||
"antd": "^4.23.0",
|
"antd": "^4.24.7",
|
||||||
"antd-img-crop": "^4.2.3",
|
"antd-img-crop": "^4.2.3",
|
||||||
"codemirror": "^5.65.2",
|
"codemirror": "^5.65.2",
|
||||||
"compression-webpack-plugin": "9.2.0",
|
"compression-webpack-plugin": "9.2.0",
|
||||||
|
|
268
pnpm-lock.yaml
268
pnpm-lock.yaml
|
@ -2,7 +2,7 @@ lockfileVersion: 5.4
|
||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
'@ant-design/icons': ^4.7.0
|
'@ant-design/icons': ^4.7.0
|
||||||
'@ant-design/pro-layout': ^6.33.1
|
'@ant-design/pro-layout': 6.38.22
|
||||||
'@monaco-editor/react': 4.4.6
|
'@monaco-editor/react': 4.4.6
|
||||||
'@otplib/preset-default': ^12.0.1
|
'@otplib/preset-default': ^12.0.1
|
||||||
'@react-hook/resize-observer': ^1.2.6
|
'@react-hook/resize-observer': ^1.2.6
|
||||||
|
@ -29,10 +29,10 @@ specifiers:
|
||||||
'@types/sockjs': ^0.3.33
|
'@types/sockjs': ^0.3.33
|
||||||
'@types/sockjs-client': ^1.5.1
|
'@types/sockjs-client': ^1.5.1
|
||||||
'@types/uuid': ^8.3.4
|
'@types/uuid': ^8.3.4
|
||||||
'@umijs/max': ^4.0.21
|
'@umijs/max': ^4.0.42
|
||||||
'@umijs/ssr-darkreader': ^4.9.45
|
'@umijs/ssr-darkreader': ^4.9.45
|
||||||
ansi-to-react: ^6.1.6
|
ansi-to-react: ^6.1.6
|
||||||
antd: ^4.23.0
|
antd: ^4.24.7
|
||||||
antd-img-crop: ^4.2.3
|
antd-img-crop: ^4.2.3
|
||||||
body-parser: ^1.19.2
|
body-parser: ^1.19.2
|
||||||
celebrate: ^15.0.1
|
celebrate: ^15.0.1
|
||||||
|
@ -157,7 +157,7 @@ devDependencies:
|
||||||
'@types/sockjs': 0.3.33
|
'@types/sockjs': 0.3.33
|
||||||
'@types/sockjs-client': 1.5.1
|
'@types/sockjs-client': 1.5.1
|
||||||
'@types/uuid': 8.3.4
|
'@types/uuid': 8.3.4
|
||||||
'@umijs/max': 4.0.41_u7gqvy2j7ayrx2yacupeqg5dii
|
'@umijs/max': 4.0.42_u7gqvy2j7ayrx2yacupeqg5dii
|
||||||
'@umijs/ssr-darkreader': 4.9.45
|
'@umijs/ssr-darkreader': 4.9.45
|
||||||
ansi-to-react: 6.1.6_biqbaboplfbrettd7655fr4n2y
|
ansi-to-react: 6.1.6_biqbaboplfbrettd7655fr4n2y
|
||||||
antd: 4.24.7_biqbaboplfbrettd7655fr4n2y
|
antd: 4.24.7_biqbaboplfbrettd7655fr4n2y
|
||||||
|
@ -689,6 +689,17 @@ packages:
|
||||||
resize-observer-polyfill: 1.5.1
|
resize-observer-polyfill: 1.5.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@antfu/install-pkg/0.1.1:
|
||||||
|
resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
|
||||||
|
dependencies:
|
||||||
|
execa: 5.1.1
|
||||||
|
find-up: 5.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@antfu/utils/0.7.2:
|
||||||
|
resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@babel/cli/7.20.7_@babel+core@7.20.7:
|
/@babel/cli/7.20.7_@babel+core@7.20.7:
|
||||||
resolution: {integrity: sha512-WylgcELHB66WwQqItxNILsMlaTd8/SO6SgTTjMp4uCI7P4QyH1r3nqgFmO3BfM4AtfniHgFMH3EpYFj/zynBkQ==}
|
resolution: {integrity: sha512-WylgcELHB66WwQqItxNILsMlaTd8/SO6SgTTjMp4uCI7P4QyH1r3nqgFmO3BfM4AtfniHgFMH3EpYFj/zynBkQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
@ -2980,6 +2991,29 @@ packages:
|
||||||
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
|
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@iconify-json/fa/1.1.3:
|
||||||
|
resolution: {integrity: sha512-Cmzx42MZ2kTOLNGFlplEEvFXPsHkofoIX7iO+XZggyUpLjJjf/3AJS01NzNDoDhol9OZEUz7I0syGtuAjfOv4w==}
|
||||||
|
dependencies:
|
||||||
|
'@iconify/types': 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@iconify/types/2.0.0:
|
||||||
|
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@iconify/utils/2.0.9:
|
||||||
|
resolution: {integrity: sha512-ropNqaeamoxZvXxvaTJXrI0MrqdWdDVIs/mW7/sEQbNi0aXYUGL2iuLs1da3QR163gyG63kiyTsqw2oQYamw3Q==}
|
||||||
|
dependencies:
|
||||||
|
'@antfu/install-pkg': 0.1.1
|
||||||
|
'@antfu/utils': 0.7.2
|
||||||
|
'@iconify/types': 2.0.0
|
||||||
|
debug: 4.3.4
|
||||||
|
kolorist: 1.6.0
|
||||||
|
local-pkg: 0.4.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@istanbuljs/load-nyc-config/1.1.0:
|
/@istanbuljs/load-nyc-config/1.1.0:
|
||||||
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
|
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
@ -3114,7 +3148,7 @@ packages:
|
||||||
react:
|
react:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
hoist-non-react-statics: 3.3.2
|
hoist-non-react-statics: 3.3.2
|
||||||
react: 18.1.0
|
react: 18.1.0
|
||||||
react-is: 16.13.1
|
react-is: 16.13.1
|
||||||
|
@ -3129,7 +3163,7 @@ packages:
|
||||||
react:
|
react:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
hoist-non-react-statics: 3.3.2
|
hoist-non-react-statics: 3.3.2
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
react-is: 16.13.1
|
react-is: 16.13.1
|
||||||
|
@ -3572,7 +3606,7 @@ packages:
|
||||||
postcss:
|
postcss:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.18.9
|
'@babel/core': 7.20.7
|
||||||
postcss: 8.4.20
|
postcss: 8.4.20
|
||||||
postcss-syntax: 0.36.2_postcss@8.4.20
|
postcss-syntax: 0.36.2_postcss@8.4.20
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -4317,21 +4351,21 @@ packages:
|
||||||
eslint-visitor-keys: 3.3.0
|
eslint-visitor-keys: 3.3.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/ast/4.0.41:
|
/@umijs/ast/4.0.42:
|
||||||
resolution: {integrity: sha512-hZRzGDyBOHwO8/NUMa8FH4u3Z6Y2btFv8tHXiKP5W/YBZukYS4BzhpwZyVn3nrBnfg0WFOKNuT4xGAE3LrRZ3Q==}
|
resolution: {integrity: sha512-wY2c2cNytjIGRlRbS6sZb0zIXTAYTJJSvQJvZNGI1KkgTBfn2Nn3yyQBmJ4W5k73ZYI/+EyKuJsdVxjiNZYtdA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/babel-preset-umi/4.0.41:
|
/@umijs/babel-preset-umi/4.0.42:
|
||||||
resolution: {integrity: sha512-GQTYhqRWcjmgC7KKmWSG4al2YeV2KVXvkoCxM6Q4LJ3veqCo+aOyBXhILRJQ0jm3A3jGRXI2y6QqMAm8A3v3mQ==}
|
resolution: {integrity: sha512-zhaJGYNffvgTMpKCBdntHedLGb8TQxfblv6U4gdHhwTaiyKaEfROpZXXoQBrCErnNB2fBcIbH+BJRHXkqwnXhg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.18.9
|
||||||
'@bloomberg/record-tuple-polyfill': 0.0.4
|
'@bloomberg/record-tuple-polyfill': 0.0.4
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
babel-plugin-styled-components: 2.0.7
|
babel-plugin-styled-components: 2.0.7
|
||||||
core-js: 3.22.4
|
core-js: 3.22.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -4339,12 +4373,12 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/bundler-esbuild/4.0.41:
|
/@umijs/bundler-esbuild/4.0.42:
|
||||||
resolution: {integrity: sha512-F7LsDjBF7SFCaf9M7AMLHpE7vTtPTk/ZUeV+fxKVMUFPQ6KsIuW6MobBe9lJLzbSFSbXkmsW29J5JV4Z8JnYxQ==}
|
resolution: {integrity: sha512-Bt+9oQjxiV26NZbSbTdb2rnXwdFjf8PbH682ozBe+SAuoWXh4UqnxXItDgs193hvhCfdf+O4HlhxfdrLNB5olg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
enhanced-resolve: 5.9.3
|
enhanced-resolve: 5.9.3
|
||||||
postcss: 8.4.20
|
postcss: 8.4.20
|
||||||
postcss-flexbugs-fixes: 5.0.2_postcss@8.4.20
|
postcss-flexbugs-fixes: 5.0.2_postcss@8.4.20
|
||||||
|
@ -4353,10 +4387,10 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/bundler-utils/4.0.41:
|
/@umijs/bundler-utils/4.0.42:
|
||||||
resolution: {integrity: sha512-4eDvbeam1PV7Hbns+z8S4P/ILXi+UIWhoMY1tN4N4y78VNjyKmMQMvUp0UKeNLsxBGMvWtFpn7DLqcON/49OhA==}
|
resolution: {integrity: sha512-cXhMyCiSK/Otg5nkeDJuDeRS84KqFoSR14BTtKkRCH6N3Dk9Xp2q8zXne9DNdQx7HUvb6s1pmA6Pc9S1mzNp5g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
esbuild: 0.15.18
|
esbuild: 0.15.18
|
||||||
regenerate: 1.4.2
|
regenerate: 1.4.2
|
||||||
regenerate-unicode-properties: 10.0.1
|
regenerate-unicode-properties: 10.0.1
|
||||||
|
@ -4365,13 +4399,13 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/bundler-vite/4.0.41_@types+node@17.0.45:
|
/@umijs/bundler-vite/4.0.42_@types+node@17.0.45:
|
||||||
resolution: {integrity: sha512-zOhvsEW2D6wYnNs5Dfy+uSiDU7nrKe2Txk3m/iiLovjLOuujz99/brr1CnE5yDnCw7RDRgHa1sYesKnrP4KsPw==}
|
resolution: {integrity: sha512-14pkpFyczSPBf9VCptCGupPIu9Nobvn9RdG5PY+j6pSNOHNooKNBCxjK/PqlR5gEuSiDdp4qGP2mZdAiMW3dNQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@svgr/core': 6.2.1
|
'@svgr/core': 6.2.1
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
'@vitejs/plugin-react': 2.2.0_vite@3.2.5
|
'@vitejs/plugin-react': 2.2.0_vite@3.2.5
|
||||||
less: 4.1.2
|
less: 4.1.2
|
||||||
postcss-preset-env: 7.5.0
|
postcss-preset-env: 7.5.0
|
||||||
|
@ -4388,8 +4422,8 @@ packages:
|
||||||
- terser
|
- terser
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/bundler-webpack/4.0.41_cdwcylzbt7apydvbx5kbqfz4va:
|
/@umijs/bundler-webpack/4.0.42_cdwcylzbt7apydvbx5kbqfz4va:
|
||||||
resolution: {integrity: sha512-l/7dzIN4ZJyniDdeqk96FepPApJhqUWGgERHu1UiXDh/aYoO2Gn+M/V2ZqOU2Mg42JcRFddnEqWtqriJDS2WTQ==}
|
resolution: {integrity: sha512-cu4xdGRPHuLnyHvzFg6eq7t07M/rTynOC9vr2ih40iw5Z8WSZyqzgRAJ94len63GL0twPh/9GMjzwvCXR5xUCQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@parcel/css': 1.9.0
|
'@parcel/css': 1.9.0
|
||||||
|
@ -4398,11 +4432,11 @@ packages:
|
||||||
'@svgr/plugin-jsx': 6.5.1_@svgr+core@6.2.1
|
'@svgr/plugin-jsx': 6.5.1_@svgr+core@6.2.1
|
||||||
'@svgr/plugin-svgo': 6.5.1_@svgr+core@6.2.1
|
'@svgr/plugin-svgo': 6.5.1_@svgr+core@6.2.1
|
||||||
'@types/hapi__joi': 17.1.8
|
'@types/hapi__joi': 17.1.8
|
||||||
'@umijs/babel-preset-umi': 4.0.41
|
'@umijs/babel-preset-umi': 4.0.42
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/case-sensitive-paths-webpack-plugin': 1.0.1
|
'@umijs/case-sensitive-paths-webpack-plugin': 1.0.1
|
||||||
'@umijs/mfsu': 4.0.41
|
'@umijs/mfsu': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
cors: 2.8.5
|
cors: 2.8.5
|
||||||
css-loader: 6.7.1_webpack@5.75.0
|
css-loader: 6.7.1_webpack@5.75.0
|
||||||
es5-imcompatible-versions: 0.1.77
|
es5-imcompatible-versions: 0.1.77
|
||||||
|
@ -4431,11 +4465,11 @@ packages:
|
||||||
resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==}
|
resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/core/4.0.41:
|
/@umijs/core/4.0.42:
|
||||||
resolution: {integrity: sha512-WC+/w1a7/SRbfqdY61dMPLU19bgsVVQ2nADR84zHdgYoHNtDlXCFoI3SibUM+qp0sAOK4HX4mR8gRhjmnOGhzw==}
|
resolution: {integrity: sha512-ZWC8ApIg8uz1pOlJLcNQveYdT+zXmJCN0plQN61dUuNT/zkwOnCdjjYr6uO+icYEXqGG/CQdcPFaZReerfmC+Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -4447,19 +4481,19 @@ packages:
|
||||||
/@umijs/history/5.3.1:
|
/@umijs/history/5.3.1:
|
||||||
resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==}
|
resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
query-string: 6.14.1
|
query-string: 6.14.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/lint/4.0.41_d6a4x3x3q3loe4v2ypyqhqerii:
|
/@umijs/lint/4.0.42_d6a4x3x3q3loe4v2ypyqhqerii:
|
||||||
resolution: {integrity: sha512-t6iV1akxEKKGjYd2q879kMAPNgmha/BgsFS4UBC1XABXWVZ/gO2r8qlWyrt/uxC0VcBTz/6z2ETNrtFQWuqtQQ==}
|
resolution: {integrity: sha512-7dqFHIzy5nMfx6iQIf6zkXuSAmLf5TNE5SdJmK0eYc+uqe6PKkflXJ8+9J5tgMyrqCf0wc3Ilu6p6X6cwsVC2Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.18.9
|
'@babel/core': 7.18.9
|
||||||
'@babel/eslint-parser': 7.18.9_bpusarfwcbgnjqmbezm4jkv5ie
|
'@babel/eslint-parser': 7.18.9_bpusarfwcbgnjqmbezm4jkv5ie
|
||||||
'@stylelint/postcss-css-in-js': 0.38.0_britvnvafsaqvp7ihzdwtiasju
|
'@stylelint/postcss-css-in-js': 0.38.0_britvnvafsaqvp7ihzdwtiasju
|
||||||
'@typescript-eslint/eslint-plugin': 5.36.1_io33vsxv4zn7xocr4vz7s2wm74
|
'@typescript-eslint/eslint-plugin': 5.36.1_io33vsxv4zn7xocr4vz7s2wm74
|
||||||
'@typescript-eslint/parser': 5.36.1_oy7hgmlo6357d5kkcjbkfgtg4q
|
'@typescript-eslint/parser': 5.36.1_oy7hgmlo6357d5kkcjbkfgtg4q
|
||||||
'@umijs/babel-preset-umi': 4.0.41
|
'@umijs/babel-preset-umi': 4.0.42
|
||||||
eslint-plugin-jest: 26.1.5_lbrcujwrxgiqp3xcbsvhvbrrwy
|
eslint-plugin-jest: 26.1.5_lbrcujwrxgiqp3xcbsvhvbrrwy
|
||||||
eslint-plugin-react: 7.29.4_eslint@8.15.0
|
eslint-plugin-react: 7.29.4_eslint@8.15.0
|
||||||
eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0
|
eslint-plugin-react-hooks: 4.5.0_eslint@8.15.0
|
||||||
|
@ -4480,16 +4514,16 @@ packages:
|
||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/max/4.0.41_u7gqvy2j7ayrx2yacupeqg5dii:
|
/@umijs/max/4.0.42_u7gqvy2j7ayrx2yacupeqg5dii:
|
||||||
resolution: {integrity: sha512-QjNVMMZWsuaGDoL7hdHdxmrZUZbEdZSK+Wl7lGVYHKA0GyMcz7lCUKRj/ck84pLtP0inJpF3Pigqzidldw/GnQ==}
|
resolution: {integrity: sha512-YBi9sR7r3s2y9F73E94PUX51ytz9q1Mt6ZPMVSqLX7XaPUDr77+/vR7DXtsASCZvR8XcoWBYxJFKDSIzCmNUOQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/lint': 4.0.41_d6a4x3x3q3loe4v2ypyqhqerii
|
'@umijs/lint': 4.0.42_d6a4x3x3q3loe4v2ypyqhqerii
|
||||||
'@umijs/plugins': 4.0.41_ol4gf5ysdgp6msy6qgsp7snw2u
|
'@umijs/plugins': 4.0.42_ol4gf5ysdgp6msy6qgsp7snw2u
|
||||||
antd: 4.24.7_biqbaboplfbrettd7655fr4n2y
|
antd: 4.24.7_biqbaboplfbrettd7655fr4n2y
|
||||||
eslint: 8.15.0
|
eslint: 8.15.0
|
||||||
stylelint: 14.8.2
|
stylelint: 14.8.2
|
||||||
umi: 4.0.41_h4ojpibysiaer7lth2s4sljnlm
|
umi: 4.0.42_h4ojpibysiaer7lth2s4sljnlm
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- '@babel/helper-module-imports'
|
- '@babel/helper-module-imports'
|
||||||
|
@ -4535,32 +4569,32 @@ packages:
|
||||||
- webpack-plugin-serve
|
- webpack-plugin-serve
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/mfsu/4.0.41:
|
/@umijs/mfsu/4.0.42:
|
||||||
resolution: {integrity: sha512-EoXJcrjccZY2epZRTEDpt8ytZYyZGZROd/VtnpuLsGayMn8LjNQPdOE8AfpEDXpxuCDpQgxhQ0IVc5iivZzZUQ==}
|
resolution: {integrity: sha512-5xghD/Ba7+soWxkVzSRXp9xsecqmtEG0AM704Z8FoykyRHPDoI53epIzJgu8AFHM/VMBtilgYt1w5RH5Xq8UCg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/bundler-esbuild': 4.0.41
|
'@umijs/bundler-esbuild': 4.0.42
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
enhanced-resolve: 5.9.3
|
enhanced-resolve: 5.9.3
|
||||||
is-equal: 1.6.4
|
is-equal: 1.6.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/plugin-run/4.0.41:
|
/@umijs/plugin-run/4.0.42:
|
||||||
resolution: {integrity: sha512-y0Oe23XvzHkzmHKlLkt5RNOfxDOYcOQ1hMe8qf97mXmb8XnKAGISqLqqZm5n4ZPwCKP0aC/ZxJOKUKV+vVzq7w==}
|
resolution: {integrity: sha512-FSU/ZSP5dvzC3a4WM21Li+qkiYncVSw0appovegiIXWmHfRASk6OscqldItMFBUHmAaJ9Vpxzxr/FZbZaNeYsA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
tsx: 3.12.1
|
tsx: 3.12.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/plugins/4.0.41_ol4gf5ysdgp6msy6qgsp7snw2u:
|
/@umijs/plugins/4.0.42_ol4gf5ysdgp6msy6qgsp7snw2u:
|
||||||
resolution: {integrity: sha512-csfnvB+L6vPnZMy68hkn0/s8YQpT7hsLKZufhu47AxHdPZxHp+DbVe64Wti1ZNKtHGV821FGCjBBb91q/MithA==}
|
resolution: {integrity: sha512-H9KXiGkkoAUIi4Cwx7d3g33COLdMN4+fbO/PIl52xDb18Gafi4hylHnEjPnttNUz8YhW5S+4BMS8UzisqIhjbw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ahooksjs/use-request': 2.8.15_react@18.2.0
|
'@ahooksjs/use-request': 2.8.15_react@18.2.0
|
||||||
'@ant-design/antd-theme-variable': 1.0.0
|
'@ant-design/antd-theme-variable': 1.0.0
|
||||||
'@ant-design/icons': 4.8.0_biqbaboplfbrettd7655fr4n2y
|
'@ant-design/icons': 4.8.0_biqbaboplfbrettd7655fr4n2y
|
||||||
'@ant-design/pro-components': 2.3.49_b6pt25ruzstflsuamv2lnyq45m
|
'@ant-design/pro-components': 2.3.49_b6pt25ruzstflsuamv2lnyq45m
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/valtio': 1.0.2_react@18.2.0
|
'@umijs/valtio': 1.0.2_react@18.2.0
|
||||||
antd-dayjs-webpack-plugin: 1.0.6_dayjs@1.11.7
|
antd-dayjs-webpack-plugin: 1.0.6_dayjs@1.11.7
|
||||||
axios: 0.27.2
|
axios: 0.27.2
|
||||||
|
@ -4600,22 +4634,25 @@ packages:
|
||||||
- vite
|
- vite
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/preset-umi/4.0.41_wbbmjm6mucxohffaoliigwhyze:
|
/@umijs/preset-umi/4.0.42_wbbmjm6mucxohffaoliigwhyze:
|
||||||
resolution: {integrity: sha512-qD9TpV9VCKjkmzBTmLYozjg7hkXCnoibruppLC4XGvKsUG4ohcWdT0+dt9/GiT3hW57AZYXjNwkPTfZ2CPazTw==}
|
resolution: {integrity: sha512-yV2c4HieaAPChCHRfiy2kf95WJ7TytEJVmM7hjUTbd8LotQxxcg2yrHZyhnoF2QRIuYl9g3mr+JbFs0PKrCaAA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/ast': 4.0.41
|
'@iconify-json/fa': 1.1.3
|
||||||
'@umijs/babel-preset-umi': 4.0.41
|
'@iconify/utils': 2.0.9
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@svgr/core': 6.2.1
|
||||||
'@umijs/bundler-vite': 4.0.41_@types+node@17.0.45
|
'@umijs/ast': 4.0.42
|
||||||
'@umijs/bundler-webpack': 4.0.41_cdwcylzbt7apydvbx5kbqfz4va
|
'@umijs/babel-preset-umi': 4.0.42
|
||||||
'@umijs/core': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
|
'@umijs/bundler-vite': 4.0.42_@types+node@17.0.45
|
||||||
|
'@umijs/bundler-webpack': 4.0.42_cdwcylzbt7apydvbx5kbqfz4va
|
||||||
|
'@umijs/core': 4.0.42
|
||||||
'@umijs/did-you-know': 1.0.1
|
'@umijs/did-you-know': 1.0.1
|
||||||
'@umijs/history': 5.3.1
|
'@umijs/history': 5.3.1
|
||||||
'@umijs/mfsu': 4.0.41
|
'@umijs/mfsu': 4.0.42
|
||||||
'@umijs/plugin-run': 4.0.41
|
'@umijs/plugin-run': 4.0.42
|
||||||
'@umijs/renderer-react': 4.0.41_ef5jwxihqo6n7gxfmzogljlgcm
|
'@umijs/renderer-react': 4.0.42_ef5jwxihqo6n7gxfmzogljlgcm
|
||||||
'@umijs/server': 4.0.41
|
'@umijs/server': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
babel-plugin-dynamic-import-node: 2.3.3
|
babel-plugin-dynamic-import-node: 2.3.3
|
||||||
click-to-react-component: 1.0.8_2wivdsbsvmk3pblmocpmpqwn2e
|
click-to-react-component: 1.0.8_2wivdsbsvmk3pblmocpmpqwn2e
|
||||||
core-js: 3.22.4
|
core-js: 3.22.4
|
||||||
|
@ -4653,8 +4690,8 @@ packages:
|
||||||
- webpack-plugin-serve
|
- webpack-plugin-serve
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/renderer-react/4.0.41_biqbaboplfbrettd7655fr4n2y:
|
/@umijs/renderer-react/4.0.42_biqbaboplfbrettd7655fr4n2y:
|
||||||
resolution: {integrity: sha512-ZaA3exTIgh5FeOoIQRvILZPYpxxMRWnxAO6xxWtVDypNrbGxTdd5EostNb9+3E9naKFFFY98k8bopz6xkjcc4g==}
|
resolution: {integrity: sha512-tZTzBPSneiFafMkxyt2r+qrtA1F/gbSil1Ez/3e5anBIrTPaKkLL9dJzS1cEDkxRc+KTSroBQBCIf/crQcORkg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: '>=16.8 || 18'
|
react: '>=16.8 || 18'
|
||||||
react-dom: '>=16.8 || 18'
|
react-dom: '>=16.8 || 18'
|
||||||
|
@ -4673,8 +4710,8 @@ packages:
|
||||||
react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y
|
react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/renderer-react/4.0.41_ef5jwxihqo6n7gxfmzogljlgcm:
|
/@umijs/renderer-react/4.0.42_ef5jwxihqo6n7gxfmzogljlgcm:
|
||||||
resolution: {integrity: sha512-ZaA3exTIgh5FeOoIQRvILZPYpxxMRWnxAO6xxWtVDypNrbGxTdd5EostNb9+3E9naKFFFY98k8bopz6xkjcc4g==}
|
resolution: {integrity: sha512-tZTzBPSneiFafMkxyt2r+qrtA1F/gbSil1Ez/3e5anBIrTPaKkLL9dJzS1cEDkxRc+KTSroBQBCIf/crQcORkg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: '>=16.8 || 18'
|
react: '>=16.8 || 18'
|
||||||
react-dom: '>=16.8 || 18'
|
react-dom: '>=16.8 || 18'
|
||||||
|
@ -4702,10 +4739,10 @@ packages:
|
||||||
memoize-one: 5.2.1
|
memoize-one: 5.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/server/4.0.41:
|
/@umijs/server/4.0.42:
|
||||||
resolution: {integrity: sha512-HMIdlABrt/zxzECzFtKDS+HncFPCq7t0AkusOQH4I7YTC7CjNH+mXQWSYjabnHn2d4/E7rG8vWxybH9sli0QFw==}
|
resolution: {integrity: sha512-HvwqjO0eYrf7PJWiKe67/SC1qVQrLahjmsRzg1gefCj+j6RYjd7mq8stc1yFnrmnoUhTTN7t71Q+x6h7bxM3nA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
history: 5.3.0
|
history: 5.3.0
|
||||||
react: 18.1.0
|
react: 18.1.0
|
||||||
react-dom: 18.1.0_react@18.1.0
|
react-dom: 18.1.0_react@18.1.0
|
||||||
|
@ -4718,12 +4755,12 @@ packages:
|
||||||
resolution: {integrity: sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==}
|
resolution: {integrity: sha512-XlcwzSYQ/SRZpHdwIyMDS4FOGX5kP4U/2g2mykyn/iPQTK4xTiQAyBu6UnnDnn7d5P8s7Atzh1C7H0ETNOypJg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/test/4.0.41:
|
/@umijs/test/4.0.42:
|
||||||
resolution: {integrity: sha512-PgG2mNcujbKsWq0NU5F+8FU47Zw47slayAd19ngI1Skk2FoNpRBM0BkXjcL+migWn0c+tSAHgdjXESzHt1PhXw==}
|
resolution: {integrity: sha512-+/a7v3VeB6Z7DdSRcj9sazeVM0yHKtlpVGfCrcZLbUemZ5AERsSOc0jdj5wknVjslTbXpQ4Jesf1nmnOEmZE6g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/plugin-transform-modules-commonjs': 7.18.6
|
'@babel/plugin-transform-modules-commonjs': 7.18.6
|
||||||
'@jest/types': 27.5.1
|
'@jest/types': 27.5.1
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
babel-jest: 28.1.3
|
babel-jest: 28.1.3
|
||||||
esbuild: 0.15.18
|
esbuild: 0.15.18
|
||||||
identity-obj-proxy: 3.0.0
|
identity-obj-proxy: 3.0.0
|
||||||
|
@ -4745,8 +4782,8 @@ packages:
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@umijs/utils/4.0.41:
|
/@umijs/utils/4.0.42:
|
||||||
resolution: {integrity: sha512-hN6CVFetpdvHA/8QE/RxWBkGhb2by93nFKo9CA9qVTKtxfwdJziYHszpicZUI0bEA13YNpHrf7vdndOnjJpHVg==}
|
resolution: {integrity: sha512-67GEzaV+6aLVxvbO5xtbSY3I3aBwvrETd8fpCOS+tnZSzFOt5qh5ffU8FFXhPAiBrsv0jrt9Wk9IIi+S3ulLdg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 3.5.3
|
chokidar: 3.5.3
|
||||||
pino: 7.11.0
|
pino: 7.11.0
|
||||||
|
@ -5524,6 +5561,9 @@ packages:
|
||||||
resolution: {integrity: sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==}
|
resolution: {integrity: sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
styled-components: '>= 2'
|
styled-components: '>= 2'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
styled-components:
|
||||||
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-annotate-as-pure': 7.18.6
|
'@babel/helper-annotate-as-pure': 7.18.6
|
||||||
'@babel/helper-module-imports': 7.18.6
|
'@babel/helper-module-imports': 7.18.6
|
||||||
|
@ -7573,6 +7613,21 @@ packages:
|
||||||
strip-eof: 1.0.0
|
strip-eof: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/execa/5.1.1:
|
||||||
|
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dependencies:
|
||||||
|
cross-spawn: 7.0.3
|
||||||
|
get-stream: 6.0.1
|
||||||
|
human-signals: 2.1.0
|
||||||
|
is-stream: 2.0.1
|
||||||
|
merge-stream: 2.0.0
|
||||||
|
npm-run-path: 4.0.1
|
||||||
|
onetime: 5.1.2
|
||||||
|
signal-exit: 3.0.7
|
||||||
|
strip-final-newline: 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/execa/6.1.0:
|
/execa/6.1.0:
|
||||||
resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
|
resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
@ -8322,7 +8377,7 @@ packages:
|
||||||
/history/5.3.0:
|
/history/5.3.0:
|
||||||
resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
|
resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/hmac-drbg/1.0.1:
|
/hmac-drbg/1.0.1:
|
||||||
|
@ -8479,6 +8534,11 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/human-signals/2.1.0:
|
||||||
|
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
||||||
|
engines: {node: '>=10.17.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/human-signals/3.0.1:
|
/human-signals/3.0.1:
|
||||||
resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
|
resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==}
|
||||||
engines: {node: '>=12.20.0'}
|
engines: {node: '>=12.20.0'}
|
||||||
|
@ -8889,7 +8949,6 @@ packages:
|
||||||
/is-stream/2.0.1:
|
/is-stream/2.0.1:
|
||||||
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
|
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/is-stream/3.0.0:
|
/is-stream/3.0.0:
|
||||||
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
|
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
|
||||||
|
@ -9229,6 +9288,10 @@ packages:
|
||||||
resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==}
|
resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/kolorist/1.6.0:
|
||||||
|
resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/kuler/2.0.0:
|
/kuler/2.0.0:
|
||||||
resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==}
|
resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==}
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -9340,6 +9403,11 @@ packages:
|
||||||
json5: 2.2.3
|
json5: 2.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/local-pkg/0.4.2:
|
||||||
|
resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/localforage/1.10.0:
|
/localforage/1.10.0:
|
||||||
resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==}
|
resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -10029,6 +10097,13 @@ packages:
|
||||||
path-key: 2.0.1
|
path-key: 2.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/npm-run-path/4.0.1:
|
||||||
|
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
path-key: 3.1.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/npm-run-path/5.1.0:
|
/npm-run-path/5.1.0:
|
||||||
resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
|
resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
@ -12607,7 +12682,7 @@ packages:
|
||||||
react-dom:
|
react-dom:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
invariant: 2.2.4
|
invariant: 2.2.4
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
|
@ -12627,7 +12702,7 @@ packages:
|
||||||
react-dom:
|
react-dom:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.20.7
|
||||||
invariant: 2.2.4
|
invariant: 2.2.4
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 18.1.0
|
react: 18.1.0
|
||||||
|
@ -13838,6 +13913,11 @@ packages:
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/strip-final-newline/2.0.0:
|
||||||
|
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/strip-final-newline/3.0.0:
|
/strip-final-newline/3.0.0:
|
||||||
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
@ -14436,21 +14516,21 @@ packages:
|
||||||
qs: 6.11.0
|
qs: 6.11.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/umi/4.0.41_h4ojpibysiaer7lth2s4sljnlm:
|
/umi/4.0.42_h4ojpibysiaer7lth2s4sljnlm:
|
||||||
resolution: {integrity: sha512-0yViucWZPtliPeoczh0sH3MV665s9B7rD2l8rbUCqyduX1NN/D12IE6BD5USH6+FcMjxIxF8DyAX0PhUiLsOyQ==}
|
resolution: {integrity: sha512-ItsrutcdOKWYKcB5aPZHk4gD9kodC/l4C9x5/9gwzN38AfEaojM5YtVFoGhZQeFcD3aBYYf/kegiUdJtdfErYA==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.18.9
|
'@babel/runtime': 7.18.9
|
||||||
'@umijs/bundler-utils': 4.0.41
|
'@umijs/bundler-utils': 4.0.42
|
||||||
'@umijs/bundler-webpack': 4.0.41_cdwcylzbt7apydvbx5kbqfz4va
|
'@umijs/bundler-webpack': 4.0.42_cdwcylzbt7apydvbx5kbqfz4va
|
||||||
'@umijs/core': 4.0.41
|
'@umijs/core': 4.0.42
|
||||||
'@umijs/lint': 4.0.41_d6a4x3x3q3loe4v2ypyqhqerii
|
'@umijs/lint': 4.0.42_d6a4x3x3q3loe4v2ypyqhqerii
|
||||||
'@umijs/preset-umi': 4.0.41_wbbmjm6mucxohffaoliigwhyze
|
'@umijs/preset-umi': 4.0.42_wbbmjm6mucxohffaoliigwhyze
|
||||||
'@umijs/renderer-react': 4.0.41_biqbaboplfbrettd7655fr4n2y
|
'@umijs/renderer-react': 4.0.42_biqbaboplfbrettd7655fr4n2y
|
||||||
'@umijs/server': 4.0.41
|
'@umijs/server': 4.0.42
|
||||||
'@umijs/test': 4.0.41
|
'@umijs/test': 4.0.42
|
||||||
'@umijs/utils': 4.0.41
|
'@umijs/utils': 4.0.42
|
||||||
prettier-plugin-organize-imports: 2.3.4_xwureqoch7frpr2i35ruxzci5i
|
prettier-plugin-organize-imports: 2.3.4_xwureqoch7frpr2i35ruxzci5i
|
||||||
prettier-plugin-packagejson: 2.3.0_prettier@2.8.1
|
prettier-plugin-packagejson: 2.3.0_prettier@2.8.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|
|
@ -10,6 +10,7 @@ import {
|
||||||
ContainerOutlined,
|
ContainerOutlined,
|
||||||
} from '@ant-design/icons';
|
} from '@ant-design/icons';
|
||||||
import IconFont from '@/components/iconfont';
|
import IconFont from '@/components/iconfont';
|
||||||
|
import { BasicLayoutProps } from '@ant-design/pro-layout';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
route: {
|
route: {
|
||||||
|
@ -93,4 +94,4 @@ export default {
|
||||||
contentWidth: 'Fixed',
|
contentWidth: 'Fixed',
|
||||||
splitMenus: false,
|
splitMenus: false,
|
||||||
siderWidth: 180,
|
siderWidth: 180,
|
||||||
} as any;
|
} as BasicLayoutProps;
|
||||||
|
|
|
@ -25,6 +25,7 @@ import {
|
||||||
Popover,
|
Popover,
|
||||||
Descriptions,
|
Descriptions,
|
||||||
Tooltip,
|
Tooltip,
|
||||||
|
MenuProps,
|
||||||
} from 'antd';
|
} from 'antd';
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import SockJS from 'sockjs-client';
|
import SockJS from 'sockjs-client';
|
||||||
|
@ -222,9 +223,6 @@ export default function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (['/login', '/initialization', '/error'].includes(location.pathname)) {
|
if (['/login', '/initialization', '/error'].includes(location.pathname)) {
|
||||||
document.title = `${
|
|
||||||
(config.documentTitleMap as any)[location.pathname]
|
|
||||||
} - 控制面板`;
|
|
||||||
if (systemInfo?.isInitialized && location.pathname === '/initialization') {
|
if (systemInfo?.isInitialized && location.pathname === '/initialization') {
|
||||||
history.push('/crontab');
|
history.push('/crontab');
|
||||||
}
|
}
|
||||||
|
@ -251,13 +249,17 @@ export default function () {
|
||||||
!navigator.userAgent.includes('Chrome');
|
!navigator.userAgent.includes('Chrome');
|
||||||
const isQQBrowser = navigator.userAgent.includes('QQBrowser');
|
const isQQBrowser = navigator.userAgent.includes('QQBrowser');
|
||||||
|
|
||||||
const menu = (
|
const menu: MenuProps = {
|
||||||
<Menu
|
items: [
|
||||||
className="side-menu-user-drop-menu"
|
{
|
||||||
items={[{ label: '退出登录', key: 'logout', icon: <LogoutOutlined /> }]}
|
label: '退出登录',
|
||||||
onClick={logout}
|
className: 'side-menu-user-drop-menu',
|
||||||
/>
|
onClick: logout,
|
||||||
);
|
key: 'logout',
|
||||||
|
icon: <LogoutOutlined />,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
return loading ? (
|
return loading ? (
|
||||||
<PageLoading />
|
<PageLoading />
|
||||||
) : (
|
) : (
|
||||||
|
@ -266,6 +268,7 @@ export default function () {
|
||||||
loading={loading}
|
loading={loading}
|
||||||
ErrorBoundary={Sentry.ErrorBoundary}
|
ErrorBoundary={Sentry.ErrorBoundary}
|
||||||
logo={<Image preview={false} src="https://qn.whyour.cn/logo.png" />}
|
logo={<Image preview={false} src="https://qn.whyour.cn/logo.png" />}
|
||||||
|
// @ts-ignore
|
||||||
title={
|
title={
|
||||||
<>
|
<>
|
||||||
<span style={{ fontSize: 16 }}>控制面板</span>
|
<span style={{ fontSize: 16 }}>控制面板</span>
|
||||||
|
@ -308,16 +311,15 @@ export default function () {
|
||||||
return <Link to={menuItemProps.path}>{defaultDom}</Link>;
|
return <Link to={menuItemProps.path}>{defaultDom}</Link>;
|
||||||
}}
|
}}
|
||||||
pageTitleRender={(props, pageName, info) => {
|
pageTitleRender={(props, pageName, info) => {
|
||||||
if (info && typeof info.pageName === 'string') {
|
const title =
|
||||||
return `${info.pageName} - 控制面板`;
|
(config.documentTitleMap as any)[location.pathname] || '未找到';
|
||||||
}
|
return `${title} - 控制面板`;
|
||||||
return '控制面板';
|
|
||||||
}}
|
}}
|
||||||
onCollapse={setCollapsed}
|
onCollapse={setCollapsed}
|
||||||
collapsed={collapsed}
|
collapsed={collapsed}
|
||||||
rightContentRender={() =>
|
rightContentRender={() =>
|
||||||
ctx.isPhone && (
|
ctx.isPhone && (
|
||||||
<Dropdown overlay={menu} placement="bottomRight" trigger={['click']}>
|
<Dropdown menu={menu} placement="bottomRight" trigger={['click']}>
|
||||||
<span className="side-menu-user-wrapper">
|
<span className="side-menu-user-wrapper">
|
||||||
<Avatar
|
<Avatar
|
||||||
shape="square"
|
shape="square"
|
||||||
|
@ -339,7 +341,7 @@ export default function () {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{!collapsed && !ctx.isPhone && (
|
{!collapsed && !ctx.isPhone && (
|
||||||
<Dropdown overlay={menu} placement="topLeft" trigger={['hover']}>
|
<Dropdown menu={menu} placement="topLeft" trigger={['hover']}>
|
||||||
<span className="side-menu-user-wrapper">
|
<span className="side-menu-user-wrapper">
|
||||||
<Avatar
|
<Avatar
|
||||||
shape="square"
|
shape="square"
|
||||||
|
|
18
src/pages/404.tsx
Normal file
18
src/pages/404.tsx
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { Button, Result, Typography } from 'antd';
|
||||||
|
|
||||||
|
const { Link } = Typography;
|
||||||
|
|
||||||
|
const NotFound: React.FC = () => (
|
||||||
|
<Result
|
||||||
|
status="404"
|
||||||
|
title="404"
|
||||||
|
extra={
|
||||||
|
<Button type="primary">
|
||||||
|
<Link href="/">返回首页</Link>
|
||||||
|
</Button>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default NotFound;
|
|
@ -14,6 +14,7 @@ import {
|
||||||
Popover,
|
Popover,
|
||||||
Tabs,
|
Tabs,
|
||||||
TablePaginationConfig,
|
TablePaginationConfig,
|
||||||
|
MenuProps,
|
||||||
} from 'antd';
|
} from 'antd';
|
||||||
import {
|
import {
|
||||||
ClockCircleOutlined,
|
ClockCircleOutlined,
|
||||||
|
@ -684,15 +685,13 @@ const Crontab = () => {
|
||||||
arrow={{ pointAtCenter: true }}
|
arrow={{ pointAtCenter: true }}
|
||||||
placement="bottomRight"
|
placement="bottomRight"
|
||||||
trigger={['click']}
|
trigger={['click']}
|
||||||
overlay={
|
menu={{
|
||||||
<Menu
|
items: getMenuItems(record),
|
||||||
items={getMenuItems(record)}
|
onClick: ({ key, domEvent }) => {
|
||||||
onClick={({ key, domEvent }) => {
|
domEvent.stopPropagation();
|
||||||
domEvent.stopPropagation();
|
action(key, record, index);
|
||||||
action(key, record, index);
|
},
|
||||||
}}
|
}}
|
||||||
/>
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<a onClick={(e) => e.stopPropagation()}>
|
<a onClick={(e) => e.stopPropagation()}>
|
||||||
<EllipsisOutlined />
|
<EllipsisOutlined />
|
||||||
|
@ -889,41 +888,39 @@ const Crontab = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const menu = (
|
const menu: MenuProps = {
|
||||||
<Menu
|
onClick: ({ key, domEvent }) => {
|
||||||
onClick={({ key, domEvent }) => {
|
domEvent.stopPropagation();
|
||||||
domEvent.stopPropagation();
|
viewAction(key);
|
||||||
viewAction(key);
|
},
|
||||||
}}
|
items: [
|
||||||
items={[
|
...[...enabledCronViews].slice(4).map((x) => ({
|
||||||
...[...enabledCronViews].slice(4).map((x) => ({
|
label: (
|
||||||
label: (
|
<Space style={{ display: 'flex', justifyContent: 'space-between' }}>
|
||||||
<Space style={{ display: 'flex', justifyContent: 'space-between' }}>
|
<span>{x.name}</span>
|
||||||
<span>{x.name}</span>
|
{viewConf?.id === x.id && (
|
||||||
{viewConf?.id === x.id && (
|
<CheckOutlined style={{ color: '#1890ff' }} />
|
||||||
<CheckOutlined style={{ color: '#1890ff' }} />
|
)}
|
||||||
)}
|
</Space>
|
||||||
</Space>
|
),
|
||||||
),
|
key: x.id,
|
||||||
key: x.id,
|
icon: <UnorderedListOutlined />,
|
||||||
icon: <UnorderedListOutlined />,
|
})),
|
||||||
})),
|
{
|
||||||
{
|
type: 'divider' as 'group',
|
||||||
type: 'divider',
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '新建视图',
|
||||||
label: '新建视图',
|
key: 'new',
|
||||||
key: 'new',
|
icon: <PlusOutlined />,
|
||||||
icon: <PlusOutlined />,
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '视图管理',
|
||||||
label: '视图管理',
|
key: 'manage',
|
||||||
key: 'manage',
|
icon: <SettingOutlined />,
|
||||||
icon: <SettingOutlined />,
|
},
|
||||||
},
|
],
|
||||||
]}
|
};
|
||||||
/>
|
|
||||||
);
|
|
||||||
|
|
||||||
const getCronViews = () => {
|
const getCronViews = () => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
@ -975,7 +972,7 @@ const Crontab = () => {
|
||||||
className={`crontab-view ${moreMenuActive ? 'more-active' : ''}`}
|
className={`crontab-view ${moreMenuActive ? 'more-active' : ''}`}
|
||||||
tabBarExtraContent={
|
tabBarExtraContent={
|
||||||
<Dropdown
|
<Dropdown
|
||||||
overlay={menu}
|
menu={menu}
|
||||||
trigger={['click']}
|
trigger={['click']}
|
||||||
overlayStyle={{ minWidth: 200 }}
|
overlayStyle={{ minWidth: 200 }}
|
||||||
>
|
>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useRef, useState } from 'react';
|
||||||
import { Modal, message, Input, Form, Statistic, Button } from 'antd';
|
import { Modal, message, Input, Form, Statistic, Button } from 'antd';
|
||||||
import { request } from '@/utils/http';
|
import { request } from '@/utils/http';
|
||||||
import config from '@/utils/config';
|
import config from '@/utils/config';
|
||||||
|
@ -34,7 +34,6 @@ const CronLogModal = ({
|
||||||
const [loading, setLoading] = useState<any>(true);
|
const [loading, setLoading] = useState<any>(true);
|
||||||
const [executing, setExecuting] = useState<any>(true);
|
const [executing, setExecuting] = useState<any>(true);
|
||||||
const [isPhone, setIsPhone] = useState(false);
|
const [isPhone, setIsPhone] = useState(false);
|
||||||
const [theme, setTheme] = useState<string>('');
|
|
||||||
|
|
||||||
const getCronLog = (isFirst?: boolean) => {
|
const getCronLog = (isFirst?: boolean) => {
|
||||||
if (isFirst) {
|
if (isFirst) {
|
||||||
|
@ -49,10 +48,14 @@ const CronLogModal = ({
|
||||||
) {
|
) {
|
||||||
const log = data as string;
|
const log = data as string;
|
||||||
setValue(log || '暂无日志');
|
setValue(log || '暂无日志');
|
||||||
setExecuting(
|
const hasNext = log && !logEnded(log) && !log.includes('重启面板');
|
||||||
log && !logEnded(log) && !log.includes('重启面板'),
|
setExecuting(hasNext);
|
||||||
);
|
setTimeout(() => {
|
||||||
if (log && !logEnded(log) && !log.includes('重启面板')) {
|
document
|
||||||
|
.querySelector('#log-flag')!
|
||||||
|
.scrollIntoView({ behavior: 'smooth' });
|
||||||
|
});
|
||||||
|
if (hasNext) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
getCronLog();
|
getCronLog();
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
@ -155,6 +158,7 @@ const CronLogModal = ({
|
||||||
{value}
|
{value}
|
||||||
</pre>
|
</pre>
|
||||||
)}
|
)}
|
||||||
|
<div id="log-flag"></div>
|
||||||
</Modal>
|
</Modal>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {
|
||||||
Dropdown,
|
Dropdown,
|
||||||
Menu,
|
Menu,
|
||||||
Empty,
|
Empty,
|
||||||
|
MenuProps,
|
||||||
} from 'antd';
|
} from 'antd';
|
||||||
import config from '@/utils/config';
|
import config from '@/utils/config';
|
||||||
import { PageContainer } from '@ant-design/pro-layout';
|
import { PageContainer } from '@ant-design/pro-layout';
|
||||||
|
@ -66,7 +67,8 @@ const Script = () => {
|
||||||
const [isEditing, setIsEditing] = useState(false);
|
const [isEditing, setIsEditing] = useState(false);
|
||||||
const editorRef = useRef<any>(null);
|
const editorRef = useRef<any>(null);
|
||||||
const [isAddFileModalVisible, setIsAddFileModalVisible] = useState(false);
|
const [isAddFileModalVisible, setIsAddFileModalVisible] = useState(false);
|
||||||
const [isRenameFileModalVisible, setIsRenameFileModalVisible] = useState(false);
|
const [isRenameFileModalVisible, setIsRenameFileModalVisible] =
|
||||||
|
useState(false);
|
||||||
const [currentNode, setCurrentNode] = useState<any>();
|
const [currentNode, setCurrentNode] = useState<any>();
|
||||||
const [expandedKeys, setExpandedKeys] = useState<string[]>([]);
|
const [expandedKeys, setExpandedKeys] = useState<string[]>([]);
|
||||||
|
|
||||||
|
@ -293,12 +295,12 @@ const Script = () => {
|
||||||
|
|
||||||
const renameFile = () => {
|
const renameFile = () => {
|
||||||
setIsRenameFileModalVisible(true);
|
setIsRenameFileModalVisible(true);
|
||||||
}
|
};
|
||||||
|
|
||||||
const handleRenameFileCancel = () => {
|
const handleRenameFileCancel = () => {
|
||||||
setIsRenameFileModalVisible(false);
|
setIsRenameFileModalVisible(false);
|
||||||
getScripts(false);
|
getScripts(false);
|
||||||
}
|
};
|
||||||
|
|
||||||
const addFile = () => {
|
const addFile = () => {
|
||||||
setIsAddFileModalVisible(true);
|
setIsAddFileModalVisible(true);
|
||||||
|
@ -402,46 +404,44 @@ const Script = () => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const menu = isEditing ? (
|
const menu: MenuProps = isEditing
|
||||||
<Menu
|
? {
|
||||||
items={[
|
items: [
|
||||||
{ label: '保存', key: 'save', icon: <PlusOutlined /> },
|
{ label: '保存', key: 'save', icon: <PlusOutlined /> },
|
||||||
{ label: '退出编辑', key: 'exit', icon: <EditOutlined /> },
|
{ label: '退出编辑', key: 'exit', icon: <EditOutlined /> },
|
||||||
]}
|
],
|
||||||
onClick={({ key, domEvent }) => {
|
onClick: ({ key, domEvent }) => {
|
||||||
domEvent.stopPropagation();
|
domEvent.stopPropagation();
|
||||||
action(key);
|
action(key);
|
||||||
}}
|
|
||||||
/>
|
|
||||||
) : (
|
|
||||||
<Menu
|
|
||||||
items={[
|
|
||||||
{ label: '新建', key: 'add', icon: <PlusOutlined /> },
|
|
||||||
{
|
|
||||||
label: '编辑',
|
|
||||||
key: 'edit',
|
|
||||||
icon: <EditOutlined />,
|
|
||||||
disabled: !select,
|
|
||||||
},
|
},
|
||||||
{
|
}
|
||||||
label: '重命名',
|
: {
|
||||||
key: 'rename',
|
items: [
|
||||||
icon: <IconFont type="ql-icon-rename" />,
|
{ label: '新建', key: 'add', icon: <PlusOutlined /> },
|
||||||
disabled: !select,
|
{
|
||||||
|
label: '编辑',
|
||||||
|
key: 'edit',
|
||||||
|
icon: <EditOutlined />,
|
||||||
|
disabled: !select,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '重命名',
|
||||||
|
key: 'rename',
|
||||||
|
icon: <IconFont type="ql-icon-rename" />,
|
||||||
|
disabled: !select,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '删除',
|
||||||
|
key: 'delete',
|
||||||
|
icon: <DeleteOutlined />,
|
||||||
|
disabled: !select,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
onClick: ({ key, domEvent }) => {
|
||||||
|
domEvent.stopPropagation();
|
||||||
|
menuAction(key);
|
||||||
},
|
},
|
||||||
{
|
};
|
||||||
label: '删除',
|
|
||||||
key: 'delete',
|
|
||||||
icon: <DeleteOutlined />,
|
|
||||||
disabled: !select,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
onClick={({ key, domEvent }) => {
|
|
||||||
domEvent.stopPropagation();
|
|
||||||
menuAction(key);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PageContainer
|
<PageContainer
|
||||||
|
@ -464,7 +464,7 @@ const Script = () => {
|
||||||
allowClear
|
allowClear
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
/>,
|
/>,
|
||||||
<Dropdown overlay={menu} trigger={['click']}>
|
<Dropdown menu={menu} trigger={['click']}>
|
||||||
<Button type="primary" icon={<EllipsisOutlined />} />
|
<Button type="primary" icon={<EllipsisOutlined />} />
|
||||||
</Dropdown>,
|
</Dropdown>,
|
||||||
]
|
]
|
||||||
|
|
|
@ -17,7 +17,6 @@ import {
|
||||||
import config from '@/utils/config';
|
import config from '@/utils/config';
|
||||||
import { PageContainer } from '@ant-design/pro-layout';
|
import { PageContainer } from '@ant-design/pro-layout';
|
||||||
import { request } from '@/utils/http';
|
import { request } from '@/utils/http';
|
||||||
import * as DarkReader from '@umijs/ssr-darkreader';
|
|
||||||
import AppModal from './appModal';
|
import AppModal from './appModal';
|
||||||
import {
|
import {
|
||||||
EditOutlined,
|
EditOutlined,
|
||||||
|
@ -27,18 +26,13 @@ import {
|
||||||
import SecuritySettings from './security';
|
import SecuritySettings from './security';
|
||||||
import LoginLog from './loginLog';
|
import LoginLog from './loginLog';
|
||||||
import NotificationSetting from './notification';
|
import NotificationSetting from './notification';
|
||||||
import CheckUpdate from './checkUpdate';
|
import Other from './other';
|
||||||
import About from './about';
|
import About from './about';
|
||||||
import { useOutletContext } from '@umijs/max';
|
import { useOutletContext } from '@umijs/max';
|
||||||
import { SharedContext } from '@/layouts';
|
import { SharedContext } from '@/layouts';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
|
|
||||||
const { Text } = Typography;
|
const { Text } = Typography;
|
||||||
const optionsWithDisabled = [
|
|
||||||
{ label: '亮色', value: 'light' },
|
|
||||||
{ label: '暗色', value: 'dark' },
|
|
||||||
{ label: '跟随系统', value: 'auto' },
|
|
||||||
];
|
|
||||||
|
|
||||||
const Setting = () => {
|
const Setting = () => {
|
||||||
const {
|
const {
|
||||||
|
@ -121,37 +115,12 @@ const Setting = () => {
|
||||||
];
|
];
|
||||||
|
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const defaultTheme = localStorage.getItem('qinglong_dark_theme') || 'auto';
|
|
||||||
const [dataSource, setDataSource] = useState<any[]>([]);
|
const [dataSource, setDataSource] = useState<any[]>([]);
|
||||||
const [isModalVisible, setIsModalVisible] = useState(false);
|
const [isModalVisible, setIsModalVisible] = useState(false);
|
||||||
const [editedApp, setEditedApp] = useState<any>();
|
const [editedApp, setEditedApp] = useState<any>();
|
||||||
const [tabActiveKey, setTabActiveKey] = useState('security');
|
const [tabActiveKey, setTabActiveKey] = useState('security');
|
||||||
const [loginLogData, setLoginLogData] = useState<any[]>([]);
|
const [loginLogData, setLoginLogData] = useState<any[]>([]);
|
||||||
const [notificationInfo, setNotificationInfo] = useState<any>();
|
const [notificationInfo, setNotificationInfo] = useState<any>();
|
||||||
const [logRemoveFrequency, setLogRemoveFrequency] = useState<number>();
|
|
||||||
const [form] = Form.useForm();
|
|
||||||
const {
|
|
||||||
enable: enableDarkMode,
|
|
||||||
disable: disableDarkMode,
|
|
||||||
exportGeneratedCSS: collectCSS,
|
|
||||||
setFetchMethod,
|
|
||||||
auto: followSystemColorScheme,
|
|
||||||
} = DarkReader || {};
|
|
||||||
|
|
||||||
const themeChange = (e: any) => {
|
|
||||||
const _theme = e.target.value;
|
|
||||||
localStorage.setItem('qinglong_dark_theme', e.target.value);
|
|
||||||
setFetchMethod(fetch);
|
|
||||||
|
|
||||||
if (_theme === 'dark') {
|
|
||||||
enableDarkMode({});
|
|
||||||
} else if (_theme === 'light') {
|
|
||||||
disableDarkMode();
|
|
||||||
} else {
|
|
||||||
followSystemColorScheme({});
|
|
||||||
}
|
|
||||||
reloadTheme();
|
|
||||||
};
|
|
||||||
|
|
||||||
const getApps = () => {
|
const getApps = () => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
@ -276,8 +245,6 @@ const Setting = () => {
|
||||||
getLoginLog();
|
getLoginLog();
|
||||||
} else if (activeKey === 'notification') {
|
} else if (activeKey === 'notification') {
|
||||||
getNotification();
|
getNotification();
|
||||||
} else if (activeKey === 'other') {
|
|
||||||
getLogRemoveFrequency();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -294,37 +261,6 @@ const Setting = () => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const getLogRemoveFrequency = () => {
|
|
||||||
request
|
|
||||||
.get(`${config.apiPrefix}system/log/remove`)
|
|
||||||
.then(({ code, data }) => {
|
|
||||||
if (code === 200 && data.info) {
|
|
||||||
const { frequency } = data.info;
|
|
||||||
setLogRemoveFrequency(frequency);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((error: any) => {
|
|
||||||
console.log(error);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const updateRemoveLogFrequency = () => {
|
|
||||||
setTimeout(() => {
|
|
||||||
request
|
|
||||||
.put(`${config.apiPrefix}system/log/remove`, {
|
|
||||||
data: { frequency: logRemoveFrequency },
|
|
||||||
})
|
|
||||||
.then(({ code, data }) => {
|
|
||||||
if (code === 200) {
|
|
||||||
message.success('更新成功');
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((error: any) => {
|
|
||||||
console.log(error);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PageContainer
|
<PageContainer
|
||||||
className="ql-container-wrapper ql-container-wrapper-has-tab ql-setting-container"
|
className="ql-container-wrapper ql-container-wrapper-has-tab ql-setting-container"
|
||||||
|
@ -382,46 +318,11 @@ const Setting = () => {
|
||||||
key: 'other',
|
key: 'other',
|
||||||
label: '其他设置',
|
label: '其他设置',
|
||||||
children: (
|
children: (
|
||||||
<Form layout="vertical" form={form}>
|
<Other
|
||||||
<Form.Item
|
reloadTheme={reloadTheme}
|
||||||
label="主题设置"
|
socketMessage={socketMessage}
|
||||||
name="theme"
|
systemInfo={systemInfo}
|
||||||
initialValue={defaultTheme}
|
/>
|
||||||
>
|
|
||||||
<Radio.Group
|
|
||||||
options={optionsWithDisabled}
|
|
||||||
onChange={themeChange}
|
|
||||||
value={defaultTheme}
|
|
||||||
optionType="button"
|
|
||||||
buttonStyle="solid"
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item
|
|
||||||
label="日志删除频率"
|
|
||||||
name="frequency"
|
|
||||||
tooltip="每x天自动删除x天以前的日志"
|
|
||||||
>
|
|
||||||
<Input.Group compact>
|
|
||||||
<InputNumber
|
|
||||||
addonBefore="每"
|
|
||||||
addonAfter="天"
|
|
||||||
style={{ width: 150 }}
|
|
||||||
min={0}
|
|
||||||
value={logRemoveFrequency}
|
|
||||||
onChange={(value) => setLogRemoveFrequency(value)}
|
|
||||||
/>
|
|
||||||
<Button type="primary" onClick={updateRemoveLogFrequency}>
|
|
||||||
确认
|
|
||||||
</Button>
|
|
||||||
</Input.Group>
|
|
||||||
</Form.Item>
|
|
||||||
<Form.Item label="检查更新" name="update">
|
|
||||||
<CheckUpdate
|
|
||||||
systemInfo={systemInfo}
|
|
||||||
socketMessage={socketMessage}
|
|
||||||
/>
|
|
||||||
</Form.Item>
|
|
||||||
</Form>
|
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
120
src/pages/setting/other.tsx
Normal file
120
src/pages/setting/other.tsx
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
import React, { useState, useEffect } from 'react';
|
||||||
|
import { Button, InputNumber, Form, Radio, message, Input } from 'antd';
|
||||||
|
import * as DarkReader from '@umijs/ssr-darkreader';
|
||||||
|
import config from '@/utils/config';
|
||||||
|
import { request } from '@/utils/http';
|
||||||
|
import CheckUpdate from './checkUpdate';
|
||||||
|
import { SharedContext } from '@/layouts';
|
||||||
|
import './index.less';
|
||||||
|
|
||||||
|
const optionsWithDisabled = [
|
||||||
|
{ label: '亮色', value: 'light' },
|
||||||
|
{ label: '暗色', value: 'dark' },
|
||||||
|
{ label: '跟随系统', value: 'auto' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const Other = ({
|
||||||
|
systemInfo,
|
||||||
|
socketMessage,
|
||||||
|
reloadTheme,
|
||||||
|
}: Pick<SharedContext, 'socketMessage' | 'reloadTheme' | 'systemInfo'>) => {
|
||||||
|
const defaultTheme = localStorage.getItem('qinglong_dark_theme') || 'auto';
|
||||||
|
const [logRemoveFrequency, setLogRemoveFrequency] = useState<number | null>();
|
||||||
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
|
const {
|
||||||
|
enable: enableDarkMode,
|
||||||
|
disable: disableDarkMode,
|
||||||
|
exportGeneratedCSS: collectCSS,
|
||||||
|
setFetchMethod,
|
||||||
|
auto: followSystemColorScheme,
|
||||||
|
} = DarkReader || {};
|
||||||
|
|
||||||
|
const themeChange = (e: any) => {
|
||||||
|
const _theme = e.target.value;
|
||||||
|
localStorage.setItem('qinglong_dark_theme', e.target.value);
|
||||||
|
setFetchMethod(fetch);
|
||||||
|
|
||||||
|
if (_theme === 'dark') {
|
||||||
|
enableDarkMode({});
|
||||||
|
} else if (_theme === 'light') {
|
||||||
|
disableDarkMode();
|
||||||
|
} else {
|
||||||
|
followSystemColorScheme({});
|
||||||
|
}
|
||||||
|
reloadTheme();
|
||||||
|
};
|
||||||
|
|
||||||
|
const getLogRemoveFrequency = () => {
|
||||||
|
request
|
||||||
|
.get(`${config.apiPrefix}system/log/remove`)
|
||||||
|
.then(({ code, data }) => {
|
||||||
|
if (code === 200 && data.info) {
|
||||||
|
const { frequency } = data.info;
|
||||||
|
setLogRemoveFrequency(frequency);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error: any) => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateRemoveLogFrequency = () => {
|
||||||
|
setTimeout(() => {
|
||||||
|
request
|
||||||
|
.put(`${config.apiPrefix}system/log/remove`, {
|
||||||
|
data: { frequency: logRemoveFrequency },
|
||||||
|
})
|
||||||
|
.then(({ code, data }) => {
|
||||||
|
if (code === 200) {
|
||||||
|
message.success('更新成功');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error: any) => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getLogRemoveFrequency();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Form layout="vertical" form={form}>
|
||||||
|
<Form.Item label="主题设置" name="theme" initialValue={defaultTheme}>
|
||||||
|
<Radio.Group
|
||||||
|
options={optionsWithDisabled}
|
||||||
|
onChange={themeChange}
|
||||||
|
value={defaultTheme}
|
||||||
|
optionType="button"
|
||||||
|
buttonStyle="solid"
|
||||||
|
/>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item
|
||||||
|
label="日志删除频率"
|
||||||
|
name="frequency"
|
||||||
|
tooltip="每x天自动删除x天以前的日志"
|
||||||
|
>
|
||||||
|
<Input.Group compact>
|
||||||
|
<InputNumber
|
||||||
|
addonBefore="每"
|
||||||
|
addonAfter="天"
|
||||||
|
style={{ width: 150 }}
|
||||||
|
min={0}
|
||||||
|
value={logRemoveFrequency}
|
||||||
|
onChange={(value) => setLogRemoveFrequency(value)}
|
||||||
|
/>
|
||||||
|
<Button type="primary" onClick={updateRemoveLogFrequency}>
|
||||||
|
确认
|
||||||
|
</Button>
|
||||||
|
</Input.Group>
|
||||||
|
</Form.Item>
|
||||||
|
<Form.Item label="检查更新" name="update">
|
||||||
|
<CheckUpdate systemInfo={systemInfo} socketMessage={socketMessage} />
|
||||||
|
</Form.Item>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Other;
|
|
@ -427,28 +427,26 @@ const Subscription = () => {
|
||||||
arrow={{ pointAtCenter: true }}
|
arrow={{ pointAtCenter: true }}
|
||||||
placement="bottomRight"
|
placement="bottomRight"
|
||||||
trigger={['click']}
|
trigger={['click']}
|
||||||
overlay={
|
menu={{
|
||||||
<Menu
|
items: [
|
||||||
items={[
|
{ label: '编辑', key: 'edit', icon: <EditOutlined /> },
|
||||||
{ label: '编辑', key: 'edit', icon: <EditOutlined /> },
|
{
|
||||||
{
|
label: record.is_disabled === 1 ? '启用' : '禁用',
|
||||||
label: record.is_disabled === 1 ? '启用' : '禁用',
|
key: 'enableOrDisable',
|
||||||
key: 'enableOrDisable',
|
icon:
|
||||||
icon:
|
record.is_disabled === 1 ? (
|
||||||
record.is_disabled === 1 ? (
|
<CheckCircleOutlined />
|
||||||
<CheckCircleOutlined />
|
) : (
|
||||||
) : (
|
<StopOutlined />
|
||||||
<StopOutlined />
|
),
|
||||||
),
|
},
|
||||||
},
|
{ label: '删除', key: 'delete', icon: <DeleteOutlined /> },
|
||||||
{ label: '删除', key: 'delete', icon: <DeleteOutlined /> },
|
],
|
||||||
]}
|
onClick: ({ key, domEvent }) => {
|
||||||
onClick={({ key, domEvent }) => {
|
domEvent.stopPropagation();
|
||||||
domEvent.stopPropagation();
|
action(key, record, index);
|
||||||
action(key, record, index);
|
},
|
||||||
}}
|
}}
|
||||||
/>
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<a onClick={(e) => e.stopPropagation()}>
|
<a onClick={(e) => e.stopPropagation()}>
|
||||||
<EllipsisOutlined />
|
<EllipsisOutlined />
|
||||||
|
|
|
@ -296,7 +296,7 @@ export default {
|
||||||
documentTitleMap: {
|
documentTitleMap: {
|
||||||
'/login': '登录',
|
'/login': '登录',
|
||||||
'/initialization': '初始化',
|
'/initialization': '初始化',
|
||||||
'/cron': '定时任务',
|
'/crontab': '定时任务',
|
||||||
'/env': '环境变量',
|
'/env': '环境变量',
|
||||||
'/subscription': '订阅管理',
|
'/subscription': '订阅管理',
|
||||||
'/config': '配置文件',
|
'/config': '配置文件',
|
||||||
|
@ -305,6 +305,7 @@ export default {
|
||||||
'/log': '日志管理',
|
'/log': '日志管理',
|
||||||
'/setting': '系统设置',
|
'/setting': '系统设置',
|
||||||
'/error': '错误日志',
|
'/error': '错误日志',
|
||||||
|
'/dependence': '依赖管理',
|
||||||
},
|
},
|
||||||
dependenceTypes: ['nodejs', 'python3', 'linux'],
|
dependenceTypes: ['nodejs', 'python3', 'linux'],
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user