This commit is contained in:
熊潇 2025-05-14 23:50:29 +08:00
parent c3b24ec29c
commit 3de5754f24
4 changed files with 68 additions and 248 deletions

View File

@ -47,7 +47,7 @@
"crypto-js": "^4.2.0",
"dayjs": "^1.11.13",
"dotenv": "^16.5.0",
"formidable": "^3.5.4",
"formidable": "3.5.4",
"ioredis": "^5.6.1",
"json5": "^2.2.3",
"jsonwebtoken": "^9.0.2",
@ -71,7 +71,7 @@
"@kevisual/code-center-module": "workspace:*",
"@kevisual/oss": "workspace:*",
"@kevisual/permission": "workspace:*",
"@kevisual/types": "^0.0.9",
"@kevisual/types": "^0.0.10",
"@rollup/plugin-alias": "^5.1.1",
"@rollup/plugin-commonjs": "^28.0.3",
"@rollup/plugin-json": "^6.1.0",

298
pnpm-lock.yaml generated
View File

@ -15,7 +15,7 @@ importers:
dependencies:
'@kevisual/local-app-manager':
specifier: 0.1.17
version: 0.1.17(@kevisual/router@0.0.13)(@kevisual/types@0.0.9)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(pm2@6.0.5)
version: 0.1.17(@kevisual/router@0.0.13)(@kevisual/types@0.0.10)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(pm2@6.0.5)
'@kevisual/logger':
specifier: ^0.0.1
version: 0.0.1
@ -41,7 +41,7 @@ importers:
specifier: ^16.5.0
version: 16.5.0
formidable:
specifier: ^3.5.4
specifier: 3.5.4
version: 3.5.4
ioredis:
specifier: ^5.6.1
@ -81,7 +81,7 @@ importers:
version: 7.7.1
sequelize:
specifier: ^6.37.7
version: 6.37.7(pg@8.15.6)
version: 6.37.7(pg@8.15.6)(sqlite3@5.1.7)
socket.io:
specifier: ^4.8.1
version: 4.8.1
@ -108,8 +108,8 @@ importers:
specifier: workspace:*
version: link:submodules/permission
'@kevisual/types':
specifier: ^0.0.9
version: 0.0.9
specifier: ^0.0.10
version: 0.0.10
'@rollup/plugin-alias':
specifier: ^5.1.1
version: 5.1.1(rollup@4.40.2)
@ -208,7 +208,7 @@ importers:
version: 8.14.1
sequelize:
specifier: ^6.37.7
version: 6.37.7(pg@8.14.1)(sqlite3@5.1.7)
version: 6.37.7(pg@8.14.1)
socket.io:
specifier: ^4.8.1
version: 4.8.1
@ -298,8 +298,8 @@ importers:
submodules/oss:
devDependencies:
dotenv:
specifier: ^16.4.7
version: 16.4.7
specifier: ^16.5.0
version: 16.5.0
minio:
specifier: ^8.0.5
version: 8.0.5
@ -311,21 +311,24 @@ importers:
dependencies:
'@kevisual/code-center-module':
specifier: 0.0.18
version: 0.0.18(@kevisual/auth@1.0.5)(@kevisual/router@0.0.10)(@kevisual/use-config@1.0.10(dotenv@16.4.7))(ioredis@5.6.0)(pg@8.14.1)(sequelize@6.37.7(pg@8.14.1)(sqlite3@5.1.7))
version: 0.0.18(@kevisual/auth@1.0.5)(@kevisual/router@0.0.13)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(ioredis@5.6.1)(pg@8.15.6)(sequelize@6.37.7(pg@8.15.6)(sqlite3@5.1.7))
'@kevisual/logger':
specifier: ^0.0.1
version: 0.0.1
'@kevisual/mark':
specifier: 0.0.7
version: 0.0.7(dotenv@16.4.7)(esbuild@0.25.0)(sqlite3@5.1.7)
version: 0.0.7(dotenv@16.5.0)(esbuild@0.25.0)(sqlite3@5.1.7)
'@kevisual/router':
specifier: 0.0.10
version: 0.0.10
specifier: 0.0.13
version: 0.0.13
'@kevisual/use-config':
specifier: ^1.0.10
version: 1.0.10(dotenv@16.4.7)
specifier: ^1.0.15
version: 1.0.15(dotenv@16.5.0)
'@kevisual/wechatpay':
specifier: ^2.2.3
version: 2.2.3
alipay-sdk:
specifier: ^4.13.0
specifier: ^4.14.0
version: 4.14.0
cookie:
specifier: ^1.0.2
@ -334,14 +337,14 @@ importers:
specifier: ^1.11.13
version: 1.11.13
dotenv:
specifier: ^16.4.7
version: 16.4.7
specifier: ^16.5.0
version: 16.5.0
formidable:
specifier: ^3.5.2
version: 3.5.2
specifier: ^3.5.4
version: 3.5.4
ioredis:
specifier: ^5.6.0
version: 5.6.0
specifier: ^5.6.1
version: 5.6.1
json5:
specifier: ^2.2.3
version: 2.2.3
@ -349,24 +352,18 @@ importers:
specifier: ^4.17.21
version: 4.17.21
pg:
specifier: ^8.14.1
version: 8.14.1
pino:
specifier: ^9.6.0
version: 9.6.0
pino-pretty:
specifier: ^13.0.0
version: 13.0.0
specifier: ^8.15.6
version: 8.15.6
sequelize:
specifier: ^6.37.7
version: 6.37.7(pg@8.14.1)(sqlite3@5.1.7)
version: 6.37.7(pg@8.15.6)(sqlite3@5.1.7)
sqlite3:
specifier: ^5.1.7
version: 5.1.7
devDependencies:
'@kevisual/types':
specifier: ^0.0.6
version: 0.0.6
specifier: ^0.0.9
version: 0.0.9
'@rollup/plugin-alias':
specifier: ^5.1.1
version: 5.1.1(rollup@4.40.2)
@ -395,10 +392,10 @@ importers:
specifier: ^7.0.3
version: 7.0.3
nodemon:
specifier: ^3.1.9
version: 3.1.9
specifier: ^3.1.10
version: 3.1.10
rollup:
specifier: ^4.39.0
specifier: ^4.40.2
version: 4.40.2
rollup-plugin-copy:
specifier: ^3.5.0
@ -413,8 +410,8 @@ importers:
specifier: ^5.9.0
version: 5.9.0
tsx:
specifier: ^4.19.3
version: 4.19.3
specifier: ^4.19.4
version: 4.19.4
typescript:
specifier: ^5.8.3
version: 5.8.3
@ -662,9 +659,6 @@ packages:
resolution: {integrity: sha512-TdCN+IU0fyHudiiqYvobXQ8r5MltfM/cKmSS59iopyL8YYwXwcipOS4S24NWA79g7uwJfSUNk5lg3yVhom79fQ==}
hasBin: true
'@kevisual/router@0.0.10':
resolution: {integrity: sha512-prQGiMIboQhDNN1Eubp8x7YDyRCmAsUqpHQwzfu9f7WvgisVWSLOWSaLbqjqNssV2xcc1DgVrHIKdLhbx8HCqQ==}
'@kevisual/router@0.0.13':
resolution: {integrity: sha512-raji8aKXr0jigmJVOKBXb5gpstiAuyoIDy9m6SyPf4lRjCU3pspVI1bpscOUCBlaPICo6TLzPQxXhyTvvvtdWw==}
@ -674,6 +668,9 @@ packages:
'@kevisual/router@0.0.9':
resolution: {integrity: sha512-qPyC2GVJ7iOIdJCCKNDsWMAKOQeSJW9HBpL5ZWKHTbi+t4jJBGTzIlXmjKeMHRd0lr/Qq1imQvlkSh4hlrbodA==}
'@kevisual/types@0.0.10':
resolution: {integrity: sha512-Q73uzzjk9UidumnmCvOpgzqDDvQxsblz22bIFuoiioUFJWwaparx8bpd8ArRyFojicYL1YJoFDzDZ9j9NN8grA==}
'@kevisual/types@0.0.6':
resolution: {integrity: sha512-7yxe1QmuC5g7lI/1Hm+zXly8if0z+ZqGM1SVOVv2VNRwRAVYBJDc365zWCCfRwE+5YaB2daWTe5zBOU4EkltkQ==}
@ -1225,10 +1222,6 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
atomic-sleep@1.0.0:
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
engines: {node: '>=8.0.0'}
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@ -1404,9 +1397,6 @@ packages:
colorette@1.4.0:
resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
@ -1509,9 +1499,6 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
dateformat@4.6.3:
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
@ -1608,10 +1595,6 @@ packages:
dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dotenv@16.4.7:
resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
dotenv@16.5.0:
resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==}
engines: {node: '>=12'}
@ -1774,9 +1757,6 @@ packages:
extrareqp2@1.0.0:
resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==}
fast-copy@3.0.2:
resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==}
fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
@ -1787,13 +1767,6 @@ packages:
fast-json-patch@3.1.1:
resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
fast-redact@3.5.0:
resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
engines: {node: '>=6'}
fast-safe-stringify@2.1.1:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
fast-xml-parser@4.5.0:
resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==}
hasBin: true
@ -1859,9 +1832,6 @@ packages:
resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
engines: {node: '>=12.20.0'}
formidable@3.5.2:
resolution: {integrity: sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==}
formidable@3.5.4:
resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==}
engines: {node: '>=14.0.0'}
@ -2028,13 +1998,6 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
help-me@5.0.0:
resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==}
hexoid@2.0.0:
resolution: {integrity: sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==}
engines: {node: '>=8'}
http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
@ -2612,10 +2575,6 @@ packages:
resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
engines: {node: '>= 0.4'}
on-exit-leak-free@2.1.2:
resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
engines: {node: '>=14.0.0'}
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@ -2753,20 +2712,6 @@ packages:
resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==}
engines: {node: '>=10'}
pino-abstract-transport@2.0.0:
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
pino-pretty@13.0.0:
resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==}
hasBin: true
pino-std-serializers@7.0.0:
resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
pino@9.6.0:
resolution: {integrity: sha512-i85pKRCt4qMjZ1+L7sy2Ag4t1atFcdbEt76+7iRJn1g2BvsnRMGu9p8pivl9fs63M2kF/A0OacFZhTub+m/qMg==}
hasBin: true
pirates@4.0.6:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
@ -2840,9 +2785,6 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
process-warning@4.0.1:
resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
@ -2893,9 +2835,6 @@ packages:
queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
quick-format-unescaped@4.0.4:
resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
quick-lru@5.1.1:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
@ -2930,10 +2869,6 @@ packages:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
real-require@0.2.0:
resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
engines: {node: '>= 12.13.0'}
redis-errors@1.2.0:
resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
engines: {node: '>=4'}
@ -3043,19 +2978,12 @@ packages:
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
engines: {node: '>= 0.4'}
safe-stable-stringify@2.5.0:
resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
engines: {node: '>=10'}
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
secure-json-parse@2.7.0:
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
selfsigned@2.4.1:
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
engines: {node: '>=10'}
@ -3207,9 +3135,6 @@ packages:
resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
sonic-boom@4.2.0:
resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@ -3307,10 +3232,6 @@ packages:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
@ -3373,9 +3294,6 @@ packages:
thenify@3.3.1:
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
thread-stream@3.1.0:
resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
through2@4.0.2:
resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
@ -3680,18 +3598,6 @@ packages:
utf-8-validate:
optional: true
ws@8.18.1:
resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: '>=5.0.2'
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
xml2js@0.5.0:
resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
engines: {node: '>=4.0.0'}
@ -3868,15 +3774,15 @@ snapshots:
'@kevisual/auth@1.0.5': {}
'@kevisual/code-center-module@0.0.18(@kevisual/auth@1.0.5)(@kevisual/router@0.0.10)(@kevisual/use-config@1.0.10(dotenv@16.4.7))(ioredis@5.6.0)(pg@8.14.1)(sequelize@6.37.7(pg@8.14.1)(sqlite3@5.1.7))':
'@kevisual/code-center-module@0.0.18(@kevisual/auth@1.0.5)(@kevisual/router@0.0.13)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(ioredis@5.6.1)(pg@8.15.6)(sequelize@6.37.7(pg@8.15.6)(sqlite3@5.1.7))':
dependencies:
'@kevisual/auth': 1.0.5
'@kevisual/router': 0.0.10
'@kevisual/use-config': 1.0.10(dotenv@16.4.7)
ioredis: 5.6.0
'@kevisual/router': 0.0.13
'@kevisual/use-config': 1.0.15(dotenv@16.5.0)
ioredis: 5.6.1
nanoid: 5.1.5
pg: 8.14.1
sequelize: 6.37.7(pg@8.14.1)(sqlite3@5.1.7)
pg: 8.15.6
sequelize: 6.37.7(pg@8.15.6)(sqlite3@5.1.7)
socket.io: 4.8.1
zod: 3.24.2
transitivePeerDependencies:
@ -3892,25 +3798,25 @@ snapshots:
dependencies:
eventemitter3: 5.0.1
'@kevisual/local-app-manager@0.1.17(@kevisual/router@0.0.13)(@kevisual/types@0.0.9)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(pm2@6.0.5)':
'@kevisual/local-app-manager@0.1.17(@kevisual/router@0.0.13)(@kevisual/types@0.0.10)(@kevisual/use-config@1.0.15(dotenv@16.5.0))(pm2@6.0.5)':
dependencies:
'@kevisual/router': 0.0.13
'@kevisual/types': 0.0.9
'@kevisual/types': 0.0.10
'@kevisual/use-config': 1.0.15(dotenv@16.5.0)
pm2: 6.0.5
'@kevisual/logger@0.0.1': {}
'@kevisual/mark@0.0.7(dotenv@16.4.7)(esbuild@0.25.0)(sqlite3@5.1.7)':
'@kevisual/mark@0.0.7(dotenv@16.5.0)(esbuild@0.25.0)(sqlite3@5.1.7)':
dependencies:
'@kevisual/auth': 1.0.5
'@kevisual/rollup-tools': 0.0.1(esbuild@0.25.0)
'@kevisual/router': 0.0.7
'@kevisual/use-config': 1.0.10(dotenv@16.4.7)
'@kevisual/use-config': 1.0.15(dotenv@16.5.0)
cookie: 1.0.2
nanoid: 5.1.5
pg: 8.14.1
sequelize: 6.37.7(pg@8.14.1)(sqlite3@5.1.7)
pg: 8.15.6
sequelize: 6.37.7(pg@8.15.6)(sqlite3@5.1.7)
transitivePeerDependencies:
- bufferutil
- dotenv
@ -3950,15 +3856,6 @@ snapshots:
- esbuild
- supports-color
'@kevisual/router@0.0.10':
dependencies:
path-to-regexp: 8.2.0
selfsigned: 2.4.1
ws: 8.18.1
transitivePeerDependencies:
- bufferutil
- utf-8-validate
'@kevisual/router@0.0.13':
dependencies:
path-to-regexp: 8.2.0
@ -3982,15 +3879,12 @@ snapshots:
- bufferutil
- utf-8-validate
'@kevisual/types@0.0.10': {}
'@kevisual/types@0.0.6': {}
'@kevisual/types@0.0.9': {}
'@kevisual/use-config@1.0.10(dotenv@16.4.7)':
dependencies:
'@kevisual/load': 0.0.4
dotenv: 16.4.7
'@kevisual/use-config@1.0.10(dotenv@16.5.0)':
dependencies:
'@kevisual/load': 0.0.4
@ -4573,8 +4467,6 @@ snapshots:
asynckit@0.4.0: {}
atomic-sleep@1.0.0: {}
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
@ -4765,8 +4657,6 @@ snapshots:
colorette@1.4.0: {}
colorette@2.0.20: {}
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
@ -4862,8 +4752,6 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
dateformat@4.6.3: {}
dayjs@1.11.13: {}
dayjs@1.8.36: {}
@ -4960,8 +4848,6 @@ snapshots:
no-case: 3.0.4
tslib: 2.8.1
dotenv@16.4.7: {}
dotenv@16.5.0: {}
dotignore@0.1.2:
@ -5196,8 +5082,6 @@ snapshots:
transitivePeerDependencies:
- debug
fast-copy@3.0.2: {}
fast-fifo@1.3.2: {}
fast-glob@3.3.2:
@ -5210,10 +5094,6 @@ snapshots:
fast-json-patch@3.1.1: {}
fast-redact@3.5.0: {}
fast-safe-stringify@2.1.1: {}
fast-xml-parser@4.5.0:
dependencies:
strnum: 1.0.5
@ -5269,12 +5149,6 @@ snapshots:
dependencies:
fetch-blob: 3.2.0
formidable@3.5.2:
dependencies:
dezalgo: 1.0.4
hexoid: 2.0.0
once: 1.4.0
formidable@3.5.4:
dependencies:
'@paralleldrive/cuid2': 2.2.2
@ -5478,10 +5352,6 @@ snapshots:
dependencies:
function-bind: 1.1.2
help-me@5.0.0: {}
hexoid@2.0.0: {}
http-cache-semantics@4.1.1:
optional: true
@ -6115,8 +5985,6 @@ snapshots:
has-symbols: 1.0.3
object-keys: 1.1.1
on-exit-leak-free@2.1.2: {}
once@1.4.0:
dependencies:
wrappy: 1.0.2
@ -6253,42 +6121,6 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
pino-abstract-transport@2.0.0:
dependencies:
split2: 4.2.0
pino-pretty@13.0.0:
dependencies:
colorette: 2.0.20
dateformat: 4.6.3
fast-copy: 3.0.2
fast-safe-stringify: 2.1.1
help-me: 5.0.0
joycon: 3.1.1
minimist: 1.2.8
on-exit-leak-free: 2.1.2
pino-abstract-transport: 2.0.0
pump: 3.0.2
secure-json-parse: 2.7.0
sonic-boom: 4.2.0
strip-json-comments: 3.1.1
pino-std-serializers@7.0.0: {}
pino@9.6.0:
dependencies:
atomic-sleep: 1.0.0
fast-redact: 3.5.0
on-exit-leak-free: 2.1.2
pino-abstract-transport: 2.0.0
pino-std-serializers: 7.0.0
process-warning: 4.0.1
quick-format-unescaped: 4.0.4
real-require: 0.2.0
safe-stable-stringify: 2.5.0
sonic-boom: 4.2.0
thread-stream: 3.1.0
pirates@4.0.6: {}
pm2-axon-rpc@0.7.1:
@ -6399,8 +6231,6 @@ snapshots:
process-nextick-args@2.0.1: {}
process-warning@4.0.1: {}
process@0.11.10: {}
promise-inflight@1.0.1:
@ -6455,8 +6285,6 @@ snapshots:
queue-tick@1.0.1: {}
quick-format-unescaped@4.0.4: {}
quick-lru@5.1.1: {}
rc@1.2.8:
@ -6504,8 +6332,6 @@ snapshots:
readdirp@4.1.2: {}
real-require@0.2.0: {}
redis-errors@1.2.0: {}
redis-parser@3.0.0:
@ -6692,14 +6518,10 @@ snapshots:
es-errors: 1.3.0
is-regex: 1.1.4
safe-stable-stringify@2.5.0: {}
safer-buffer@2.1.2: {}
sax@1.4.1: {}
secure-json-parse@2.7.0: {}
selfsigned@2.4.1:
dependencies:
'@types/node-forge': 1.3.11
@ -6713,7 +6535,7 @@ snapshots:
sequelize-pool@7.1.0: {}
sequelize@6.37.7(pg@8.14.1)(sqlite3@5.1.7):
sequelize@6.37.7(pg@8.14.1):
dependencies:
'@types/debug': 4.1.12
'@types/validator': 13.12.2
@ -6733,11 +6555,10 @@ snapshots:
wkx: 0.5.0
optionalDependencies:
pg: 8.14.1
sqlite3: 5.1.7
transitivePeerDependencies:
- supports-color
sequelize@6.37.7(pg@8.15.6):
sequelize@6.37.7(pg@8.15.6)(sqlite3@5.1.7):
dependencies:
'@types/debug': 4.1.12
'@types/validator': 13.12.2
@ -6757,6 +6578,7 @@ snapshots:
wkx: 0.5.0
optionalDependencies:
pg: 8.15.6
sqlite3: 5.1.7
transitivePeerDependencies:
- supports-color
@ -6907,10 +6729,6 @@ snapshots:
ip-address: 9.0.5
smart-buffer: 4.2.0
sonic-boom@4.2.0:
dependencies:
atomic-sleep: 1.0.0
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
@ -7022,8 +6840,6 @@ snapshots:
strip-json-comments@2.0.1: {}
strip-json-comments@3.1.1: {}
strnum@1.0.5: {}
sucrase@3.35.0:
@ -7129,10 +6945,6 @@ snapshots:
dependencies:
any-promise: 1.3.0
thread-stream@3.1.0:
dependencies:
real-require: 0.2.0
through2@4.0.2:
dependencies:
readable-stream: 3.6.2
@ -7437,8 +7249,6 @@ snapshots:
ws@8.18.0: {}
ws@8.18.1: {}
xml2js@0.5.0:
dependencies:
sax: 1.4.1

