diff --git a/apps/web-antd/src/views/mp/material/components/ImageTable.vue b/apps/web-antd/src/views/mp/material/components/ImageTable.vue new file mode 100644 index 000000000..38b5dc4ad --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/ImageTable.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/apps/web-antd/src/views/mp/material/components/UploadFile.vue b/apps/web-antd/src/views/mp/material/components/UploadFile.vue new file mode 100644 index 000000000..d95411eb7 --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/UploadFile.vue @@ -0,0 +1,108 @@ + + + diff --git a/apps/web-antd/src/views/mp/material/components/UploadVideo.vue b/apps/web-antd/src/views/mp/material/components/UploadVideo.vue new file mode 100644 index 000000000..1d4b51e18 --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/UploadVideo.vue @@ -0,0 +1,154 @@ + + + diff --git a/apps/web-antd/src/views/mp/material/components/VideoTable.vue b/apps/web-antd/src/views/mp/material/components/VideoTable.vue new file mode 100644 index 000000000..9aa5d9547 --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/VideoTable.vue @@ -0,0 +1,74 @@ + + + diff --git a/apps/web-antd/src/views/mp/material/components/VoiceTable.vue b/apps/web-antd/src/views/mp/material/components/VoiceTable.vue new file mode 100644 index 000000000..4c2da7322 --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/VoiceTable.vue @@ -0,0 +1,66 @@ + + + diff --git a/apps/web-antd/src/views/mp/material/components/upload.ts b/apps/web-antd/src/views/mp/material/components/upload.ts new file mode 100644 index 000000000..0ca00828d --- /dev/null +++ b/apps/web-antd/src/views/mp/material/components/upload.ts @@ -0,0 +1,40 @@ +import type { UploadProps } from 'ant-design-vue'; + +import type { UploadRawFile } from '#/views/mp/hooks/useUpload'; + +import { useAccessStore } from '@vben/stores'; + +import { UploadType, useBeforeUpload } from '#/views/mp/hooks/useUpload'; + +const accessStore = useAccessStore(); +const HEADERS = { Authorization: `Bearer ${accessStore.accessToken}` }; // 请求头 +const UPLOAD_URL = `${import.meta.env.VITE_BASE_URL}/admin-api/mp/material/upload-permanent`; // 上传地址 + +interface UploadData { + accountId: number; + introduction: string; + title: string; + type: UploadType; +} + +const beforeImageUpload: UploadProps['beforeUpload'] = ( + rawFile: UploadRawFile, +) => useBeforeUpload(UploadType.Image, 2)(rawFile); + +const beforeVoiceUpload: UploadProps['beforeUpload'] = ( + rawFile: UploadRawFile, +) => useBeforeUpload(UploadType.Voice, 2)(rawFile); + +const beforeVideoUpload: UploadProps['beforeUpload'] = ( + rawFile: UploadRawFile, +) => useBeforeUpload(UploadType.Video, 10)(rawFile); + +export { + beforeImageUpload, + beforeVideoUpload, + beforeVoiceUpload, + HEADERS, + UPLOAD_URL, + type UploadData, + UploadType, +}; diff --git a/apps/web-antd/src/views/mp/material/index.vue b/apps/web-antd/src/views/mp/material/index.vue index 2966b8983..9bd1925c8 100644 --- a/apps/web-antd/src/views/mp/material/index.vue +++ b/apps/web-antd/src/views/mp/material/index.vue @@ -1,29 +1,204 @@ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 654a6e56f..f45771281 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -803,6 +803,9 @@ importers: '@vueuse/components': specifier: 'catalog:' version: 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@videojs-player/vue': + specifier: ^1.0.0 + version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.22(typescript@5.9.3)) '@vueuse/core': specifier: 'catalog:' version: 13.9.0(vue@3.5.22(typescript@5.9.3)) @@ -812,6 +815,9 @@ importers: ant-design-vue: specifier: 'catalog:' version: 4.2.6(vue@3.5.22(typescript@5.9.3)) + benz-amr-recorder: + specifier: ^1.1.5 + version: 1.1.5 bpmn-js: specifier: 'catalog:' version: 17.11.1 @@ -839,6 +845,9 @@ importers: highlight.js: specifier: 'catalog:' version: 11.11.1 + lodash: + specifier: ^4.17.21 + version: 4.17.21 pinia: specifier: ^3.0.3 version: 3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) @@ -848,6 +857,9 @@ importers: tinymce: specifier: 'catalog:' version: 7.9.1 + video.js: + specifier: ^7.21.5 + version: 7.21.7 vue: specifier: ^3.5.17 version: 3.5.22(typescript@5.9.3) @@ -4950,6 +4962,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/video.js@7.3.58': + resolution: {integrity: sha512-1CQjuSrgbv1/dhmcfQ83eVyYbvGyqhTvb2Opxr0QCV+iJ4J6/J+XWQ3Om59WiwCd1MN3rDUHasx5XRrpUtewYQ==} + '@types/web-bluetooth@0.0.16': resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} @@ -5161,6 +5176,26 @@ packages: engines: {node: '>=18'} hasBin: true + '@videojs-player/vue@1.0.0': + resolution: {integrity: sha512-WonTezRfKu3fYdQLt/ta+nuKH6gMZUv8l40Jke/j4Lae7IqeO/+lLAmBnh3ni88bwR+vkFXIlZ2Ci7VKInIYJg==} + peerDependencies: + '@types/video.js': 7.x + video.js: 7.x + vue: ^3.5.17 + + '@videojs/http-streaming@2.16.3': + resolution: {integrity: sha512-91CJv5PnFBzNBvyEjt+9cPzTK/xoVixARj2g7ZAvItA+5bx8VKdk5RxCz/PP2kdzz9W+NiDUMPkdmTsosmy69Q==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^6 || ^7 + + '@videojs/vhs-utils@3.0.5': + resolution: {integrity: sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==} + engines: {node: '>=8', npm: '>=5'} + + '@videojs/xhr@2.6.0': + resolution: {integrity: sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==} + '@vite-pwa/vitepress@1.0.1': resolution: {integrity: sha512-INBxiNLZpef349KSmQ6zHWB4uqIgZgvJnwzH3bedW/7d/Ej0lK5HP95fiBdIc2wHUtmR3Znnegmt3zLESVWrpA==} peerDependencies: @@ -5451,6 +5486,10 @@ packages: peerDependencies: vue: ^3.5.17 + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} + engines: {node: '>=10.0.0'} + '@xyflow/svelte@1.4.0': resolution: {integrity: sha512-LXokbj1nEP8FROE/y9/xU11G4dM2+mGBiMmPU714Mmk+bGnyot+nZmyR8Y7OFBUahY1mnMNfeclLPJKGy3r7tA==} peerDependencies: @@ -5490,6 +5529,9 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + aes-decrypter@3.1.3: + resolution: {integrity: sha512-VkG9g4BbhMBy+N5/XodDeV6F02chEk9IpgRTq/0bS80y4dzy79VH2Gtms02VXomf3HmyRe3yyJYkJ990ns+d6A==} + agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -5735,6 +5777,12 @@ packages: resolution: {integrity: sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==} hasBin: true + benz-amr-recorder@1.1.5: + resolution: {integrity: sha512-NepctcNTsZHK8NxBb5uKO5p8S+xkbm+vD6GLSkCYdJeEsriexvgumLHpDkanX4QJBcLRMVtg16buWMs+gUPB3g==} + + benz-recorderjs@1.0.5: + resolution: {integrity: sha512-EwedOQo9KLti7HxDi/eZY51PSRbAXnOdEZmLvJ6ro3QQSoF9Y3AXBt57MIllGvVz5vtFYMeikG+GD7qTm3+p9w==} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -6737,6 +6785,9 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + dom-zindex@1.0.6: resolution: {integrity: sha512-FKWIhiU96bi3xpP9ewRMgANsoVmMUBnMnmpCT6dPMZOunVYJQmJhSRruoI0XSPoHeIif3kyEuiHbFrOJwEJaEA==} @@ -7559,6 +7610,9 @@ packages: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -7791,6 +7845,9 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} + individual@2.0.0: + resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -7908,6 +7965,9 @@ packages: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + is-generator-function@1.1.2: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} @@ -8212,6 +8272,9 @@ packages: resolution: {integrity: sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q==} hasBin: true + keycode@2.2.1: + resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -8499,6 +8562,9 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true + m3u8-parser@4.8.0: + resolution: {integrity: sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==} + magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -8646,6 +8712,9 @@ packages: min-dash@4.2.3: resolution: {integrity: sha512-VLMYQI5+FcD9Ad24VcB08uA83B07OhueAlZ88jBK6PyupTvEJwllTMUqMy0wPGYs7pZUEtEEMWdHB63m3LtEcg==} + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + min-dom@4.2.1: resolution: {integrity: sha512-TMoL8SEEIhUWYgkj7XMSgxmwSyGI+4fP2KFFGnN3FbHfbGHVdsLYSz8LoIsgPhz4dWRmLvxWWSMgzZMJW5sZuA==} @@ -8738,6 +8807,10 @@ packages: moddle@6.2.3: resolution: {integrity: sha512-bLVN+ZHL3aKnhxc19XtjUfvdJsS3EsiEJC7bT6YPD11qYmTzvsxrGgyYz1Ouof7TZuGw0lDJ1OLmEnxcpQWk3Q==} + mpd-parser@0.22.1: + resolution: {integrity: sha512-fwBebvpyPUU8bOzvhX0VQZgSohncbgYwUyJJoTSNpmy7ccD2ryiCvM7oRkn/xQH5cv73/xU7rJSNCLjdGFor0Q==} + hasBin: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -8756,6 +8829,11 @@ packages: resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} engines: {node: '>=10'} + mux.js@6.0.1: + resolution: {integrity: sha512-22CHb59rH8pWGcPGW5Og7JngJ9s+z4XuSlYvnxhLuc58cA1WqGDQPzuG8I+sPm1/p0CdgpzVTaKW408k5DNn8w==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -9190,6 +9268,10 @@ packages: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} + pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -10062,6 +10144,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rust-result@1.0.0: + resolution: {integrity: sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==} + rw@1.3.3: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} @@ -10079,6 +10164,9 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-json-parse@4.0.0: + resolution: {integrity: sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==} + safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -11060,6 +11148,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-toolkit@2.2.5: + resolution: {integrity: sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -11079,6 +11170,15 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + video.js@7.21.7: + resolution: {integrity: sha512-T2s3WFAht7Zjr2OSJamND9x9Dn2O+Z5WuHGdh8jI5SYh5mkMdVTQ7vSRmA5PYpjXJ2ycch6jpMjkJEIEU2xxqw==} + + videojs-font@3.2.0: + resolution: {integrity: sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==} + + videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + vite-hot-client@2.1.0: resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==} peerDependencies: @@ -14894,6 +14994,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/video.js@7.3.58': {} + '@types/web-bluetooth@0.0.16': {} '@types/web-bluetooth@0.0.20': {} @@ -15119,6 +15221,35 @@ snapshots: - rollup - supports-color + '@videojs-player/vue@1.0.0(@types/video.js@7.3.58)(video.js@7.21.7)(vue@3.5.22(typescript@5.9.3))': + dependencies: + '@types/video.js': 7.3.58 + video.js: 7.21.7 + vue: 3.5.22(typescript@5.9.3) + + '@videojs/http-streaming@2.16.3(video.js@7.21.7)': + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 3.0.5 + aes-decrypter: 3.1.3 + global: 4.4.0 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + video.js: 7.21.7 + + '@videojs/vhs-utils@3.0.5': + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + url-toolkit: 2.2.5 + + '@videojs/xhr@2.6.0': + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + is-function: 1.0.2 + '@vite-pwa/vitepress@1.0.1(vite-plugin-pwa@1.1.0(vite@5.4.21(@types/node@24.9.1)(less@4.4.2)(sass@1.93.2)(terser@5.44.0))(workbox-build@7.3.0)(workbox-window@7.3.0))': dependencies: vite-plugin-pwa: 1.1.0(vite@5.4.21(@types/node@24.9.1)(less@4.4.2)(sass@1.93.2)(terser@5.44.0))(workbox-build@7.3.0)(workbox-window@7.3.0) @@ -15491,6 +15622,8 @@ snapshots: vue: 3.5.22(typescript@5.9.3) xe-utils: 3.7.9 + '@xmldom/xmldom@0.8.11': {} + '@xyflow/svelte@1.4.0(svelte@5.41.1)': dependencies: '@svelte-put/shortcut': 4.1.0(svelte@5.41.1) @@ -15532,6 +15665,13 @@ snapshots: acorn@8.15.0: {} + aes-decrypter@3.1.3: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + pkcs7: 1.0.4 + agent-base@7.1.4: {} ajv-draft-04@1.0.0(ajv@8.13.0): @@ -15803,6 +15943,12 @@ snapshots: baseline-browser-mapping@2.8.19: {} + benz-amr-recorder@1.1.5: + dependencies: + benz-recorderjs: 1.0.5 + + benz-recorderjs@1.0.5: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -16924,6 +17070,8 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 + dom-walk@0.1.2: {} + dom-zindex@1.0.6: {} domelementtype@2.3.0: {} @@ -17930,6 +18078,11 @@ snapshots: kind-of: 6.0.3 which: 1.3.1 + global@4.4.0: + dependencies: + min-document: 2.19.0 + process: 0.11.10 + globals@14.0.0: {} globals@15.15.0: {} @@ -18175,6 +18328,8 @@ snapshots: indent-string@5.0.0: {} + individual@2.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -18288,6 +18443,8 @@ snapshots: dependencies: get-east-asian-width: 1.4.0 + is-function@1.0.2: {} + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 @@ -18553,6 +18710,8 @@ snapshots: dependencies: commander: 8.3.0 + keycode@2.2.1: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -18818,6 +18977,12 @@ snapshots: lz-string@1.5.0: {} + m3u8-parser@4.8.0: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 @@ -18972,6 +19137,10 @@ snapshots: min-dash@4.2.3: {} + min-document@2.19.0: + dependencies: + dom-walk: 0.1.2 + min-dom@4.2.1: dependencies: component-event: 0.2.1 @@ -19073,6 +19242,13 @@ snapshots: dependencies: min-dash: 4.2.3 + mpd-parser@0.22.1: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/vhs-utils': 3.0.5 + '@xmldom/xmldom': 0.8.11 + global: 4.4.0 + mri@1.2.0: {} mrmime@2.0.1: {} @@ -19089,6 +19265,11 @@ snapshots: arrify: 2.0.1 minimatch: 3.1.2 + mux.js@6.0.1: + dependencies: + '@babel/runtime': 7.28.4 + global: 4.4.0 + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -19588,6 +19769,10 @@ snapshots: pirates@4.0.7: {} + pkcs7@1.0.4: + dependencies: + '@babel/runtime': 7.28.4 + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -20449,6 +20634,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rust-result@1.0.0: + dependencies: + individual: 2.0.0 + rw@1.3.3: {} sade@1.8.1: @@ -20467,6 +20656,10 @@ snapshots: safe-buffer@5.2.1: {} + safe-json-parse@4.0.0: + dependencies: + rust-result: 1.0.0 + safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -21577,6 +21770,8 @@ snapshots: dependencies: punycode: 2.3.1 + url-toolkit@2.2.5: {} + util-deprecate@1.0.2: {} vdirs@0.1.8(vue@3.5.22(typescript@5.9.3)): @@ -21600,6 +21795,28 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 + video.js@7.21.7: + dependencies: + '@babel/runtime': 7.28.4 + '@videojs/http-streaming': 2.16.3(video.js@7.21.7) + '@videojs/vhs-utils': 3.0.5 + '@videojs/xhr': 2.6.0 + aes-decrypter: 3.1.3 + global: 4.4.0 + keycode: 2.2.1 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + safe-json-parse: 4.0.0 + videojs-font: 3.2.0 + videojs-vtt.js: 0.15.5 + + videojs-font@3.2.0: {} + + videojs-vtt.js@0.15.5: + dependencies: + global: 4.4.0 + vite-hot-client@2.1.0(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(less@4.4.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)): dependencies: vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(less@4.4.2)(sass@1.93.2)(terser@5.44.0)(yaml@2.8.1)