From 035cc138ebb5c2dcd2737bff863dde5ce06cb842 Mon Sep 17 00:00:00 2001 From: cjb <646858191@qq.com> Date: Sun, 4 May 2025 10:59:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 + package.json | 2 + pnpm-lock.yaml | 203 +++++++++++++++++- src/api/login.ts | 2 +- src/api/operation/wxuser.ts | 22 ++ src/api/order/account.ts | 11 +- src/api/swapstation/video.ts | 22 ++ src/api/systemSet/operator.ts | 2 +- src/api/systemSet/role.ts | 2 +- src/api/systemSet/user.ts | 13 ++ src/main.ts | 5 + src/stores/user.ts | 3 +- src/views/order/replabatt/index.vue | 4 +- src/views/swapstation/hdz/index.vue | 6 +- src/views/swapstation/video/index.vue | 110 ++++++++++ src/views/system/operator/index.vue | 4 +- src/views/system/role/index.vue | 4 +- src/views/system/user/fphdz.vue | 197 +++++++++++++++++ src/views/system/user/index.vue | 291 ++++++++++++++++++-------- src/views/vehicle/car/index.vue | 8 + src/views/vehicle/sepaaccou/index.vue | 211 +++++++++++++++++++ src/views/vehicle/wxuser/index.vue | 159 +++++++++++++- 22 files changed, 1178 insertions(+), 106 deletions(-) create mode 100644 src/api/swapstation/video.ts create mode 100644 src/views/swapstation/video/index.vue create mode 100644 src/views/system/user/fphdz.vue create mode 100644 src/views/vehicle/sepaaccou/index.vue diff --git a/.env.development b/.env.development index 96627d7..64674e4 100644 --- a/.env.development +++ b/.env.development @@ -10,3 +10,6 @@ VITE_APP_BASE_API = 'http://192.168.5.213:9100/gateway' #VITE_APP_BASE_API = 'http://192.168.7.152:9100/gateway' #VITE_APP_BASE_API = '/dev-api' #VITE_APP_BASE_API = 'https://api.evo-techina.com' + + + diff --git a/package.json b/package.json index fbfb3d9..e41e872 100644 --- a/package.json +++ b/package.json @@ -46,12 +46,14 @@ "screenfull": "^6.0.2", "splitpanes": "^3.1.5", "tiny-svg": "^4.0.0", + "video.js": "^8.22.0", "vue": "~3.3.4", "vue-cropper": "^1.1.1", "vue-demi": "^0.14.7", "vue-jsonp": "^2.0.0", "vue-qqmap": "^1.1.1", "vue-router": "^4.2.4", + "vue-video-player": "^6.0.0", "zeebe-bpmn-moddle": "^1.1.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11b302b..33fff54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,6 +107,9 @@ importers: tiny-svg: specifier: ^4.0.0 version: 4.1.2 + video.js: + specifier: ^8.22.0 + version: 8.22.0 vue: specifier: ~3.3.4 version: 3.3.13(typescript@5.0.4) @@ -125,6 +128,9 @@ importers: vue-router: specifier: ^4.2.4 version: 4.4.5(vue@3.3.13(typescript@5.0.4)) + vue-video-player: + specifier: ^6.0.0 + version: 6.0.0(@types/video.js@7.3.58)(video.js@8.22.0)(vue@3.3.13(typescript@5.0.4)) zeebe-bpmn-moddle: specifier: ^1.1.0 version: 1.6.0 @@ -216,7 +222,7 @@ packages: engines: {node: '>=6.9.0'} '@babel/runtime@7.25.6': - resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.25.6.tgz} engines: {node: '>=6.9.0'} '@babel/types@7.25.6': @@ -593,6 +599,9 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/video.js@7.3.58': + resolution: {integrity: sha512-1CQjuSrgbv1/dhmcfQ83eVyYbvGyqhTvb2Opxr0QCV+iJ4J6/J+XWQ3Om59WiwCd1MN3rDUHasx5XRrpUtewYQ==, tarball: https://registry.npmmirror.com/@types/video.js/-/video.js-7.3.58.tgz} + '@types/web-bluetooth@0.0.16': resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} @@ -677,6 +686,26 @@ packages: peerDependencies: '@uppy/core': ^2.3.3 + '@videojs-player/vue@1.0.0': + resolution: {integrity: sha512-WonTezRfKu3fYdQLt/ta+nuKH6gMZUv8l40Jke/j4Lae7IqeO/+lLAmBnh3ni88bwR+vkFXIlZ2Ci7VKInIYJg==, tarball: https://registry.npmmirror.com/@videojs-player/vue/-/vue-1.0.0.tgz} + peerDependencies: + '@types/video.js': 7.x + video.js: 7.x + vue: 3.x + + '@videojs/http-streaming@3.17.0': + resolution: {integrity: sha512-Ch1P3tvvIEezeZXyK11UfWgp4cWKX4vIhZ30baN/lRinqdbakZ5hiAI3pGjRy3d+q/Epyc8Csz5xMdKNNGYpcw==, tarball: https://registry.npmmirror.com/@videojs/http-streaming/-/http-streaming-3.17.0.tgz} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^8.19.0 + + '@videojs/vhs-utils@4.1.1': + resolution: {integrity: sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==, tarball: https://registry.npmmirror.com/@videojs/vhs-utils/-/vhs-utils-4.1.1.tgz} + engines: {node: '>=8', npm: '>=5'} + + '@videojs/xhr@2.7.0': + resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==, tarball: https://registry.npmmirror.com/@videojs/xhr/-/xhr-2.7.0.tgz} + '@vitejs/plugin-vue@3.2.0': resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -932,6 +961,10 @@ packages: slate: ^0.72.0 snabbdom: ^3.1.0 + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==, tarball: https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz} + engines: {node: '>=10.0.0'} + abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -953,6 +986,9 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + aes-decrypter@4.0.2: + resolution: {integrity: sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==, tarball: https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-4.0.2.tgz} + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -1398,6 +1434,9 @@ packages: dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==, tarball: https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz} + dom7@3.0.0: resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==} @@ -1899,6 +1938,9 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==, tarball: https://registry.npmmirror.com/global/-/global-4.4.0.tgz} + globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -2125,6 +2167,9 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==, tarball: https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2356,6 +2401,9 @@ packages: resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} engines: {node: '>=12'} + m3u8-parser@7.2.0: + resolution: {integrity: sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==, tarball: https://registry.npmmirror.com/m3u8-parser/-/m3u8-parser-7.2.0.tgz} + magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} @@ -2420,6 +2468,9 @@ packages: min-dash@4.2.1: resolution: {integrity: sha512-to+unsToePnm7cUeR9TrMzFlETHd/UXmU+ELTRfWZj5XGT41KF6X3L233o3E/GdEs3sk2Tbw/lOLD1avmWkg8A==} + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==, tarball: https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz} + min-dom@4.2.1: resolution: {integrity: sha512-TMoL8SEEIhUWYgkj7XMSgxmwSyGI+4fP2KFFGnN3FbHfbGHVdsLYSz8LoIsgPhz4dWRmLvxWWSMgzZMJW5sZuA==} @@ -2442,12 +2493,21 @@ packages: moddle@6.2.3: resolution: {integrity: sha512-bLVN+ZHL3aKnhxc19XtjUfvdJsS3EsiEJC7bT6YPD11qYmTzvsxrGgyYz1Ouof7TZuGw0lDJ1OLmEnxcpQWk3Q==} + mpd-parser@1.3.1: + resolution: {integrity: sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==, tarball: https://registry.npmmirror.com/mpd-parser/-/mpd-parser-1.3.1.tgz} + hasBin: true + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mux.js@7.1.0: + resolution: {integrity: sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==, tarball: https://registry.npmmirror.com/mux.js/-/mux.js-7.1.0.tgz} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + namespace-emitter@2.0.1: resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==} @@ -2638,6 +2698,10 @@ packages: typescript: optional: true + pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==, tarball: https://registry.npmmirror.com/pkcs7/-/pkcs7-1.0.4.tgz} + hasBin: true + posix-character-classes@0.1.1: resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} engines: {node: '>=0.10.0'} @@ -2700,6 +2764,10 @@ packages: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, tarball: https://registry.npmmirror.com/process/-/process-0.11.10.tgz} + engines: {node: '>= 0.6.0'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -2749,7 +2817,7 @@ packages: engines: {node: '>= 6'} regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz} regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} @@ -3201,6 +3269,21 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + video.js@8.22.0: + resolution: {integrity: sha512-xge2kpjsvC0zgFJ1cqt+wTqsi21+huFswlonPFh7qiplypsb4FN/D2Rz6bWdG/S9eQaPHfWHsarmJL/7D3DHoA==, tarball: https://registry.npmmirror.com/video.js/-/video.js-8.22.0.tgz} + + videojs-contrib-quality-levels@4.1.0: + resolution: {integrity: sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==, tarball: https://registry.npmmirror.com/videojs-contrib-quality-levels/-/videojs-contrib-quality-levels-4.1.0.tgz} + engines: {node: '>=16', npm: '>=8'} + peerDependencies: + video.js: ^8 + + videojs-font@4.2.0: + resolution: {integrity: sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==, tarball: https://registry.npmmirror.com/videojs-font/-/videojs-font-4.2.0.tgz} + + videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==, tarball: https://registry.npmmirror.com/videojs-vtt.js/-/videojs-vtt.js-0.15.5.tgz} + vite-plugin-svg-icons@2.0.1: resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: @@ -3318,6 +3401,13 @@ packages: peerDependencies: typescript: '*' + vue-video-player@6.0.0: + resolution: {integrity: sha512-WP47OtefsjMEReRCIKIL3tRRgH/PyNm8ELjsbYgr/WWrYAj5Ih9Adzkzp+ylYOI/v57jJ4O7O4XkbXBCmsTqNw==, tarball: https://registry.npmmirror.com/vue-video-player/-/vue-video-player-6.0.0.tgz} + peerDependencies: + '@types/video.js': 7.x + video.js: 7.x + vue: 3.x + vue@2.7.16: resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==} deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. @@ -3796,6 +3886,8 @@ snapshots: '@types/tough-cookie@4.0.5': {} + '@types/video.js@7.3.58': {} + '@types/web-bluetooth@0.0.16': {} '@types/web-bluetooth@0.0.20': {} @@ -3915,6 +4007,34 @@ snapshots: '@uppy/utils': 4.1.3 nanoid: 3.3.7 + '@videojs-player/vue@1.0.0(@types/video.js@7.3.58)(video.js@8.22.0)(vue@3.3.13(typescript@5.0.4))': + dependencies: + '@types/video.js': 7.3.58 + video.js: 8.22.0 + vue: 3.3.13(typescript@5.0.4) + + '@videojs/http-streaming@3.17.0(video.js@8.22.0)': + dependencies: + '@babel/runtime': 7.25.6 + '@videojs/vhs-utils': 4.1.1 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + video.js: 8.22.0 + + '@videojs/vhs-utils@4.1.1': + dependencies: + '@babel/runtime': 7.25.6 + global: 4.4.0 + + '@videojs/xhr@2.7.0': + dependencies: + '@babel/runtime': 7.25.6 + global: 4.4.0 + is-function: 1.0.2 + '@vitejs/plugin-vue@3.2.0(vite@4.5.5(@types/node@16.18.108)(less@4.2.0))(vue@3.3.13(typescript@5.0.4))': dependencies: vite: 4.5.5(@types/node@16.18.108)(less@4.2.0) @@ -4265,6 +4385,8 @@ snapshots: slate: 0.72.8 snabbdom: 3.6.2 + '@xmldom/xmldom@0.8.10': {} + abab@2.0.6: {} acorn-globals@7.0.1: @@ -4282,6 +4404,13 @@ snapshots: acorn@8.12.1: {} + aes-decrypter@4.0.2: + dependencies: + '@babel/runtime': 7.25.6 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + pkcs7: 1.0.4 + agent-base@6.0.2: dependencies: debug: 4.3.7 @@ -4786,6 +4915,8 @@ snapshots: domhandler: 4.3.1 entities: 2.2.0 + dom-walk@0.1.2: {} + dom7@3.0.0: dependencies: ssr-window: 3.0.0 @@ -5418,6 +5549,11 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + global@4.4.0: + dependencies: + min-document: 2.19.0 + process: 0.11.10 + globals@13.24.0: dependencies: type-fest: 0.20.2 @@ -5640,6 +5776,8 @@ snapshots: is-extglob@2.1.1: {} + is-function@1.0.2: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -5876,6 +6014,12 @@ snapshots: luxon@3.5.0: {} + m3u8-parser@7.2.0: + dependencies: + '@babel/runtime': 7.25.6 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + magic-string@0.30.11: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -5944,6 +6088,10 @@ snapshots: min-dash@4.2.1: {} + min-document@2.19.0: + dependencies: + dom-walk: 0.1.2 + min-dom@4.2.1: dependencies: component-event: 0.2.1 @@ -5976,10 +6124,22 @@ snapshots: dependencies: min-dash: 4.2.1 + mpd-parser@1.3.1: + dependencies: + '@babel/runtime': 7.25.6 + '@videojs/vhs-utils': 4.1.1 + '@xmldom/xmldom': 0.8.10 + global: 4.4.0 + ms@2.0.0: {} ms@2.1.3: {} + mux.js@7.1.0: + dependencies: + '@babel/runtime': 7.25.6 + global: 4.4.0 + namespace-emitter@2.0.1: {} nanoid@3.3.7: {} @@ -6158,6 +6318,10 @@ snapshots: optionalDependencies: typescript: 5.0.4 + pkcs7@1.0.4: + dependencies: + '@babel/runtime': 7.25.6 + posix-character-classes@0.1.1: {} possible-typed-array-names@1.0.0: {} @@ -6219,6 +6383,8 @@ snapshots: prismjs@1.29.0: {} + process@0.11.10: {} + proxy-from-env@1.1.0: {} prr@1.0.1: @@ -6753,6 +6919,32 @@ snapshots: vary@1.1.2: {} + video.js@8.22.0: + dependencies: + '@babel/runtime': 7.25.6 + '@videojs/http-streaming': 3.17.0(video.js@8.22.0) + '@videojs/vhs-utils': 4.1.1 + '@videojs/xhr': 2.7.0 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + videojs-contrib-quality-levels: 4.1.0(video.js@8.22.0) + videojs-font: 4.2.0 + videojs-vtt.js: 0.15.5 + + videojs-contrib-quality-levels@4.1.0(video.js@8.22.0): + dependencies: + global: 4.4.0 + video.js: 8.22.0 + + videojs-font@4.2.0: {} + + videojs-vtt.js@0.15.5: + dependencies: + global: 4.4.0 + vite-plugin-svg-icons@2.0.1(vite@4.5.5(@types/node@16.18.108)(less@4.2.0)): dependencies: '@types/svgo': 2.6.4 @@ -6852,6 +7044,13 @@ snapshots: '@volar/vue-typescript': 0.38.9 typescript: 5.0.4 + vue-video-player@6.0.0(@types/video.js@7.3.58)(video.js@8.22.0)(vue@3.3.13(typescript@5.0.4)): + dependencies: + '@types/video.js': 7.3.58 + '@videojs-player/vue': 1.0.0(@types/video.js@7.3.58)(video.js@8.22.0)(vue@3.3.13(typescript@5.0.4)) + video.js: 8.22.0 + vue: 3.3.13(typescript@5.0.4) + vue@2.7.16: dependencies: '@vue/compiler-sfc': 2.7.16 diff --git a/src/api/login.ts b/src/api/login.ts index 9ec0cef..8846f3b 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -91,5 +91,5 @@ export function checktoken() { return server.requestT({ url: "/oauth2/login/checktoken", method: "post" - }); + },false); } diff --git a/src/api/operation/wxuser.ts b/src/api/operation/wxuser.ts index 03e1d53..7a47c0e 100644 --- a/src/api/operation/wxuser.ts +++ b/src/api/operation/wxuser.ts @@ -49,3 +49,25 @@ export function update(data:Addobj) { data }) } + + //审核 + export function examine(data:any) { + return server.request({ + url: '/cloud/wechat/user/alterState', + method: 'post', + data + }) + } + + //解绑公司 + export function unbind(wuid:string,pcode:string) { + return server.request({ + url: '/cloud/wechat/user/companyunbind', + method: 'post', + data:{ + wuid, + pcode + } + }) + } + \ No newline at end of file diff --git a/src/api/order/account.ts b/src/api/order/account.ts index 8860233..4298d2e 100644 --- a/src/api/order/account.ts +++ b/src/api/order/account.ts @@ -59,4 +59,13 @@ export function delhdz(id:string) { id } }) -} \ No newline at end of file +} + +//分账 +export function getyysfz(params:any) { + return server.request({ + url: '/cloud/independent/account/list', + method: 'get', + params + }) +} diff --git a/src/api/swapstation/video.ts b/src/api/swapstation/video.ts new file mode 100644 index 0000000..ccda4c1 --- /dev/null +++ b/src/api/swapstation/video.ts @@ -0,0 +1,22 @@ +import server from '@/utils/request' + + +//获取设备 +export function getdevice() { + return server.request({ + url: '/cloud/dh/device/list', + method: 'get' + },false) +} + +//获取直播地址 +export function getlive(deviceId:string,channelId:string) { + return server.request({ + url: '/cloud/dh/device/live', + method: 'post', + data:{ + deviceId, + channelId + } + },false) +} \ No newline at end of file diff --git a/src/api/systemSet/operator.ts b/src/api/systemSet/operator.ts index ad1ef9f..1d009cd 100644 --- a/src/api/systemSet/operator.ts +++ b/src/api/systemSet/operator.ts @@ -11,7 +11,7 @@ interface Query{ status?:String //状态:1-启用,0-禁用 } -export function getlist(params:Query) { +export function getyyslist(params:Query) { return server.request({ url: '/resource/proxyoperater/list', method: 'get', diff --git a/src/api/systemSet/role.ts b/src/api/systemSet/role.ts index 48aa16d..65b44ad 100644 --- a/src/api/systemSet/role.ts +++ b/src/api/systemSet/role.ts @@ -40,7 +40,7 @@ export function delrole(rid:String) { } //查询 -export function getlist(userId:String) { +export function getjslist(userId:String) { return server.request({ url: '/resource/role/list', method: 'get', diff --git a/src/api/systemSet/user.ts b/src/api/systemSet/user.ts index 0d91808..808a341 100644 --- a/src/api/systemSet/user.ts +++ b/src/api/systemSet/user.ts @@ -86,4 +86,17 @@ export function adduserrole(data:Addrole) { method: 'post', data }) +} + +//运营商用户分配换电站 +interface Fpsta{ + uid:String, + stationIds:String +} +export function dispstation(data:Fpsta) { + return server.request({ + url: '/resource/user/adduserstation', + method: 'post', + data + }) } \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index d5d812e..89b1e91 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,10 +16,15 @@ import myIcons from "@/components/SvgIcon/myIcon"; // import formCreate from "@form-create/element-ui"; // import fcDesigner from "@form-create/designer"; +import VueVideoPlayer from 'vue-video-player' + +// 引入video.js样式 +import 'video.js/dist/video-js.css' const app = createApp(App); app.use(createPinia()); app.use(router); +app.use(VueVideoPlayer) // element plus Icons for (const [name, comp] of Object.entries(ElementPlusIconsVue)) { app.component(name, comp); diff --git a/src/stores/user.ts b/src/stores/user.ts index 3aab248..8d782ad 100644 --- a/src/stores/user.ts +++ b/src/stores/user.ts @@ -59,7 +59,8 @@ const store = defineStore({ avatar, roles:data.roleList, name:data.uname, - nickName:data.nickName + nickName:data.nickName, + type:data.type }) localStorage.setItem('Infor',infor) diff --git a/src/views/order/replabatt/index.vue b/src/views/order/replabatt/index.vue index 457bc85..1603bcc 100644 --- a/src/views/order/replabatt/index.vue +++ b/src/views/order/replabatt/index.vue @@ -95,8 +95,8 @@ diff --git a/src/views/swapstation/hdz/index.vue b/src/views/swapstation/hdz/index.vue index 11d1a7b..51e1a63 100644 --- a/src/views/swapstation/hdz/index.vue +++ b/src/views/swapstation/hdz/index.vue @@ -691,7 +691,7 @@ getqrcode } from '@/api/swapstation/hdz' import { - getlist + getyyslist } from '@/api/systemSet/operator' import { getArea @@ -739,8 +739,8 @@ //初始查询运营商 let yunList = ref([]) - getlist({ - pageSize:20, + getyyslist({ + pageSize:200, pageNo:1 }).then(rps => { if(rps.data){ diff --git a/src/views/swapstation/video/index.vue b/src/views/swapstation/video/index.vue new file mode 100644 index 0000000..4ab3f3c --- /dev/null +++ b/src/views/swapstation/video/index.vue @@ -0,0 +1,110 @@ + + + diff --git a/src/views/system/operator/index.vue b/src/views/system/operator/index.vue index 01119bf..4f39a5c 100644 --- a/src/views/system/operator/index.vue +++ b/src/views/system/operator/index.vue @@ -221,7 +221,7 @@ + \ No newline at end of file diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 336b91d..84569ff 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -52,8 +52,14 @@ :data="userList" border stripe + highlight-current-row > - + + + + + + - + @@ -111,25 +121,22 @@ - - - - - - - + + + 开发者 运营商 企业用户 + - + + + + + + + + + + + + + + + + + + + + + + + + - + 启用 @@ -159,18 +189,18 @@ - + - + - + @@ -183,7 +213,7 @@ --> - + @@ -229,12 +259,13 @@ plain @click="fenpeirole">分配角色 @@ -248,9 +279,20 @@ + + + + - - \ No newline at end of file diff --git a/src/views/vehicle/wxuser/index.vue b/src/views/vehicle/wxuser/index.vue index 0c87ae6..2e00547 100644 --- a/src/views/vehicle/wxuser/index.vue +++ b/src/views/vehicle/wxuser/index.vue @@ -19,6 +19,19 @@ + + + + + + + + + + + + + 搜索 重置 @@ -36,6 +49,7 @@ :data="yysList" border stripe + highlight-current-row :max-height="search?'600px':'680px'" > @@ -71,12 +85,27 @@
公司
- + + + + + + + +
+ + + + + + + + + + 同意 + 拒绝 + + + + + + + + + + + +
- \ No newline at end of file