From a984ca9574198775b8d56e54b6e07f9231ece747 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 26 Jan 2026 19:59:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=94=A8=E6=88=B7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=AE=BE=E5=A4=87=E7=BB=91=E5=AE=9A=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=B8=80=E5=AF=B9=E5=A4=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.local | 6 +- package-lock.json | 283 ++++++++++++++++++-------------- src/api/product/device/index.ts | 5 + src/api/system/user/index.ts | 16 ++ src/views/system/user/index.vue | 43 ++++- 5 files changed, 229 insertions(+), 124 deletions(-) diff --git a/.env.local b/.env.local index 638b6873..e6372830 100644 --- a/.env.local +++ b/.env.local @@ -2,8 +2,8 @@ NODE_ENV=development VITE_DEV=true # 请求路径 -# VITE_BASE_URL= http://116.148.200.224:48089 -VITE_BASE_URL= http://localhost:8089 +# VITE_BASE_URL=http://116.148.200.224:48089 +VITE_BASE_URL=http://localhost:48089 # VITE_BASE_URL='https://xrhomeapi.asset-cloud.com.cn' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务 VITE_UPLOAD_TYPE=server @@ -30,4 +30,4 @@ VITE_MALL_H5_DOMAIN='http://localhost:3000' VITE_APP_CAPTCHA_ENABLE='true' # GoView域名 -VITE_GOVIEW_URL='http://127.0.0.1:3000' \ No newline at end of file +VITE_GOVIEW_URL='http://127.0.0.1:3000' diff --git a/package-lock.json b/package-lock.json index bf2bf168..61ab283a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2424,9 +2424,9 @@ } }, "node_modules/@element-plus/icons-vue": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", - "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", "peerDependencies": { "vue": "^3.2.0" } @@ -2850,9 +2850,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -2918,65 +2918,65 @@ "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==" }, "node_modules/@form-create/component-elm-checkbox": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-checkbox/-/component-elm-checkbox-3.2.23.tgz", - "integrity": "sha512-MgSOl/YtTVtpByW+dEARlgfo2mtR1NsboDT6cDVJVnXRpWvGEBCXFb7/R02cvnl2ETq5LXUpZUYRYnapUY2nJQ==", + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-checkbox/-/component-elm-checkbox-3.2.31.tgz", + "integrity": "sha512-XQT66E+nRXA2KGZwU1TujSGtICevDUUwks8K+79xs214lofva+rMaRFtrpZYXFgt0+molMUSOl/wc9dOrNr+1Q==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-frame": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-frame/-/component-elm-frame-3.2.23.tgz", - "integrity": "sha512-8GSlI+9Jq4WhozxHz6Zd7WHjaoedSktzH9GVVkP8E+GELjf/VGsJP8jXfsU/Fvpju7cSxRoLNb51KmfdOZc8fA==", + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-frame/-/component-elm-frame-3.2.31.tgz", + "integrity": "sha512-8ub7SnIRVV6YVIBXHps1A7hi7ivrjm8v1qNIcUOndUliXjP90PZ02YUZkVNh12aX8LNhGtuq8kLZqtdSdh78uA==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-group": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-group/-/component-elm-group-3.2.23.tgz", - "integrity": "sha512-mNlg3ox4jVsCrAk57WbzgU4OZQdBeRv3kgkk2QjtFGjt7FXqDGbWYdiy+0JpdNwsEEkkIEP3Ou4kZ6WburTOcQ==", + "version": "3.2.34", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-group/-/component-elm-group-3.2.34.tgz", + "integrity": "sha512-/067dB7Ss9UNLCKfTKpazYwVlpIeuAPGfhO4kcVx+bqr38fMuh2zuQNAqqRk5hsNC/Y8wOnPshT/bU1L8AQOGA==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-radio": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-radio/-/component-elm-radio-3.2.23.tgz", - "integrity": "sha512-cpqTdaljtEhbJwj8tvbUxoYmJO3VcOzYc514zPml9TB8FtwGS0sVJIu3KoNMC34Kna3EV5+uNdy+PkowtqT4bQ==", + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-radio/-/component-elm-radio-3.2.31.tgz", + "integrity": "sha512-hm/+tuBPf6bH1iw1xP80JXGe9rhUTovMcQpDfLMNkrdXrLZJ618sKXzID1nId03QKYcocnOHvkbX0NuNPila+A==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-select": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-select/-/component-elm-select-3.2.23.tgz", - "integrity": "sha512-RPFKH1f3mMqtL0dOS8fUuuUS6EnpLP/rkyQLHjB3OUX+cHz/JKkSjVtKQlqa5jDe+h9iz/9aPsM2xzUoc/WlRQ==", + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-select/-/component-elm-select-3.2.37.tgz", + "integrity": "sha512-kbxYHdA5KOVmvD9HIBJZWntjpRXFf8uO2+uSjolamCmKh+St0RDttdUMRNjXDxroHHrdtJMIP9K778/BCHYk4g==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-tree": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-tree/-/component-elm-tree-3.2.23.tgz", - "integrity": "sha512-BFadEW/Khfr7APd/UgzgIkVfAgHqGYwOqnMzyS86VCEivXzSDUQm5SEEyuEA6DkJcysG3cWReSW4nXu0HxdhPA==", + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-tree/-/component-elm-tree-3.2.31.tgz", + "integrity": "sha512-cLWwqT+3ES5FSRywQ7HIh05jvEeMPhoQnIxcSbLnzB24tS2eM2x5DhbhjJ02wsZGPvfcO4m3BBp0fgv1RKww1g==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-elm-upload": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/component-elm-upload/-/component-elm-upload-3.2.23.tgz", - "integrity": "sha512-eIcgvoLv9AviT5ehoNmi/PatfZ7m8lb5S5sUW3j5nZLhkYQwXox04kjd6n9I/2KD4YBxHw7YHbR+oebC81npcw==", + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/component-elm-upload/-/component-elm-upload-3.2.31.tgz", + "integrity": "sha512-2XJr7x8gPf+U0FnPYLyPt0+qLG9+lZSO7tlInT0fw7TJF9pWzrtxicnX6sWvd4EoWCNzYU13HXL33Aq1zP2IeA==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" } }, "node_modules/@form-create/component-subform": { - "version": "3.1.34", - "resolved": "https://registry.npmmirror.com/@form-create/component-subform/-/component-subform-3.1.34.tgz", - "integrity": "sha512-OJcFH/7MTHx7JLEjDK/weS27qfuFWAI+OK+gXTJ2jIt9aZkGWF/EWkjetiJLt5a0KMw4Z15wOS2XCY9pVK9vlA==" + "version": "3.2.34", + "resolved": "https://registry.npmjs.org/@form-create/component-subform/-/component-subform-3.2.34.tgz", + "integrity": "sha512-h1AiMdpHfMr3s1AuX3L5BChc6Na5Megp/UU/FOCbAqt6+XEEEAKWt+2p6X1MMOJRLT+EI8ZRBcUfVbcw4/dHSQ==" }, "node_modules/@form-create/component-wangeditor": { "version": "3.2.14", @@ -2987,57 +2987,88 @@ } }, "node_modules/@form-create/core": { - "version": "3.2.24", - "resolved": "https://registry.npmmirror.com/@form-create/core/-/core-3.2.24.tgz", - "integrity": "sha512-iz1j4wqmfs6V4L6gC7hsFFchsjtaknD4gjCwW8ebh33mojyrYEfVYev1bzgTeRGGcwhtT9Q27IAStgdlowbavQ==", + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@form-create/core/-/core-3.2.37.tgz", + "integrity": "sha512-1Wwr+6xMrL/6XfeeZJtlhMIKOWjwdUxuTiOJEApk+Q+Stsaz15LtKqsffyZTs7mN5DajUGnDxW8MP/myYgABXw==", "dependencies": { - "@form-create/utils": "^3.2.23" + "@form-create/utils": "^3.2.31" }, "peerDependencies": { "vue": "^3.1.0" } }, "node_modules/@form-create/designer": { - "version": "3.2.11", - "resolved": "https://registry.npmmirror.com/@form-create/designer/-/designer-3.2.11.tgz", - "integrity": "sha512-5mPyeHFOj8n01LOVhibjX8OujD6RYBH8TF2Ol7n8QxaSqIcAFTz9PADIiX982REPxiZ6I8BqZa2t0OtYQtETpA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@form-create/designer/-/designer-3.4.0.tgz", + "integrity": "sha512-g1vUqX977lIHuWtAIhgLKZGZw87YClA1sJnLOFkweGA5CBJDhqNhvC4N0M1idkuKmCJtS+aweCYmrL2FapjDsw==", "dependencies": { - "@form-create/component-wangeditor": "^3.1", - "@form-create/element-ui": "^3.2.19", - "@form-create/utils": "^3.2.0", + "@form-create/component-wangeditor": "^3.2.14", + "@form-create/element-ui": "^3.2.33", + "@form-create/utils": "^3.2.31", "codemirror": "^6.65.7", - "element-plus": "^2.8.4", + "element-plus": "^2.11.1", "js-beautify": "^1.15.1", + "marked": "^17.0.0", + "signature_pad": "^5.0.10", "vuedraggable": "4.1.0" }, "peerDependencies": { - "vue": "^3.1.5" + "vue": "^3.5" } }, - "node_modules/@form-create/element-ui": { - "version": "3.2.24", - "resolved": "https://registry.npmmirror.com/@form-create/element-ui/-/element-ui-3.2.24.tgz", - "integrity": "sha512-SdLqe/adm8TwNuY9yQW7ddrvyQk47aBtv2bBZEEn759btv38xakG2jqa6l4bIJ05QbnChyhhYFy3zNakwhykdQ==", + "node_modules/@form-create/designer/node_modules/element-plus": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.13.1.tgz", + "integrity": "sha512-eG4BDBGdAsUGN6URH1PixzZb0ngdapLivIk1meghS1uEueLvQ3aljSKrCt5x6sYb6mUk8eGtzTQFgsPmLavQcA==", "dependencies": { - "@form-create/component-elm-checkbox": "^3.2.23", - "@form-create/component-elm-frame": "^3.2.23", - "@form-create/component-elm-group": "^3.2.23", - "@form-create/component-elm-radio": "^3.2.23", - "@form-create/component-elm-select": "^3.2.23", - "@form-create/component-elm-tree": "^3.2.23", - "@form-create/component-elm-upload": "^3.2.23", - "@form-create/component-subform": "^3.1.34", - "@form-create/core": "^3.2.24", - "@form-create/utils": "^3.2.23" + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^10.11.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.3.0" + } + }, + "node_modules/@form-create/designer/node_modules/signature_pad": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-5.1.3.tgz", + "integrity": "sha512-zyxW5vuJVnQdGcU+kAj9FYl7WaAunY3kA5S7mPg0xJiujL9+sPAWfSQHS5tXaJXDUa4FuZeKhfdCDQ6K3wfkpQ==" + }, + "node_modules/@form-create/element-ui": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/@form-create/element-ui/-/element-ui-3.2.37.tgz", + "integrity": "sha512-KfC+a1zE1SfEpiZR3i+C95GPsoXajrT/b76bvToI6Nxk4SKSG+cqNyrS4FnRU0WbJlxjF9lzPJ+oejOLmqPjmQ==", + "dependencies": { + "@form-create/component-elm-checkbox": "^3.2.31", + "@form-create/component-elm-frame": "^3.2.31", + "@form-create/component-elm-group": "^3.2.34", + "@form-create/component-elm-radio": "^3.2.31", + "@form-create/component-elm-select": "^3.2.37", + "@form-create/component-elm-tree": "^3.2.31", + "@form-create/component-elm-upload": "^3.2.31", + "@form-create/component-subform": "^3.2.34", + "@form-create/core": "^3.2.37", + "@form-create/utils": "^3.2.31" }, "peerDependencies": { "vue": "^3.1.0" } }, "node_modules/@form-create/utils": { - "version": "3.2.23", - "resolved": "https://registry.npmmirror.com/@form-create/utils/-/utils-3.2.23.tgz", - "integrity": "sha512-bw6Oj6BbEw8MsZQd0GRtVlWIrkXiDbHRLJ1ytZ8GwH+YqeCR413eCcve2MQMQFTpLtSOa3QvfrBPwTbIZh7R4w==" + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@form-create/utils/-/utils-3.2.31.tgz", + "integrity": "sha512-YcisHXuQEF0r9y2VKS2CB2nMQ2q8EkKvQXp4nPR9sjbsCabPZOXq2n2MrkWDMhwQNwep08/0NCf7z0wslHzyWQ==" }, "node_modules/@gera2ld/jsx-dom": { "version": "2.2.2", @@ -3063,9 +3094,9 @@ } }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -4650,9 +4681,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.17.17", - "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.17.tgz", - "integrity": "sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==" + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" }, "node_modules/@types/lodash-es": { "version": "4.17.12", @@ -7083,7 +7114,7 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/atob": { @@ -7159,12 +7190,12 @@ } }, "node_modules/axios": { - "version": "1.9.0", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz", - "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.3.tgz", + "integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -7424,9 +7455,9 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dependencies": { "balanced-match": "^1.0.0" } @@ -7977,7 +8008,7 @@ }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" @@ -8827,9 +8858,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==" }, "node_modules/de-indent": { "version": "1.0.2", @@ -8957,7 +8988,7 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" @@ -9837,9 +9868,9 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -10445,9 +10476,9 @@ } }, "node_modules/flat-cache/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -10578,13 +10609,14 @@ } }, "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -10807,9 +10839,9 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -12058,9 +12090,9 @@ } }, "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "dependencies": { "balanced-match": "^1.0.0", @@ -12158,9 +12190,9 @@ "dev": true }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dependencies": { "argparse": "^2.0.1" }, @@ -12603,14 +12635,14 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" }, "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" }, "node_modules/lodash-unified": { "version": "1.0.3", @@ -12959,6 +12991,17 @@ "markdown-it": "bin/markdown-it.mjs" } }, + "node_modules/marked": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-17.0.1.tgz", + "integrity": "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/markmap-common": { "version": "0.16.0", "resolved": "https://registry.npmmirror.com/markmap-common/-/markmap-common-0.16.0.tgz", @@ -13127,7 +13170,7 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" @@ -13143,7 +13186,7 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" @@ -13182,9 +13225,9 @@ "integrity": "sha512-VLMYQI5+FcD9Ad24VcB08uA83B07OhueAlZ88jBK6PyupTvEJwllTMUqMy0wPGYs7pZUEtEEMWdHB63m3LtEcg==" }, "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.2.tgz", + "integrity": "sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==", "dependencies": { "dom-walk": "^0.1.0" } @@ -14389,9 +14432,9 @@ } }, "node_modules/preact": { - "version": "10.26.8", - "resolved": "https://registry.npmmirror.com/preact/-/preact-10.26.8.tgz", - "integrity": "sha512-1nMfdFjucm5hKvq0IClqZwK4FJkGXhRrQstOQ3P4vp8HxKrJEMFcY6RdBRVTdfQS/UlnX6gfbPuTvaqx/bDoeQ==", + "version": "10.28.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz", + "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -14680,9 +14723,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "dependencies": { "side-channel": "^1.1.0" }, diff --git a/src/api/product/device/index.ts b/src/api/product/device/index.ts index 50dd6a9e..ceb7afcd 100644 --- a/src/api/product/device/index.ts +++ b/src/api/product/device/index.ts @@ -49,4 +49,9 @@ export const DeviceApi = { exportDevice: async (params) => { return await request.download({ url: `/product/device/export-excel`, params }) }, + + // 获取设备下拉列表(精简,自动根据当前登录用户过滤) + getDeviceListAllSimple: async () => { + return await request.get({ url: `/product/device/list-all-simple` }) + }, } diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts index 80af5a20..1e8bbebb 100644 --- a/src/api/system/user/index.ts +++ b/src/api/system/user/index.ts @@ -14,6 +14,7 @@ export interface UserVO { status: number remark: string deviceId: string + deviceNames?: string // 绑定的设备名称列表,逗号分隔 loginDate: Date createTime: Date } @@ -80,3 +81,18 @@ export const updateUserStatus = (id: number, status: number) => { export const getSimpleUserList = (): Promise => { return request.get({ url: '/system/user/simple-list' }) } + +// 绑定用户设备 +export const bindUserDevices = (data: { userId: number; deviceIds: number[] }) => { + return request.post({ url: '/system/user/bind-devices', data }) +} + +// 解绑用户设备 +export const unbindUserDevices = (data: { userId: number; deviceIds: number[] }) => { + return request.delete({ url: '/system/user/unbind-devices', data }) +} + +// 获取用户绑定的设备ID列表 +export const getUserDeviceIds = (userId: number) => { + return request.get({ url: '/system/user/get-device-ids?userId=' + userId }) +} \ No newline at end of file diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 6b7e3a64..7730979c 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -127,6 +127,21 @@ /> + + +