This commit is contained in:
oneao committed 2026-03-19 17:28:47 +08:00
1 parent 6c20d0c80d
commit 4aaa93df7d
66 files changed
+4375 -1311

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

+1 -1
View File
@@ -1,3 +1,3 @@
VITE_APP_PORT = 3000
VITE_APP_PORT = 8080
VITE_ALIYUN_BUCKET = 'g3cdcont'
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,121 @@
{
"input_path": "./8B457A96D0F016EAB6EB6D24AD70406C.jpg",
"page_index": null,
"model_settings": {
"use_doc_preprocessor": false,
"use_textline_orientation": false
},
"dt_polys": [
[
[
0,
3
],
[
96,
0
],
[
98,
53
],
[
1,
54
]
],
[
[
134,
0
],
[
275,
0
],
[
277,
50
],
[
136,
54
]
]
],
"text_det_params": {
"limit_side_len": 64,
"limit_type": "min",
"thresh": 0.3,
"max_side_limit": 4000,
"box_thresh": 0.6,
"unclip_ratio": 1.5
},
"text_type": "general",
"textline_orientation_angles": [
-1,
-1
],
"text_rec_score_thresh": 0.0,
"return_word_box": false,
"rec_texts": [
"TBJU",
"451393"
],
"rec_scores": [
0.9933064579963684,
0.9974541068077087
],
"rec_polys": [
[
[
0,
3
],
[
96,
0
],
[
98,
53
],
[
1,
54
]
],
[
[
134,
0
],
[
275,
0
],
[
277,
50
],
[
136,
54
]
]
],
"rec_boxes": [
[
0,
0,
98,
54
],
[
134,
0,
277,
54
]
]
}
+1 -1
View File
@@ -84,7 +84,7 @@
"dayjs": "^1.11.18",
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.5.0",
"sard-uniapp": "^1.24.7",
"sard-uniapp": "^1.27.1",
"vue": "^3.5.21",
"wot-design-uni": "^1.13.0",
"z-paging": "^2.8.8"
+240 -79
View File
@@ -72,8 +72,8 @@ importers:
specifier: ^4.5.0
version: 4.5.0(pinia@3.0.3(typescript@5.8.3)(vue@3.5.22(typescript@5.8.3)))
sard-uniapp:
specifier: ^1.24.7
version: 1.24.7(@dcloudio/types@3.4.21)(vue@3.5.22(typescript@5.8.3))
specifier: ^1.27.1
version: 1.27.1(@dcloudio/types@3.4.21)(vue@3.5.22(typescript@5.8.3))
vue:
specifier: ^3.5.21
version: 3.5.22(typescript@5.8.3)
@@ -261,6 +261,10 @@ packages:
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
'@babel/compat-data@7.28.4':
resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
engines: {node: '>=6.9.0'}
@@ -273,6 +277,10 @@ packages:
resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.29.1':
resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
engines: {node: '>=6.9.0'}
'@babel/helper-annotate-as-pure@7.27.3':
resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
engines: {node: '>=6.9.0'}
@@ -324,6 +332,10 @@ packages:
resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
engines: {node: '>=6.9.0'}
'@babel/helper-plugin-utils@7.28.6':
resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
engines: {node: '>=6.9.0'}
'@babel/helper-remap-async-to-generator@7.27.1':
resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
engines: {node: '>=6.9.0'}
@@ -348,6 +360,10 @@ packages:
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-option@7.27.1':
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
@@ -365,6 +381,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/parser@7.29.2':
resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1':
resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==}
engines: {node: '>=6.9.0'}
@@ -434,6 +455,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-attributes@7.28.6':
resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-meta@7.10.4':
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
@@ -498,6 +525,12 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-typescript@7.28.6':
resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-syntax-unicode-sets-regex@7.18.6':
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
engines: {node: '>=6.9.0'}
@@ -835,14 +868,26 @@ packages:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
'@babel/template@7.28.6':
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.28.4':
resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.29.0':
resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
engines: {node: '>=6.9.0'}
'@babel/types@7.28.4':
resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'}
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
@@ -1959,6 +2004,9 @@ packages:
'@types/node@20.19.18':
resolution: {integrity: sha512-KeYVbfnbsBCyKG8e3gmUqAfyZNcoj/qpEbHRkQkfZdKOBrU7QQ+BsTdfqLSWX9/m1ytYreMhpKvp+EZi3UFYAg==}
'@types/node@20.19.37':
resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==}
'@types/prettier@2.7.3':
resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
@@ -1971,8 +2019,8 @@ packages:
'@types/yargs-parser@21.0.3':
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
'@types/yargs@16.0.9':
resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
'@types/yargs@16.0.11':
resolution: {integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==}
'@typescript-eslint/eslint-plugin@8.45.0':
resolution: {integrity: sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==}
@@ -2287,6 +2335,11 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
acorn@8.16.0:
resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
engines: {node: '>=0.4.0'}
hasBin: true
address@1.2.2:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
@@ -2592,8 +2645,8 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
collect-v8-coverage@1.0.2:
resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
collect-v8-coverage@1.0.3:
resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==}
color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
@@ -3286,6 +3339,10 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
get-intrinsic@1.3.1:
resolution: {integrity: sha512-fk1ZVEeOX9hVZ6QzoBNEC55+Ucqg4sTVwrVuigZhuRPESVFpMyXnd3sbXvPOwp7Y9riVyANiqhEuRF0G1aVSeQ==}
engines: {node: '>= 0.4'}
@@ -3705,8 +3762,8 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
js-yaml@3.14.1:
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
js-yaml@3.14.2:
resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==}
hasBin: true
js-yaml@4.1.0:
@@ -3847,6 +3904,9 @@ packages:
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
lodash@4.17.23:
resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==}
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -4050,6 +4110,9 @@ packages:
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
minimatch@8.0.4:
resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -4143,8 +4206,8 @@ packages:
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
nwsapi@2.2.22:
resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==}
nwsapi@2.2.23:
resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
nypm@0.5.4:
resolution: {integrity: sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==}
@@ -4591,6 +4654,11 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
resolve@1.22.11:
resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
engines: {node: '>= 0.4'}
hasBin: true
reusify@1.1.0:
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -4633,8 +4701,8 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sard-uniapp@1.24.7:
resolution: {integrity: sha512-QXk/zWH5j62VOUsaf8mSk0i8k/OMkUoSIqOTmxb7vpC+UpiJ5Uwypayb9HarlgStXpqIc3HmTOIG+2cNo+yFCA==}
sard-uniapp@1.27.1:
resolution: {integrity: sha512-KrmC+2NoPtV+ugOGGfUzdS3gr650SRzA3rkcs7s8xQ1wHhOmQA2sf5PlUQnIlmt2jope/JE63GpuVVjvy4bx+w==}
engines: {HBuilderX: ^3.6.0, uni-app: ^4.11, uni-app-x: ''}
peerDependencies:
'@dcloudio/types': ^3.4.8
@@ -4668,6 +4736,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
semver@7.7.4:
resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
send@0.19.0:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
engines: {node: '>= 0.8.0'}
@@ -5375,6 +5448,12 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/code-frame@7.29.0':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/compat-data@7.28.4': {}
'@babel/core@7.28.4':
@@ -5405,6 +5484,14 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
'@babel/generator@7.29.1':
dependencies:
'@babel/parser': 7.29.2
'@babel/types': 7.29.0
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
'@babel/helper-annotate-as-pure@7.27.3':
dependencies:
'@babel/types': 7.28.4
@@ -5479,6 +5566,8 @@ snapshots:
'@babel/helper-plugin-utils@7.27.1': {}
'@babel/helper-plugin-utils@7.28.6': {}
'@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -5508,6 +5597,8 @@ snapshots:
'@babel/helper-validator-identifier@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
'@babel/helper-validator-option@7.27.1': {}
'@babel/helper-wrap-function@7.28.3':
@@ -5527,6 +5618,10 @@ snapshots:
dependencies:
'@babel/types': 7.28.4
'@babel/parser@7.29.2':
dependencies:
'@babel/types': 7.29.0
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -5569,22 +5664,22 @@ snapshots:
'@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)':
dependencies:
@@ -5596,6 +5691,11 @@ snapshots:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -5604,7 +5704,7 @@ snapshots:
'@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
dependencies:
@@ -5614,48 +5714,53 @@ snapshots:
'@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -6097,6 +6202,12 @@ snapshots:
'@babel/parser': 7.28.4
'@babel/types': 7.28.4
'@babel/template@7.28.6':
dependencies:
'@babel/code-frame': 7.29.0
'@babel/parser': 7.29.2
'@babel/types': 7.29.0
'@babel/traverse@7.28.4':
dependencies:
'@babel/code-frame': 7.27.1
@@ -6109,11 +6220,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@babel/traverse@7.29.0':
dependencies:
'@babel/code-frame': 7.29.0
'@babel/generator': 7.29.1
'@babel/helper-globals': 7.28.0
'@babel/parser': 7.29.2
'@babel/template': 7.28.6
'@babel/types': 7.29.0
debug: 4.4.3
transitivePeerDependencies:
- supports-color
'@babel/types@7.28.4':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
'@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
'@bcoe/v8-coverage@0.2.3': {}
'@clack/core@0.5.0':
@@ -7135,7 +7263,7 @@ snapshots:
camelcase: 5.3.1
find-up: 4.1.0
get-package-type: 0.1.0
js-yaml: 3.14.1
js-yaml: 3.14.2
resolve-from: 5.0.0
'@istanbuljs/schema@0.1.3': {}
@@ -7143,7 +7271,7 @@ snapshots:
'@jest/console@27.5.1':
dependencies:
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
jest-message-util: 27.5.1
jest-util: 27.5.1
@@ -7156,7 +7284,7 @@ snapshots:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.8.1
@@ -7190,14 +7318,14 @@ snapshots:
dependencies:
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
jest-mock: 27.5.1
'@jest/fake-timers@27.5.1':
dependencies:
'@jest/types': 27.5.1
'@sinonjs/fake-timers': 8.1.0
'@types/node': 20.19.18
'@types/node': 20.19.37
jest-message-util: 27.5.1
jest-mock: 27.5.1
jest-util: 27.5.1
@@ -7215,9 +7343,9 @@ snapshots:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
collect-v8-coverage: 1.0.2
collect-v8-coverage: 1.0.3
exit: 0.1.2
glob: 7.2.3
graceful-fs: 4.2.11
@@ -7249,7 +7377,7 @@ snapshots:
'@jest/console': 27.5.1
'@jest/types': 27.5.1
'@types/istanbul-lib-coverage': 2.0.6
collect-v8-coverage: 1.0.2
collect-v8-coverage: 1.0.3
'@jest/test-sequencer@27.5.1':
dependencies:
@@ -7284,8 +7412,8 @@ snapshots:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 20.19.18
'@types/yargs': 16.0.9
'@types/node': 20.19.37
'@types/yargs': 16.0.11
chalk: 4.1.2
'@jimp/bmp@0.10.3(@jimp/custom@0.10.3)':
@@ -7777,24 +7905,24 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.28.4
'@babel/types': 7.28.4
'@babel/parser': 7.29.2
'@babel/types': 7.29.0
'@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.28.0
'@types/babel__generator@7.27.0':
dependencies:
'@babel/types': 7.28.4
'@babel/types': 7.29.0
'@types/babel__template@7.4.4':
dependencies:
'@babel/parser': 7.28.4
'@babel/types': 7.28.4
'@babel/parser': 7.29.2
'@babel/types': 7.29.0
'@types/babel__traverse@7.28.0':
dependencies:
'@babel/types': 7.28.4
'@babel/types': 7.29.0
'@types/debug@4.1.12':
dependencies:
@@ -7804,7 +7932,7 @@ snapshots:
'@types/graceful-fs@4.1.9':
dependencies:
'@types/node': 20.19.18
'@types/node': 20.19.37
'@types/istanbul-lib-coverage@2.0.6': {}
@@ -7828,6 +7956,10 @@ snapshots:
dependencies:
undici-types: 6.21.0
'@types/node@20.19.37':
dependencies:
undici-types: 6.21.0
'@types/prettier@2.7.3': {}
'@types/stack-utils@2.0.3': {}
@@ -7836,7 +7968,7 @@ snapshots:
'@types/yargs-parser@21.0.3': {}
'@types/yargs@16.0.9':
'@types/yargs@16.0.11':
dependencies:
'@types/yargs-parser': 21.0.3
@@ -8290,6 +8422,8 @@ snapshots:
acorn@8.15.0: {}
acorn@8.16.0: {}
address@1.2.2: {}
adm-zip@0.5.16: {}
@@ -8380,7 +8514,7 @@ snapshots:
babel-plugin-istanbul@6.1.1:
dependencies:
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-plugin-utils': 7.28.6
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-instrument: 5.2.1
@@ -8390,8 +8524,8 @@ snapshots:
babel-plugin-jest-hoist@27.5.1:
dependencies:
'@babel/template': 7.27.2
'@babel/types': 7.28.4
'@babel/template': 7.28.6
'@babel/types': 7.29.0
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.28.0
@@ -8426,7 +8560,7 @@ snapshots:
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.4)
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.4)
'@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.4)
'@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4)
'@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.28.4)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.4)
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.4)
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.4)
@@ -8639,7 +8773,7 @@ snapshots:
co@4.6.0: {}
collect-v8-coverage@1.0.2: {}
collect-v8-coverage@1.0.3: {}
color-convert@2.0.1:
dependencies:
@@ -8849,7 +8983,7 @@ snapshots:
es-set-tostringtag@2.1.0:
dependencies:
es-errors: 1.3.0
get-intrinsic: 1.3.1
get-intrinsic: 1.3.0
has-tostringtag: 1.0.2
hasown: 2.0.2
@@ -9410,6 +9544,19 @@ snapshots:
get-caller-file@2.0.5: {}
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
es-errors: 1.3.0
es-object-atoms: 1.1.1
function-bind: 1.1.2
get-proto: 1.0.1
gopd: 1.2.0
has-symbols: 1.1.0
hasown: 2.0.2
math-intrinsics: 1.1.0
get-intrinsic@1.3.1:
dependencies:
async-function: 1.0.0
@@ -9464,7 +9611,7 @@ snapshots:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 3.1.2
minimatch: 3.1.5
once: 1.4.0
path-is-absolute: 1.0.1
@@ -9635,7 +9782,7 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.28.4
'@babel/parser': 7.28.4
'@babel/parser': 7.29.2
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -9672,7 +9819,7 @@ snapshots:
'@jest/environment': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
co: 4.6.0
dedent: 0.7.0
@@ -9768,7 +9915,7 @@ snapshots:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
jest-mock: 27.5.1
jest-util: 27.5.1
jsdom: 16.7.0
@@ -9783,7 +9930,7 @@ snapshots:
'@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
jest-mock: 27.5.1
jest-util: 27.5.1
@@ -9793,7 +9940,7 @@ snapshots:
dependencies:
'@jest/types': 27.5.1
'@types/graceful-fs': 4.1.9
'@types/node': 20.19.18
'@types/node': 20.19.37
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
@@ -9812,7 +9959,7 @@ snapshots:
'@jest/source-map': 27.5.1
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
co: 4.6.0
expect: 27.5.1
@@ -9842,7 +9989,7 @@ snapshots:
jest-message-util@27.5.1:
dependencies:
'@babel/code-frame': 7.27.1
'@babel/code-frame': 7.29.0
'@jest/types': 27.5.1
'@types/stack-utils': 2.0.3
chalk: 4.1.2
@@ -9855,7 +10002,7 @@ snapshots:
jest-mock@27.5.1:
dependencies:
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
optionalDependencies:
@@ -9880,7 +10027,7 @@ snapshots:
jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
jest-util: 27.5.1
jest-validate: 27.5.1
resolve: 1.22.10
resolve: 1.22.11
resolve.exports: 1.1.1
slash: 3.0.0
@@ -9891,7 +10038,7 @@ snapshots:
'@jest/test-result': 27.5.1
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
emittery: 0.8.1
graceful-fs: 4.2.11
@@ -9924,7 +10071,7 @@ snapshots:
'@jest/types': 27.5.1
chalk: 4.1.2
cjs-module-lexer: 1.4.3
collect-v8-coverage: 1.0.2
collect-v8-coverage: 1.0.3
execa: 5.1.1
glob: 7.2.3
graceful-fs: 4.2.11
@@ -9942,16 +10089,16 @@ snapshots:
jest-serializer@27.5.1:
dependencies:
'@types/node': 20.19.18
'@types/node': 20.19.37
graceful-fs: 4.2.11
jest-snapshot@27.5.1:
dependencies:
'@babel/core': 7.28.4
'@babel/generator': 7.28.3
'@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
'@babel/traverse': 7.28.4
'@babel/types': 7.28.4
'@babel/generator': 7.29.1
'@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.28.4)
'@babel/traverse': 7.29.0
'@babel/types': 7.29.0
'@jest/transform': 27.5.1
'@jest/types': 27.5.1
'@types/babel__traverse': 7.28.0
@@ -9968,14 +10115,14 @@ snapshots:
jest-util: 27.5.1
natural-compare: 1.4.0
pretty-format: 27.5.1
semver: 7.7.2
semver: 7.7.4
transitivePeerDependencies:
- supports-color
jest-util@27.5.1:
dependencies:
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -9994,7 +10141,7 @@ snapshots:
dependencies:
'@jest/test-result': 27.5.1
'@jest/types': 27.5.1
'@types/node': 20.19.18
'@types/node': 20.19.37
ansi-escapes: 4.3.2
chalk: 4.1.2
jest-util: 27.5.1
@@ -10002,7 +10149,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
'@types/node': 20.19.18
'@types/node': 20.19.37
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -10039,7 +10186,7 @@ snapshots:
js-tokens@9.0.1: {}
js-yaml@3.14.1:
js-yaml@3.14.2:
dependencies:
argparse: 1.0.10
esprima: 4.0.1
@@ -10057,7 +10204,7 @@ snapshots:
jsdom@16.7.0:
dependencies:
abab: 2.0.6
acorn: 8.15.0
acorn: 8.16.0
acorn-globals: 6.0.0
cssom: 0.4.4
cssstyle: 2.3.0
@@ -10070,7 +10217,7 @@ snapshots:
http-proxy-agent: 4.0.1
https-proxy-agent: 5.0.1
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.22
nwsapi: 2.2.23
parse5: 6.0.1
saxes: 5.0.1
symbol-tree: 3.2.4
@@ -10188,6 +10335,8 @@ snapshots:
lodash@4.17.21: {}
lodash@4.17.23: {}
longest-streak@3.1.0: {}
lru-cache@5.1.1:
@@ -10200,7 +10349,7 @@ snapshots:
make-dir@4.0.0:
dependencies:
semver: 7.7.2
semver: 7.7.4
makeerror@1.0.12:
dependencies:
@@ -10560,6 +10709,10 @@ snapshots:
dependencies:
brace-expansion: 1.1.12
minimatch@3.1.5:
dependencies:
brace-expansion: 1.1.12
minimatch@8.0.4:
dependencies:
brace-expansion: 2.0.2
@@ -10632,7 +10785,7 @@ snapshots:
dependencies:
boolbase: 1.0.0
nwsapi@2.2.22: {}
nwsapi@2.2.23: {}
nypm@0.5.4:
dependencies:
@@ -10741,7 +10894,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
'@babel/code-frame': 7.27.1
'@babel/code-frame': 7.29.0
error-ex: 1.3.4
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -11045,6 +11198,12 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
resolve@1.22.11:
dependencies:
is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
reusify@1.1.0: {}
rfdc@1.4.1: {}
@@ -11100,7 +11259,7 @@ snapshots:
safer-buffer@2.1.2: {}
sard-uniapp@1.24.7(@dcloudio/types@3.4.21)(vue@3.5.22(typescript@5.8.3)):
sard-uniapp@1.27.1(@dcloudio/types@3.4.21)(vue@3.5.22(typescript@5.8.3)):
dependencies:
'@dcloudio/types': 3.4.21
vue: 3.5.22(typescript@5.8.3)
@@ -11129,6 +11288,8 @@ snapshots:
semver@7.7.2: {}
semver@7.7.4: {}
send@0.19.0:
dependencies:
debug: 2.6.9
@@ -11322,7 +11483,7 @@ snapshots:
dependencies:
'@istanbuljs/schema': 0.1.3
glob: 7.2.3
minimatch: 3.1.2
minimatch: 3.1.5
throat@6.0.2: {}
@@ -11650,7 +11811,7 @@ snapshots:
whatwg-url@8.7.0:
dependencies:
lodash: 4.17.21
lodash: 4.17.23
tr46: 2.1.0
webidl-conversions: 6.1.0
+2 -2
View File
@@ -6,7 +6,7 @@ import { useUserStore } from './store'
const userStore = useUserStore()
onLaunch(() => {
// userStore.requireLogin()
userStore.requireLogin()
})
onMounted(() => {
@@ -18,7 +18,7 @@ onUnmounted(() => {
<style>
page {
background-color: #f7f7f8;
background-color: #ffffff;
}
</style>
@@ -2,7 +2,7 @@
import type { FieldValidateError, FormExpose, FormRules } from 'sard-uniapp'
import { getWindowInfo, toast } from 'sard-uniapp'
import { reactive, ref } from 'vue'
import { loaddataApi, loginApi } from '@/request/api'
import { loginApi } from '@/request/api'
import { useUserStore } from '@/store'
const userStore = useUserStore()
@@ -12,7 +12,7 @@ const startOffset = ref(getWindowInfo().statusBarHeight + 60)
const _loading = ref(false)
const formModel = reactive({
orgid: userStore.userInfo.orgid,
orgid: 'g3hd',
userid: userStore.userInfo.userid,
password: '',
})
@@ -42,47 +42,50 @@ async function onSubmit() {
password: formModel.password,
})
if (!res?.data) {
toast.fail('登录失败,请检查账号密码')
return
}
userStore.userInfo = {
...userStore.userInfo,
orgid: formModel.orgid,
userid: formModel.userid,
token: res.data,
}
let username = ''
try {
const userRes = await loaddataApi({
viewname: 'v_b_truck',
soption: '',
orderfield: '',
searchcondition: `b_id = '${formModel.userid}'`,
})
if (userRes?.data?.length > 0) {
username = userRes.data[0].v_worker_name || ''
if (res.success) {
userStore.userInfo = {
...userStore.userInfo,
orgid: formModel.orgid,
userid: formModel.userid,
token: res.data.token,
username: res.data.username,
}
}
catch (err) {
console.warn('获取用户信息失败', err)
uni.showToast({
title: '登录成功',
icon: 'success',
})
uni.switchTab({
url: '/pages/home/index',
})
}
userStore.userInfo = {
...userStore.userInfo,
username,
}
// if (!res?.data) {
// toast.fail('登录失败,请检查账号密码')
// return
// }
uni.showToast({
title: '登录成功',
icon: 'success',
})
// userStore.userInfo = {
// ...userStore.userInfo,
// orgid: formModel.orgid,
// userid: formModel.userid,
// token: res.data,
// }
uni.switchTab({
url: '/pages/home/index',
})
// userStore.userInfo = {
// ...userStore.userInfo,
// username,
// }
// uni.showToast({
// title: '登录成功',
// icon: 'success',
// })
// uni.switchTab({
// url: '/pages/home/index',
// })
}
catch (err: any) {
// 表单验证错误
@@ -91,7 +94,6 @@ async function onSubmit() {
}
else {
console.error(err)
toast.fail(err.message || '登录异常')
}
}
finally {
@@ -122,7 +124,7 @@ async function onSubmit() {
</view>
<view class="form-list">
<sar-form-item-plain name="orgid">
<!-- <sar-form-item-plain name="orgid">
<view class="form-label">
<text>机构码</text>
</view>
@@ -137,7 +139,7 @@ async function onSubmit() {
</template>
</sar-input>
</view>
</sar-form-item-plain>
</sar-form-item-plain> -->
<sar-form-item-plain name="userid">
<view class="form-label">
账号
@@ -1,49 +1,322 @@
<script lang="ts" setup>
import { toast } from 'sard-uniapp'
import { deleteAliyunFileApi, recognizeOcrBoxApi } from '@/request/api'
import { imageCompress, uploadFileToAliyun } from '@/utils/file'
const boxImage = ref('')
const ocrFinish = ref(false)
const isError = ref(false)
const ocrScore = ref('0.00')
const form = ref({
boxNumber: '',
boxImageUrl: '',
})
function handleChooseBox() {
uni.chooseImage({
count: 1,
success: (res) => {
if (Array.isArray(res.tempFiles) && res.tempFiles.length > 0) {
const tempFile: any = res.tempFiles[0]
boxImage.value = tempFile.path
imageCompress(tempFile.path).then((compressRes) => {
uploadFileToAliyun(compressRes.path, tempFile.name, 'image').then((res) => {
if (res.url) {
form.value.boxImageUrl = res.url
ocrFinish.value = false
toast.loading('OCR识别中,请稍等 . . .', {
overlay: true,
transparent: false,
})
recognizeOcrBoxApi({
fileUrl: form.value.boxImageUrl,
}).then((ocrRes) => {
if (ocrRes.success) {
toast.success('识别成功,请检查箱号是否正确')
const score = Number(ocrRes?.data?.score ?? 0)
ocrScore.value = `${(Math.floor(score * 10000) / 100).toFixed(2)}%`
form.value.boxNumber = ocrRes.data.boxNumber
isError.value = false
}
}).catch(() => {
isError.value = true
}).finally(() => {
ocrFinish.value = true
})
}
})
})
}
},
})
}
function handleDeleteBoxImage() {
if (!form.value.boxImageUrl) {
boxImage.value = ''
form.value.boxImageUrl = ''
form.value.boxNumber = ''
return
}
toast.loading('正在删除中 . . .', {
overlay: true,
transparent: false,
})
console.log(form.value.boxImageUrl)
deleteAliyunFileApi(form.value.boxImageUrl).then((res) => {
if (res.success) {
boxImage.value = ''
form.value.boxImageUrl = ''
form.value.boxNumber = ''
toast.success('删除成功')
}
})
}
</script>
<template>
<view class="container">
<view class="item">
<sar-tag theme="primary" mark size="large">
1、集装箱照片
</sar-tag>
<view class="g3-container">
<view class="g3-content">
<view class="step">
<view class="step-header">
<sar-tag theme="primary" mark="right" size="large">
1、集装箱号识别(OCR自动识别)
</sar-tag>
</view>
<view
style="padding: 32rpx;"
>
<sar-input
placeholder="请输入"
/>
<view class="step-content box">
<view v-if="ocrFinish" class="header ">
<sar-alert
v-if="!isError"
type="success"
show-icon
closable
:root-style="{
width: '100%',
}"
>
识别成功,请检查箱号是否正确!
<view>
准确率:{{ ocrScore }}
</view>
</sar-alert>
<sar-alert
v-else
type="danger"
show-icon
closable
:root-style="{
width: '100%',
}"
>
识别失败,请检查手动填写集装箱号
</sar-alert>
</view>
<view />
<view class="box-main">
<view v-if="!boxImage" class="box-placeholder" @click="handleChooseBox">
<sar-icon name="image" size="56rpx" color="#999" />
<text class="placeholder-text">
上传箱号图片,自动识别箱号
</text>
</view>
<view v-else class="box-image">
<wd-img
:src="boxImage"
width="100%"
height="100%"
:enable-preview="true"
/>
<view class="delete-btn" @click="handleDeleteBoxImage()">
<sar-icon name="close" size="20rpx" color="#fff" />
</view>
</view>
</view>
<view class="box-input">
<view class="header">
<view>集装箱号</view>
<view class="format">
格式: 4字母 + 7数字
</view>
</view>
<sar-input
v-model="form.boxNumber"
placeholder="请输入箱号"
/>
</view>
</view>
</view>
<view class="step">
<view class="step-header">
<sar-tag theme="primary" mark="right" size="large">
2、其它照片录入
</sar-tag>
</view>
<view class="step-content">
<sar-upload />
</view>
</view>
</view>
<view class="item">
<sar-tag theme="primary" mark size="large">
2、装货照片
</sar-tag>
</view>
<view class="actions">
<sar-button round>
确定提交
</sar-button>
<view class="g3-footer">
<view class="footer-main">
<view class="submit-btn">
确认上传
</view>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.container {
.g3-container {
display: flex;
flex-direction: column;
}
.item {
padding: 16rpx 0rpx;
height: 100%;
.g3-content {
flex: 1;
overflow-y: auto;
padding: 16rpx 0rpx;
}
.g3-footer {
width: 100%;
.footer-main {
padding: 16rpx;
}
}
}
.actions {
padding: 36rpx;
margin-top: 32rpx;
.step {
margin-bottom: 32rpx;
.step-header {
display: flex;
align-items: center;
margin-bottom: 24rpx;
}
.step-content {
padding: 0rpx 32rpx;
}
}
.box {
display: flex;
flex-direction: column;
.box-main {
height: 326rpx;
border: 1px dashed #ddd;
border-radius: 16rpx;
}
.box-placeholder {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: #ecedee;
.placeholder-text {
color: #999;
font-size: 28rpx;
margin-top: 8rpx;
}
}
.box-image {
width: 100%;
height: 100%;
position: relative;
.delete-btn {
position: absolute;
top: 12rpx;
right: 12rpx;
width: 44rpx;
height: 44rpx;
border-radius: 50%;
background: rgba(0, 0, 0, 0.5);
color: #fff;
font-size: 28rpx;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
}
}
.box-input {
margin-top: 16rpx;
display: flex;
flex-direction: column;
}
.header {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
margin-bottom: 12rpx;
width: 100%;
.format {
color: #999;
font-size: 24rpx;
}
.tip {
color: #999;
}
}
}
.submit-btn {
width: 100%;
height: 72rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 999px;
font-size: 30rpx;
font-weight: 600;
color: #fff;
background: linear-gradient(135deg, #3a6ee8, #5c8df6);
box-shadow: 0 6rpx 12rpx rgba(58, 110, 232, 0.18);
transition: all 0.15s;
}
.submit-btn:active {
transform: scale(0.98);
box-shadow: 0 3rpx 6rpx rgba(58, 110, 232, 0.15);
}
</style>
+1 -1
View File
@@ -2,7 +2,7 @@
"globalStyle": {
"navigationStyle": "default",
"navigationBarTitleText": "App",
"navigationBarBackgroundColor": "#fff",
"navigationBarBackgroundColor": "#f8f8f8",
"navigationBarTextStyle": "black",
"backgroundColor": "#FFFFFF"
},
@@ -5,7 +5,7 @@ import { useUserStore } from '@/store'
const userStore = useUserStore()
onShow(() => {
// userStore.requireLogin()
userStore.requireLogin()
})
function handleLoginOut() {
@@ -94,7 +94,11 @@ const avatarText = computed(() => {
</view>
</template>
<style lang="scss" scoped>
page {
background-color: #f1f5f9;
}
.account-header {
display: flex;
align-items: center;
@@ -4,7 +4,7 @@ import { useUserStore } from '@/store'
const userStore = useUserStore()
onShow(() => {
// userStore.requireLogin()
userStore.requireLogin()
})
const swiperCurrent = ref(0)
@@ -67,51 +67,11 @@ function toLinkUrl(url) {
<view v-if="userStore.isLogined" class="grid-container">
<sar-grid :columns="2" gap="24rpx">
<sar-grid-item
@click="toLinkUrl('/pages-sub/waybill/index')"
@click="toLinkUrl('/pages-sub/upload/index')"
>
<view class="grid-item">
<image src="/static/images/home/waybill.png" />
<text>在途运单</text>
</view>
</sar-grid-item>
<sar-grid-item
@click="toLinkUrl('/pages-sub/waybill-history/index')"
>
<view class="grid-item">
<image src="/static/images/home/HistoricalWaybill.png" />
<text>历史运单</text>
</view>
</sar-grid-item>
<sar-grid-item
@click="toLinkUrl('/pages-sub/yewu-yingfu/index')"
>
<view class="grid-item">
<image src="/static/images/home/MyExpenses.png" />
<text>业务应付</text>
</view>
</sar-grid-item>
<sar-grid-item
@click="toLinkUrl('/pages-sub/feiyong-baoxiao/index')"
>
<view class="grid-item">
<image src="/static/images/home/ExpensesClaimIndex.png" />
<text>费用报销</text>
</view>
</sar-grid-item>
<sar-grid-item
@click="toLinkUrl('/pages-sub/jiayou/index')"
>
<view class="grid-item">
<image src="/static/images/home/refuelling.png" />
<text>加油管理</text>
</view>
</sar-grid-item>
<sar-grid-item
@click="toLinkUrl('/pages-sub/cheliang-weixiu/index')"
>
<view class="grid-item">
<image src="/static/images/home/CheliangWeixiu.png" />
<text>车辆维修</text>
<text>集装箱装货采集</text>
</view>
</sar-grid-item>
</sar-grid>
@@ -127,6 +87,10 @@ function toLinkUrl(url) {
</template>
<style lang="scss" scoped>
page {
background-color: #f1f5f9;
}
.swiper-container {
position: relative;
.swiper {
+15 -159
View File
@@ -1,4 +1,6 @@
import request from './index'
import { httpPost } from './index'
const aliyunBucket = import.meta.env.VITE_ALIYUN_BUCKET
interface LoginParams {
orgid: string
@@ -7,99 +9,15 @@ interface LoginParams {
}
export function loginApi(params: LoginParams) {
return request.postForm('/login.jsp', params)
}
interface GetAutocompleteDataParams {
q: string
page: number
limit: number
viewname: string
field1: string
field2: string
userid?: string
}
export function getAutocompleteDataApi(params: GetAutocompleteDataParams) {
return request.postForm('/getAutocompleteData.jsp', params)
}
interface GetAutocompleteDataExParams {
q: string
page: number
limit: number
viewname: string
field1: string
field2: string
searchcondition: string
userid?: string
}
export function getAutocompleteDataExApi(params: GetAutocompleteDataExParams) {
return request.postForm('/getAutocompleteDataEx.jsp', params)
}
interface SaveobjtParams {
tables: any
insertValues: any
delValues: any
updateValues: any
keys: any
}
export function saveobjtApi(params: SaveobjtParams) {
return request.postForm('/saveobjt.jsp', params)
}
interface SavesubtableParams {
subtable: any
subinsertvalue: any
subdelvalue: any
subupdatevalue: any
father: any
}
export function savesubtableApi(params: SavesubtableParams) {
return request.postForm('/savesubtable.jsp', params)
}
interface SearchdataParams {
viewname: string
searchcondition: string
orderfield: string
limit?: number
}
export function searchdataApi(params: SearchdataParams) {
return request.postForm('/searchdata.jsp', params)
}
interface SearchdatapageindexParams {
viewname: string
searchcondition: string
userid: string
orderfield: string
page: number
rows: number
}
export function searchdatapageindexApi(params: SearchdatapageindexParams) {
return request.postForm(`/searchdatapageindex.jsp`, params)
}
interface DelSubRecordParams {
id: string
module: string
bucketName: string
}
export function delSubRecordApi(params: DelSubRecordParams) {
return request.postForm('/DelSubRecord.jsp', params)
return httpPost('/auth/login', params)
}
interface GetaliyunkeyParams {
orgid: string
bucket: string
}
export function getaliyunkeyApi(params: GetaliyunkeyParams) {
return request.postForm(`/getaliyunkey.jsp`, params)
return httpPost('/file/getAliyunKey', params)
}
interface AliyunpluploadParams {
@@ -112,82 +30,20 @@ interface AliyunpluploadParams {
mx_cate_id: string
}
export function aliyunpluploadApi(params: AliyunpluploadParams) {
return request.postForm(`/aliyunplupload.jsp`, params)
return httpPost(`/file/insert`, params)
}
interface LoaddatabysqlParams {
sql: string
orderfield: string
soption: string
}
export function loaddatabysqlApi(params: LoaddatabysqlParams) {
return request.postForm('/loaddatabysql.jsp', params)
}
interface GetfieldvaluebyidParams {
viewname: string
desfield: string
idfield: string
idvalue: string
}
export function getfieldvaluebyidApi(params: GetfieldvaluebyidParams) {
return request.postForm('/getfieldvaluebyid.jsp', params)
interface OcrBoxRequest {
fileUrl: string
}
interface GetdefaultdataParams {
viewname: string
}
export function getdefaultdataApi(params: GetdefaultdataParams) {
return request.postForm('/getdefaultdata.jsp', params)
export function recognizeOcrBoxApi(params: OcrBoxRequest) {
return httpPost(`/ocr/box`, params)
}
interface GetautoidParams {
moduleid: string
userid: string
}
export function getautoidApi(params: GetautoidParams) {
return request.postForm('/getautoid.jsp', params)
}
interface LoaddataParams {
soption: string
orderfield: string
viewname: string
searchcondition: string
}
export function loaddataApi(params: LoaddataParams) {
return request.postForm('/loaddata.jsp', params)
}
interface SaveLogParams {
mainTable: string
strMainUpdate: string
strMainDelete: string
subTable: string
strSubUpdate: string
strSubDelete: string
recordID: string
subID: string
Modifyb: string
Modifyh: string
}
export function saveLogApi(params: SaveLogParams) {
return request.postForm('/saveLog.jsp', params)
}
interface LoaddataAttachParams {
soption: string
orderfield: string
viewname: string
searchcondition: string
}
export function loaddataAttachApi(params: LoaddataAttachParams) {
return request.postForm('/loaddata_attach.jsp', params)
}
interface DelObjParams {
id: string
module: string
}
export function delObjApi(params: DelObjParams) {
return request.postForm('/DelObj.jsp', params)
export function deleteAliyunFileApi(fileUrl) {
return httpPost(`/file/deleteAliyunFile`, {
bucketName: aliyunBucket,
mx_mapfilename: fileUrl,
})
}
@@ -103,6 +103,7 @@ function request<T = any>(option: UniApp.RequestOptions): Promise<IResData<T>> &
}
let data: IResData<T>
try {
// 解析最外层响应
data = typeof res.data === 'string' ? JSON.parse(res.data) : res.data
@@ -119,13 +120,14 @@ function request<T = any>(option: UniApp.RequestOptions): Promise<IResData<T>> &
}
}
catch (err) {
console.log(`解析响应JSON失败:${err}`)
toast.fail('响应数据解析失败')
return reject(new Error('响应数据解析失败'))
}
if (data.code === 200) {
data.success = true
resolve(data)
}
else {
@@ -134,7 +136,7 @@ function request<T = any>(option: UniApp.RequestOptions): Promise<IResData<T>> &
}
// 登录失效处理
if (data.code === 600) {
if (data.code === 401) {
uni.showToast({ title: '请重新登录', icon: 'none' })
const pages = getCurrentPages()
@@ -150,7 +152,6 @@ function request<T = any>(option: UniApp.RequestOptions): Promise<IResData<T>> &
fail: (err) => {
if (aborted)
return reject(new Error('请求已取消'))
console.log(err)
toast.fail('网络请求失败,请联系管理人员')
reject(new Error(err.errMsg || '网络请求失败'))
@@ -171,6 +172,7 @@ function request<T = any>(option: UniApp.RequestOptions): Promise<IResData<T>> &
return promise
}
function parseFormUrlencoded(str: string) {
return str.split('&').reduce((acc, pair) => {
const [key, value] = pair.split('=')
@@ -244,4 +246,17 @@ request.postForm = <T = any>(url: string, data?: any, option?: UniApp.RequestOpt
})
}
export function httpPost<T = any>(url: string, data?: any, option?: UniApp.RequestOptions) {
return request<T>({
method: 'POST',
url,
data,
header: {
'Content-Type': 'application/json',
...(option?.header || {}),
},
...option,
})
}
export default request
@@ -8,21 +8,21 @@ export const navigateToInterceptor = {
invoke(args: UniApp.NavigateToOptions) {
const userStore = useUserStore()
// // 白名单直接放行
// if (whiteList.some(path => args.url.startsWith(path))) {
// if (args.url === '/pages-sub/login/index') {
// userStore.reset()
// }
// 白名单直接放行
if (whiteList.some(path => args.url.startsWith(path))) {
if (args.url === '/pages-sub/login/index') {
userStore.reset()
}
// return args
// }
return args
}
// // 调用 requireLogin,如果未登录,会自动提示并跳转
// const ok = userStore.requireLogin()
// 调用 requireLogin,如果未登录,会自动提示并跳转
const ok = userStore.requireLogin()
// if (!ok) {
// return false // 阻止路由跳转
// }
if (!ok) {
return false // 阻止路由跳转
}
return args // 已登录则放行
},
@@ -1,3 +1,3 @@
{
"g3cd": "http://192.168.1.137:8083/g3cdjtd-server/h5"
"g3hd": "http://192.168.1.137:8084/api"
}
@@ -1,9 +1,9 @@
@font-face {
font-family: 'iconfont'; /* Project id 5092914 */
font-family: 'iconfont'; /* Project id 5142758 */
src:
url('data:application/x-font-woff2;charset=utf-8;base64,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')
url('data:application/x-font-woff2;charset=utf-8;base64,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')
format('woff2'),
url('//at.alicdn.com/t/c/font_5092914_knn9qrc14j8.ttf?t=1766557052211') format('truetype');
url('//at.alicdn.com/t/c/font_5142758_pgr9uja0qt.ttf?t=1773887288142') format('truetype');
}
.iconfont {
@@ -14,16 +14,16 @@
-moz-osx-font-smoothing: grayscale;
}
.iconfont-sijiguanli:before {
content: '\e61c';
.iconfont-fasongtijiao:before {
content: '\e693';
}
.iconfont-jindu:before {
content: '\e7b0';
.iconfont-tupian:before {
content: '\e8ba';
}
.iconfont-jihuatiaodu:before {
content: '\e7b6';
.iconfont-OCRshibie:before {
content: '\e658';
}
.iconfont-save:before {
@@ -57,3 +57,15 @@
.iconfont-system:before {
content: '\e703';
}
.iconfont-jihuatiaodu:before {
content: '\e7b6';
}
.iconfont-jindu:before {
content: '\e7b0';
}
.iconfont-sijiguanli:before {
content: '\e61c';
}
@@ -6,7 +6,7 @@ page,
--sar-input-border-color: #ddd;
// --sar-primary: #34495e;
--sar-primary: #4d80f0;
--sar-rounded: 4rpx;
--sar-rounded: 8rpx;
--sar-dialog-title-font-size: 42rpx;
--sar-dialog-message-font-size: 36rpx;
--sar-dialog-title-headed-font-size: 38rpx;
@@ -38,3 +38,14 @@ uni-toast {
.sar-radio-popout__scroll {
height: var(--sar-radio-popout-max-height);
}
.sar-upload__wrapper > * {
margin-right: 0.5rem;
margin-bottom: 0.5rem;
}
uni-page-body {
height: 100%;
> view:first-child {
height: 100%;
}
}
+1
View File
@@ -9,6 +9,7 @@ declare global {
code: number
message: string
data: T
success: boolean
}
// uni.uploadFile文件上传参数
@@ -1,6 +1,5 @@
import { toast } from 'sard-uniapp'
import { getaliyunkeyApi, loaddataAttachApi } from '@/request/api'
import { useUserStore } from '@/store'
import { getaliyunkeyApi } from '@/request/api'
import { isApp, isH5, isMpWeixin } from './platform'
const aliyunBucket = import.meta.env.VITE_ALIYUN_BUCKET
@@ -132,11 +131,8 @@ export async function uploadFileToAliyun(
fileName: string,
fileType: any,
): Promise<AliyunUploadResult> {
const userStore = useUserStore()
// 获取 OSS 临时上传凭证
const keyRes = await getaliyunkeyApi({
orgid: userStore.userInfo.orgid,
bucket: aliyunBucket,
})
const { accessid, callback, dir, host, policy, signature } = keyRes.data
@@ -421,24 +417,3 @@ function downloadAppMedia(fileUrl: string, type: 'image' | 'video') {
}
})
}
export function checkUploadFile(fatherId, modUid, cateId = '') {
let searchcondition = `father = '${fatherId}' and mx_moduleid = '${modUid}'`
if (cateId !== '') {
searchcondition += ` and mx_cate_id = '${cateId}'`
}
return loaddataAttachApi({
viewname: 'bf_files',
searchcondition,
orderfield: 'mx_xh',
soption: '',
}).then((res) => {
console.log(res)
console.log(res.data.length)
return res.data.length > 0
}).catch(() => {
return false
})
}
File diff suppressed because it is too large. Load diff
+18
View File
@@ -0,0 +1,18 @@
from paddleocr import PaddleOCR
# 初始化 PaddleOCR 实例
ocr = PaddleOCR(
use_doc_orientation_classify=False,
use_doc_unwarping=False,
use_textline_orientation=False,
text_det_limit_side_len=736, # 设置图像边长限制
)
# 对示例图像执行 OCR 推理
result = ocr.predict(
input="./8B457A96D0F016EAB6EB6D24AD70406C.jpg")
# 可视化结果并保存 json 结果
for res in result:
res.print()
res.save_to_img("output")
res.save_to_json("output")
@@ -109,7 +109,6 @@ export default defineConfig(({ command, mode }) => {
},
},
server: {
post: 3000,
hmr: true,
port: Number.parseInt(VITE_APP_PORT, 10),
https: false,