View File

@ -11,6 +11,7 @@ import { ConfigModel } from '@/routes/config/models/model.ts';
import { validateDirectory } from './util.ts';
import { pick } from 'lodash-es';
import { getFileStat } from '@/routes/file/index.ts';
import { logger } from '@/logger/index.ts';
const cacheFilePath = useFileStore('cache-file', { needExists: true });
@ -125,10 +126,13 @@ router.post('/api/s1/resources/upload', async (req, res) => {
const clearFiles = () => {
const uploadedFiles = Array.isArray(files.file) ? files.file : [files.file];
uploadedFiles.forEach((file) => {
fs.unlinkSync(file.filepath);
if (file?.filepath && fs.existsSync(file.filepath)) {
fs.unlinkSync(file.filepath);
}
});
};
if (err) {
logger.error(`Upload error: ${err.message}`);
res.end(error(`Upload error: ${err.message}`));
clearFiles();
return;
@ -166,6 +170,12 @@ router.post('/api/s1/resources/upload', async (req, res) => {
}
// 逐个处理每个上传的文件
const uploadedFiles = Array.isArray(files.file) ? files.file : [files.file];
logger.info(
'upload files',
uploadedFiles.map((item) => {
return pick(item, ['filepath', 'originalFilename']);
}),
);
const uploadResults = [];
for (let i = 0; i < uploadedFiles.length; i++) {
const file = uploadedFiles[i];

@ -1 +1 @@
Subproject commit 1a2201cdc6ff23ac3e48ee06743fa8b5e264e20d
Subproject commit ab29a1eb0b4e71739238f33f25c5746db2bbe198