优化组件类型声明,添加视频播放功能,更新依赖项,重构多个组件,改进路由配置及页面元信息

This commit is contained in:
2025-12-19 10:58:08 +08:00
parent 7b313a2264
commit 3cd1b10b0f
14 changed files with 295 additions and 25 deletions

1
components.d.ts vendored
View File

@ -17,7 +17,6 @@ declare module 'vue' {
DFooter: typeof import('vue-devui/layout/index.es.js')['Footer']
DForm: typeof import('vue-devui/form/index.es.js')['Form']
DFormItem: typeof import('vue-devui/form/index.es.js')['FormItem']
DHeader: typeof import('vue-devui/layout/index.es.js')['Header']
DIcon: typeof import('vue-devui/icon/index.es.js')['Icon']
DInput: typeof import('vue-devui/input/index.es.js')['Input']
DLayout: typeof import('vue-devui/layout/index.es.js')['Layout']

1
extra.d.ts vendored
View File

@ -1 +1,2 @@
declare module "aplayer";
declare module 'vue3-video-play';

View File

@ -36,7 +36,8 @@
"vue-devui": "^1.6.33",
"vue-router": "^4.5.1",
"vue3-cookies": "^1.0.6",
"vue3-perfect-scrollbar": "^2.0.0"
"vue3-perfect-scrollbar": "^2.0.0",
"vue3-video-play": "^1.3.2"
},
"devDependencies": {
"@tsconfig/node22": "^22.0.2",

View File

@ -1,8 +1,10 @@
<template>
<div>
<PerfectScrollbar>
<!-- <login v-if="route.path == '/login'"></login> -->
<!-- <router-view></router-view> -->
<lay-index></lay-index>
</PerfectScrollbar>
</div>
@ -10,10 +12,10 @@
{{ modal.content }}
<div class="mt-10 w-full flex justify-between">
<d-button @click="modal.handdleCancel" variant="text"
class="w-[49%] hover:bg-[#8a6684] hover:!text-white">取消</d-button>
class="w-[49%] hover:bg-[#8a6684] hover:!text-white">{{modal.cancelText}}</d-button>
<span class="text-[20px]"> | </span>
<d-button @click="modal.handdleSubmit" variant="text" class="w-[49%] hover:bg-[#5c866a] hover:!text-white"
color="primary">确定</d-button>
color="primary">{{modal.submitText}}</d-button>
</div>
</d-modal>
</template>
@ -21,6 +23,8 @@
<script setup lang="ts">
import layIndex from './Index.vue'
// 空白项目入口
const route = useRoute()
const modal = reactive<any>({
visible: false,
title: "",
@ -30,10 +34,16 @@ const modal = reactive<any>({
})
function comemodal(mv: any) {
if (!mv) return
modal.visible = true
modal.title = mv.title
modal.content = mv.content
if (mv.handdleCancel) modal.handdleCancel = mv.handdleCancel
modal.cancelText = mv.cancelText || "取消"
modal.submitText = mv.submitText || "确定"
if (mv.handdleCancel) modal.handdleCancel = () => {
mv.handdleCancel()
modal.visible = false
}
modal.handdleSubmit = () => {
mv.handdleSubmit()
modal.visible = false
@ -42,6 +52,11 @@ function comemodal(mv: any) {
window.$modal = comemodal
// 全局禁用右键菜单
document.oncontextmenu = function () {
return false;
};
onMounted(() => {
})

View File

@ -1,8 +1,8 @@
<template>
<d-layout>
<d-header class="dheader-1">
<!-- <d-header class="dheader-1"> -->
<menu-h />
</d-header>
<!-- </d-header> -->
<d-content class="dcontent-1">
<router-view />
</d-content>

View File

@ -1,5 +1,5 @@
<template>
<div ref="nav" class="main-nav flex justify-between bg-white">
<div ref="nav" v-show="whiteList.includes(route.name)" class="main-nav flex justify-between bg-white">
<!-- 网站Logo -->
<div class="px-5 flex items-center" slot="brand" @click="goHome">
<img :src="logo" alt="柚子的网站" class="h-9 align-middle" />
@ -43,9 +43,11 @@
<span class="weather-info ml-4">{{ temp }}°C</span>
</div>
<div class="flex items-center ">
<d-avatar v-if="userinfo" :img-src="userinfo.ava_url" class="ml-10 mr-4 cursor-pointer" alt="用户的头" />
<d-avatar v-else class="ml-10 mr-4 cursor-pointer" @click="toLogin"></d-avatar>
<div class="flex items-center mr-8">
<d-avatar v-if="userinfo" :img-src="userinfo.ava_url" @contextmenu="logout" class="cursor-pointer" alt="用户的头" />
<d-avatar v-else class="cursor-pointer" @click="toLogin"></d-avatar>
<div class="cursor-pointer ml-2 text-gray text-sm" v-if="userinfo">{{ userinfo.nickname }}</div>
<div class="cursor-pointer ml-2 text-gray text-sm" v-else @click="toLogin">登录</div>
</div>
</div>
@ -67,6 +69,7 @@ import { useRoute, useRouter } from 'vue-router';
const route = useRoute();
const router = useRouter();
const key = ref("home");
const locationInfo = ref("获取位置中...");
@ -79,6 +82,10 @@ const temp = ref<number>(0);
const userinfo: any = ref(null)
const nav: any = useTemplateRef('nav')
const navx = $store.nav.useNavStore()
const usrLog = $store.log.useLogStore()
// 白名单
const whiteList = ['home', 'appshare', 'plink', 'widget', 'gallery', 'article'];
console.log('>>> --> route:', route)
// 获取地理位置
const getLocation = () => {
if (!navigator.geolocation) {
@ -159,23 +166,47 @@ watch(() => route.name, (newVal) => {
function goHome() {
if (route.name == 'home') return
router.push({ name: 'home' });
router.push('/home');
}
function toLogin() {
console.log('>>> --> toLogin --> toLogin:', 'toLogin')
if ($cookies.get('token')) return
router.push('/login');
}
function gotoHf(){
function logout() {
console.log('>>> --> logout --> logout:', 'logout')
$cookies.remove('token');
$cookies.remove('userinfo');
usrLog.setIsLogin(false)
userinfo.value = null;
$modal({
title: "退出登录",
content: "返回首页吗?",
submitText: "去登录",
cancelText: "返回首页",
handdleSubmit: () => {
router.push('/login');
},
handdleCancel: () => {
if (route.name == 'home') return
router.push('/home');
}
})
//
}
function gotoHf() {
console.log('>>> --> gotoHf --> fxlink:', fxlink)
window.open(fxlink.value,"_BLACK")
window.open(fxlink.value, "_BLACK")
}
onMounted(() => {
userinfo.value = $cookies.get('userinfo');
console.log('>>>>>>>>>>', userinfo.value);
key.value = route.name as string;
@ -188,6 +219,12 @@ onMounted(() => {
});
onBeforeUpdate(() => {
userinfo.value = $cookies.get('userinfo');
key.value = route.name as string;
const h: number = nav.value.clientHeight
navx.setNavH(h)
})
</script>
@ -196,6 +233,7 @@ onMounted(() => {
box-shadow: 0 1px 15px 0 @primary;
margin-bottom: 1px;
}
:deep(.devui-menu-horizontal .devui-menu-item:hover span .icon) {
color: var(--devui-brand, #5e7ce0) !important;
fill: var(--devui-brand, #5e7ce0) !important;

View File

@ -10,6 +10,9 @@ import router from "./router";
import { ThemeServiceInit, infinityTheme, sweetTheme } from "devui-theme";
import { PerfectScrollbarPlugin } from "vue3-perfect-scrollbar";
// import vue3videoPlay from "vue3-video-play";
// import "vue3-video-play/dist/style.css";
// ThemeServiceInit({ customTheme }, "customTheme");
const themeService = ThemeServiceInit({ infinityTheme }, "infinityTheme");
@ -27,3 +30,4 @@ for (const key in icon) {
}
app.use(PerfectScrollbarPlugin);
app.mount("#app");

10
src/stores/log.ts Normal file
View File

@ -0,0 +1,10 @@
export const useLogStore = defineStore('log', () => {
// 登录状态
const isLogin:Ref<boolean,boolean> = ref(false)
function setIsLogin(v:boolean) {
isLogin.value = v
}
return { isLogin, setIsLogin }
})

View File

@ -129,7 +129,7 @@ const options = ref([
// 图片数据
const navlist: any = ref([])
const usrLog = $store.log.useLogStore()
async function getNavList() {
const res = await $http.nav.getNavList()
res.data?.forEach((i: any) => {
@ -223,6 +223,16 @@ async function navSubmit() {
}
// 监听store的登录状态
watch(() => usrLog.isLogin, (newVal) => {
console.log('********** --> watch --> newVal:', newVal)
if (newVal) {
getNavList()
}else {
navlist.value = []
}
})
onMounted(() => {

View File

@ -60,6 +60,7 @@ const regData = reactive({
nickname: ""
});
const usrLog = $store.log.useLogStore()
const rules: any = reactive({
username: [
@ -72,8 +73,7 @@ const rules: any = reactive({
]
})
const rrules: any = reactive({
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
username: [
{ validator: validateUsername, trigger: 'blur' },
],
password: [
@ -82,7 +82,8 @@ const rrules: any = reactive({
]
})
function login() {
formLogin.value.validate(async (is: boolean,b: any) => {
console.log('>>> --> login --> formLogin.value:', usrLog.isLogin)
formLogin.value.validate(async (is: boolean,b: any) => {
if (!is) {
$msg.error('信息填写不正确,请检查后再提交')
} else {
@ -94,9 +95,11 @@ function login() {
$cookies.set('token', res.data.token, '1d')
$cookies.set('userinfo', res.data.userinfo, '1d')
$msg.success(res.msg)
usrLog.setIsLogin(true)
router.push({ path: "/" })
}
})
}
function register() {
formReg.value.validate(async (is: boolean,b: any) => {

View File

@ -1,13 +1,29 @@
<template>
<div class="widget-page">
<h1>工具页</h1>
<!-- 工具内容 -->
<d-card class="w-1/3 bg-[#ffffff60] rounded-[10px]" shadow="hover">
<template #title>
<div class="flex items-center">
<icon-widget class="w-5 mr-2"></icon-widget>
视频工具
</div>
</template>
<template #content>
<div class="p-4">
<vue3VideoPlay class="w-full" title="钢铁侠" src="https://cdn.jsdelivr.net/gh/xdlumia/files/video-play/IronMan.mp4" />
</div>
</template>
</d-card>
</div>
</template>
<script setup lang="ts">
<script setup lang="js">
definePage({
name:'widget',
name: 'widget',
meta: {
title: '工具',
}

View File

@ -0,0 +1,21 @@
<template>
<div>
这里是控制台首页
</div>
</template>
<script setup>
//mark import
//mark data
//mark method
//mark 周期、内置函数等
</script>
<style scoped lang="less">
</style>

5
typed-router.d.ts vendored
View File

@ -20,6 +20,7 @@ declare module 'vue-router/auto-routes' {
export interface RouteNamedMap {
'appshare': RouteRecordInfo<'appshare', '/AppShare', Record<never, never>, Record<never, never>>,
'article': RouteRecordInfo<'article', '/Article', Record<never, never>, Record<never, never>>,
'/console/home': RouteRecordInfo<'/console/home', '/console/home', Record<never, never>, Record<never, never>>,
'gallery': RouteRecordInfo<'gallery', '/Gallery', Record<never, never>, Record<never, never>>,
'home': RouteRecordInfo<'home', '/Home', Record<never, never>, Record<never, never>>,
'login': RouteRecordInfo<'login', '/Login', Record<never, never>, Record<never, never>>,
@ -47,6 +48,10 @@ declare module 'vue-router/auto-routes' {
routes: 'article'
views: never
}
'src/views/console/home.vue': {
routes: '/console/home'
views: never
}
'src/views/Gallery.vue': {
routes: 'gallery'
views: never

149
yarn.lock
View File

@ -185,6 +185,11 @@
resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
"@babel/helper-validator-identifier@^7.28.5":
version "7.28.5"
resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4"
integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
"@babel/helper-validator-option@^7.27.1":
version "7.27.1"
resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
@ -212,6 +217,13 @@
dependencies:
"@babel/types" "^7.28.2"
"@babel/parser@^7.28.5":
version "7.28.5"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08"
integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==
dependencies:
"@babel/types" "^7.28.5"
"@babel/plugin-proposal-decorators@^7.23.0":
version "7.28.0"
resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz#419c8acc31088e05a774344c021800f7ddc39bf0"
@ -302,6 +314,14 @@
"@babel/helper-string-parser" "^7.27.1"
"@babel/helper-validator-identifier" "^7.27.1"
"@babel/types@^7.28.5":
version "7.28.5"
resolved "https://registry.npmmirror.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b"
integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==
dependencies:
"@babel/helper-string-parser" "^7.27.1"
"@babel/helper-validator-identifier" "^7.28.5"
"@braintree/sanitize-url@^6.0.0":
version "6.0.4"
resolved "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz#923ca57e173c6b232bbbb07347b1be982f03e783"
@ -505,7 +525,7 @@
resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7"
integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==
"@jridgewell/sourcemap-codec@^1.5.0":
"@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5":
version "1.5.5"
resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
@ -1014,6 +1034,17 @@
estree-walker "^2.0.2"
source-map-js "^1.2.1"
"@vue/compiler-core@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.26.tgz#1a91ea90980528bedff7b1c292690bfb30612485"
integrity sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==
dependencies:
"@babel/parser" "^7.28.5"
"@vue/shared" "3.5.26"
entities "^7.0.0"
estree-walker "^2.0.2"
source-map-js "^1.2.1"
"@vue/compiler-core@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.6.0-alpha.2.tgz#3467ec5dea3bd225ac3184a699a46de73e885528"
@ -1033,6 +1064,14 @@
"@vue/compiler-core" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/compiler-dom@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz#66c36b6ed8bdf43236d7188ea332bc9d078eb286"
integrity sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==
dependencies:
"@vue/compiler-core" "3.5.26"
"@vue/shared" "3.5.26"
"@vue/compiler-dom@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.6.0-alpha.2.tgz#06ff116c7d352eb3cc0f3becc511d1030a92f710"
@ -1056,6 +1095,21 @@
postcss "^8.5.6"
source-map-js "^1.2.1"
"@vue/compiler-sfc@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz#fb1c6c4bf9a9e22bb169e039e19437cb6995917a"
integrity sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==
dependencies:
"@babel/parser" "^7.28.5"
"@vue/compiler-core" "3.5.26"
"@vue/compiler-dom" "3.5.26"
"@vue/compiler-ssr" "3.5.26"
"@vue/shared" "3.5.26"
estree-walker "^2.0.2"
magic-string "^0.30.21"
postcss "^8.5.6"
source-map-js "^1.2.1"
"@vue/compiler-sfc@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.6.0-alpha.2.tgz#d760fdacee1f5f102fde68d8aa278cd2172344eb"
@ -1080,6 +1134,14 @@
"@vue/compiler-dom" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/compiler-ssr@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz#f6e94bccbb5339180779036ddfb614f998a197ea"
integrity sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==
dependencies:
"@vue/compiler-dom" "3.5.26"
"@vue/shared" "3.5.26"
"@vue/compiler-ssr@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.6.0-alpha.2.tgz#8322409ed47e0131e854c35474052f5aee7fd7df"
@ -1206,6 +1268,13 @@
dependencies:
"@vue/shared" "3.5.18"
"@vue/reactivity@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.26.tgz#59a1edf566dc80133c1c26c93711c877e8602c48"
integrity sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==
dependencies:
"@vue/shared" "3.5.26"
"@vue/reactivity@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.6.0-alpha.2.tgz#ac51f691bed25c37a874ffecfc53e1bf2e123ee1"
@ -1221,6 +1290,14 @@
"@vue/reactivity" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/runtime-core@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.26.tgz#3f2c040bcf8018c03a1ab5adb0d788c13c986f0e"
integrity sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==
dependencies:
"@vue/reactivity" "3.5.26"
"@vue/shared" "3.5.26"
"@vue/runtime-core@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.6.0-alpha.2.tgz#c6d14eda7c0ac10b6931678986ec75c8e6fb92b0"
@ -1239,6 +1316,16 @@
"@vue/shared" "3.5.18"
csstype "^3.1.3"
"@vue/runtime-dom@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz#5954848614883948ecc1f631a67b32cc32f81936"
integrity sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==
dependencies:
"@vue/reactivity" "3.5.26"
"@vue/runtime-core" "3.5.26"
"@vue/shared" "3.5.26"
csstype "^3.2.3"
"@vue/runtime-dom@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.6.0-alpha.2.tgz#1157fbedca5bc149a0d2a5a60c61fac6378a91ca"
@ -1265,6 +1352,14 @@
"@vue/compiler-ssr" "3.5.18"
"@vue/shared" "3.5.18"
"@vue/server-renderer@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.26.tgz#269055497fcc75b3984063f866f17c748b565ef4"
integrity sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==
dependencies:
"@vue/compiler-ssr" "3.5.26"
"@vue/shared" "3.5.26"
"@vue/server-renderer@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.6.0-alpha.2.tgz#c939967a2f589a02d28caf68c35eb5382778edb4"
@ -1278,6 +1373,11 @@
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.18.tgz#529f24a88d3ed678d50fd5c07455841fbe8ac95e"
integrity sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==
"@vue/shared@3.5.26":
version "3.5.26"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.26.tgz#1e02ef2d64aced818cd31d81ce5175711dc90a9f"
integrity sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==
"@vue/shared@3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.6.0-alpha.2.tgz#b5140656105c51c6f30b1024c8707a27d8b05a47"
@ -1635,6 +1735,11 @@ csstype@^3.1.3:
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
csstype@^3.2.3:
version "3.2.3"
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a"
integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
version "1.2.4"
resolved "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
@ -2316,6 +2421,11 @@ entities@^6.0.0:
resolved "https://registry.npmmirror.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694"
integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==
entities@^7.0.0:
version "7.0.0"
resolved "https://registry.npmmirror.com/entities/-/entities-7.0.0.tgz#2ae4e443f3f17d152d3f5b0f79b932c1e59deb7a"
integrity sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==
entities@~2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5"
@ -2615,6 +2725,11 @@ highlight.js@^11.6.0:
resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.11.1.tgz#fca06fa0e5aeecf6c4d437239135fabc15213585"
integrity sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==
hls.js@^1.0.10:
version "1.6.15"
resolved "https://registry.npmmirror.com/hls.js/-/hls.js-1.6.15.tgz#9ce13080d143a9bc9b903fb43f081e335b8321e5"
integrity sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==
hogan.js@3.0.2:
version "3.0.2"
resolved "https://registry.npmmirror.com/hogan.js/-/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd"
@ -2855,6 +2970,13 @@ magic-string@^0.30.17, magic-string@^0.30.4:
dependencies:
"@jridgewell/sourcemap-codec" "^1.5.0"
magic-string@^0.30.21:
version "0.30.21"
resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz#56763ec09a0fa8091df27879fd94d19078c00d91"
integrity sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==
dependencies:
"@jridgewell/sourcemap-codec" "^1.5.5"
make-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@ -3438,6 +3560,11 @@ svgo@^3.0.2:
csso "^5.0.5"
picocolors "^1.0.0"
throttle-debounce@^3.0.1:
version "3.0.1"
resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb"
integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
tiny-emitter@^2.0.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
@ -3806,6 +3933,15 @@ vue3-perfect-scrollbar@^2.0.0:
dependencies:
perfect-scrollbar "^1.5.5"
vue3-video-play@^1.3.2:
version "1.3.2"
resolved "https://registry.npmmirror.com/vue3-video-play/-/vue3-video-play-1.3.2.tgz#72a80a4cde2bb423b04f44a8ad4b692ec6ce281b"
integrity sha512-eEwCJ0NIkfVQgTj0I3Kf9b1E/04Qne8mQQiE8r77BocblHsZ2T6af3q8l8Zzs/OvjlpQAQvkN/ACVUOJC3RSXg==
dependencies:
hls.js "^1.0.10"
throttle-debounce "^3.0.1"
vue "^3.2.2"
vue@^3.0.0:
version "3.5.18"
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.18.tgz#3d622425ad1391a2b0138323211ec784f4415686"
@ -3817,6 +3953,17 @@ vue@^3.0.0:
"@vue/server-renderer" "3.5.18"
"@vue/shared" "3.5.18"
vue@^3.2.2:
version "3.5.26"
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.26.tgz#03a0b17311e0e593d34b9358fa249b85e3a6d9fb"
integrity sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==
dependencies:
"@vue/compiler-dom" "3.5.26"
"@vue/compiler-sfc" "3.5.26"
"@vue/runtime-dom" "3.5.26"
"@vue/server-renderer" "3.5.26"
"@vue/shared" "3.5.26"
vue@^3.6.0-alpha.2:
version "3.6.0-alpha.2"
resolved "https://registry.npmmirror.com/vue/-/vue-3.6.0-alpha.2.tgz#cdd90b3f8adb9dfceacc90b71b8c75f50581a8a7"