Merge branch 'main' of https://gitea-inner.fontree.cn/scout666/liveh5-nuxt into qb
This commit is contained in:
commit
569e805249
@ -39,9 +39,6 @@
|
|||||||
- 🔥 `<script setup>` 语法
|
- 🔥 `<script setup>` 语法
|
||||||
|
|
||||||
- 🌍 [国际化支持](./i18n/locales)
|
- 🌍 [国际化支持](./i18n/locales)
|
||||||
|
|
||||||
- 🍍 [使用 Pinia 进行状态管理](https://github.com/vuejs/pinia),查看 [./app/composables/counter.ts](./app/composables/counter.ts)
|
|
||||||
|
|
||||||
- 📑 [布局系统](./app/layouts)
|
- 📑 [布局系统](./app/layouts)
|
||||||
|
|
||||||
- 📥 API 自动导入 - 用于 Composition API 和自定义组合式函数
|
- 📥 API 自动导入 - 用于 Composition API 和自定义组合式函数
|
||||||
@ -57,8 +54,6 @@
|
|||||||
- [i18n](https://github.com/nuxt-modules/i18n) - Nuxt 的国际化模块
|
- [i18n](https://github.com/nuxt-modules/i18n) - Nuxt 的国际化模块
|
||||||
- [ColorMode](https://github.com/nuxt-modules/color-mode) - 支持自动检测的深色和浅色模式
|
- [ColorMode](https://github.com/nuxt-modules/color-mode) - 支持自动检测的深色和浅色模式
|
||||||
- [UnoCSS](https://github.com/unocss/unocss) - 即时按需原子化 CSS 引擎
|
- [UnoCSS](https://github.com/unocss/unocss) - 即时按需原子化 CSS 引擎
|
||||||
- [Pinia](https://github.com/vuejs/pinia) - 直观、类型安全、轻量且灵活的 Vue 状态管理
|
|
||||||
- [Pinia Persistedstate](https://github.com/prazdevs/pinia-plugin-persistedstate) - 可配置的 Pinia 存储持久化和重新激活
|
|
||||||
- [DevTools](https://github.com/nuxt/devtools) - 释放 Nuxt 开发者体验
|
- [DevTools](https://github.com/nuxt/devtools) - 释放 Nuxt 开发者体验
|
||||||
|
|
||||||
## IDE
|
## IDE
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import useKeepalive from '~/composables/keepalive'
|
|
||||||
import { appName, appDescription } from '~/constants'
|
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import {message} from '@/components/x-message/useMessage.js'
|
import {message} from '@/components/x-message/useMessage.js'
|
||||||
// message.success('success')
|
// message.success('success')
|
||||||
@ -11,16 +9,11 @@ useHead({
|
|||||||
{ name: 'keywords', content: useI18n().t('appSetting.appKeyWords') },
|
{ name: 'keywords', content: useI18n().t('appSetting.appKeyWords') },
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|
||||||
const color = useColorMode()
|
const color = useColorMode()
|
||||||
|
|
||||||
const mode = computed(() => {
|
const mode = computed(() => {
|
||||||
return color.value
|
return color.value
|
||||||
})
|
})
|
||||||
|
|
||||||
const keepAliveRouteNames = computed(() => {
|
|
||||||
return useKeepalive().routeCaches
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -28,7 +21,7 @@ const keepAliveRouteNames = computed(() => {
|
|||||||
<NuxtLoadingIndicator
|
<NuxtLoadingIndicator
|
||||||
color="repeating-linear-gradient(to right,var(--c-primary) 0%,var(--c-primary-active) 100%)" />
|
color="repeating-linear-gradient(to right,var(--c-primary) 0%,var(--c-primary-active) 100%)" />
|
||||||
<NuxtLayout>
|
<NuxtLayout>
|
||||||
<NuxtPage :keepalive="{ include: keepAliveRouteNames }" />
|
<NuxtPage/>
|
||||||
</NuxtLayout>
|
</NuxtLayout>
|
||||||
</VanConfigProvider>
|
</VanConfigProvider>
|
||||||
</template>
|
</template>
|
||||||
|
@ -18,7 +18,7 @@ initData()
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<van-tabbar v-if="show" v-model="active" route placeholder fixed>
|
<van-tabbar v-model="active" route placeholder fixed>
|
||||||
<van-tabbar-item replace to="/">
|
<van-tabbar-item replace to="/">
|
||||||
<span>{{ $t('tabbar.home') }}</span>
|
<span>{{ $t('tabbar.home') }}</span>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useAppHeaderRouteNames as routeWhiteList } from '~/config'
|
import { useAppFooterRouteNames as routeWhiteList } from '~/config'
|
||||||
|
import { homeStore } from "@/stores/home/index.js";
|
||||||
|
const { fullLive } = homeStore()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
function onBack() {
|
function onBack() {
|
||||||
|
if (fullLive.value){
|
||||||
|
fullLive.value=false
|
||||||
|
return
|
||||||
|
}
|
||||||
if (window.history.state.back)
|
if (window.history.state.back)
|
||||||
history.back()
|
history.back()
|
||||||
else
|
else
|
||||||
@ -25,12 +30,13 @@ const subTitle = computed(() => {
|
|||||||
return route.meta.subTitle ? t(route.meta.subTitle) : ''
|
return route.meta.subTitle ? t(route.meta.subTitle) : ''
|
||||||
})
|
})
|
||||||
const showLeftArrow = computed(() => route.name && routeWhiteList.includes(route.name))
|
const showLeftArrow = computed(() => route.name && routeWhiteList.includes(route.name))
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<VanNavBar
|
<VanNavBar
|
||||||
:title="title"
|
:title="title"
|
||||||
:left-arrow="!showLeftArrow"
|
:left-arrow="!showLeftArrow||fullLive"
|
||||||
placeholder clickable fixed
|
placeholder clickable fixed
|
||||||
@click-left="onBack"
|
@click-left="onBack"
|
||||||
>
|
>
|
||||||
|
@ -3,8 +3,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="w-full h-[188px] bg-[] bg-#606165">
|
<div class="w-full h-full bg-[] bg-#606165">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
import { defineStore } from 'pinia'
|
|
||||||
|
|
||||||
const useCounter = defineStore('counter', () => {
|
|
||||||
const count = ref(0)
|
|
||||||
|
|
||||||
function increment() {
|
|
||||||
count.value++
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
count,
|
|
||||||
increment,
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
persist: true,
|
|
||||||
})
|
|
||||||
|
|
||||||
export default useCounter
|
|
@ -1,24 +0,0 @@
|
|||||||
import type { RouteLocationNormalized, RouteRecordName } from 'vue-router'
|
|
||||||
import { defineStore } from 'pinia'
|
|
||||||
|
|
||||||
const useKeepalive = defineStore('keepalive', () => {
|
|
||||||
const routeCaches = ref<RouteRecordName[]>([])
|
|
||||||
|
|
||||||
const addRoute = (route: RouteLocationNormalized) => {
|
|
||||||
if (!route.name)
|
|
||||||
return
|
|
||||||
|
|
||||||
if (routeCaches.value.includes(route.name))
|
|
||||||
return
|
|
||||||
|
|
||||||
if (route?.meta?.keepalive)
|
|
||||||
routeCaches.value.push(route.name)
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
routeCaches,
|
|
||||||
addRoute,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
export default useKeepalive
|
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<main class="flex flex-col min-h-svh">
|
<main class="flex flex-col min-h-svh">
|
||||||
<AppHeader class="h-[var(--van-nav-bar-height)]" />
|
<AppHeader class="h-[var(--van-nav-bar-height)]" />
|
||||||
|
|
||||||
<div class="flex-1 flex flex-col">
|
<div class="flex-1 flex flex-col">
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
|
<AppFooter v-if="!fullLive" />
|
||||||
<AppFooter />
|
|
||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup >
|
||||||
|
import { homeStore } from "@/stores/home/index.js";
|
||||||
|
const { fullLive } = homeStore()
|
||||||
</script>
|
</script>
|
@ -1,7 +0,0 @@
|
|||||||
import type { RouteLocationNormalized } from 'vue-router'
|
|
||||||
import useKeepalive from '~/composables/keepalive'
|
|
||||||
|
|
||||||
export default defineNuxtRouteMiddleware((to: RouteLocationNormalized) => {
|
|
||||||
if (to.meta && to.meta.keepalive)
|
|
||||||
useKeepalive().addRoute(to)
|
|
||||||
})
|
|
163
app/pages/LiveRoom/index.client.vue
Normal file
163
app/pages/LiveRoom/index.client.vue
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
<script setup>
|
||||||
|
import {ref, onMounted, onBeforeUnmount} from 'vue'
|
||||||
|
import Aliplayer from 'aliyun-aliplayer'
|
||||||
|
import 'aliyun-aliplayer/build/skins/default/aliplayer-min.css'
|
||||||
|
import lock4 from '@/static/images/lock4@2x.png'
|
||||||
|
import lockdfd from '@/static/images/lockdfd@2x.png'
|
||||||
|
const player = ref(null)
|
||||||
|
const quoteStatus = ref(false)
|
||||||
|
const isPlayerReady = ref(false)
|
||||||
|
const config = useRuntimeConfig()
|
||||||
|
const props = defineProps({
|
||||||
|
fullLive: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
const playerConfig = {
|
||||||
|
id: 'J_prismPlayer',
|
||||||
|
source: 'artc://live-pull-sh-01.szjixun.cn/live/live?auth_key=1736748343-0-0-feef65166e5cc62957c35b6e3eec82a1',
|
||||||
|
isLive: true,
|
||||||
|
preload: true,
|
||||||
|
autoplayPolicy: {fallbackToMute: true},
|
||||||
|
controlBarVisibility: 'never',
|
||||||
|
}
|
||||||
|
const handlePlayerError = (error) => {
|
||||||
|
console.error('播放器错误:', error)
|
||||||
|
if (player.value) {
|
||||||
|
player.value?.play()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const initializePlayer = () => {
|
||||||
|
try {
|
||||||
|
if (player.value) {
|
||||||
|
player.value?.dispose()
|
||||||
|
}
|
||||||
|
player.value = new Aliplayer(playerConfig, (playerInstance) => {
|
||||||
|
isPlayerReady.value = true
|
||||||
|
playerInstance?.play()
|
||||||
|
})
|
||||||
|
player.value?.on('error', handlePlayerError)
|
||||||
|
player.value?.on('rtsTraceId', (event) => {
|
||||||
|
})
|
||||||
|
player.value?.on('rtsFallback', (event) => {
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
console.error('播放器初始化失败:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const changeStatus = () => {
|
||||||
|
quoteStatus.value = !quoteStatus.value
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
initializePlayer()
|
||||||
|
})
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
if (player.value) {
|
||||||
|
player.value?.dispose()
|
||||||
|
player.value = null
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="relative h-full">
|
||||||
|
<div id="J_prismPlayer" class="w-screen"
|
||||||
|
:style="fullLive?'height: calc(100vh - var(--van-nav-bar-height))':'height:100%'"></div>
|
||||||
|
<template v-if="fullLive">
|
||||||
|
<div class="absolute bg-#fff w-60px top-196px right-0 z-999 rounded-l-4px">
|
||||||
|
<div
|
||||||
|
class="w-full h-60px text-#7D7D7F text-12px flex flex-col justify-center items-center border-b-1px border-b-#D3D3D3">
|
||||||
|
<div>拍品</div>
|
||||||
|
<div>(1/188)</div>
|
||||||
|
</div>
|
||||||
|
<div class="w-full h-60px flex flex-col items-center justify-center border-b-1px border-b-#D3D3D3"
|
||||||
|
@click="changeStatus">
|
||||||
|
<div class="mb-3px">
|
||||||
|
<img :src="quoteStatus ? lockdfd : lock4"
|
||||||
|
class="w-16px h-21px"
|
||||||
|
alt="">
|
||||||
|
</div>
|
||||||
|
<div :class="quoteStatus ? 'text-#7D7D7F' : 'text-#2B53AC'"
|
||||||
|
class="text-10px">
|
||||||
|
{{ quoteStatus ? '关闭出价' : '开启出价' }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="w-full h-60px text-#DD9C56 flex flex-col justify-center items-center ">
|
||||||
|
<div class="text-10px ">RMB</div>
|
||||||
|
<div class="text-12px">5,000</div>
|
||||||
|
<div class="text-10px">去支付</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="absolute top-505px left-1/2 transform -translate-x-1/2 flex flex-col items-center">
|
||||||
|
<div class="text-16px text-#FFB25F font-600">
|
||||||
|
当前价:RMB
|
||||||
|
<van-rolling-text class="my-rolling-text" :start-num="0" :target-num="3000" direction="up"/>
|
||||||
|
</div>
|
||||||
|
<div class="text-16px text-#fff font-600">
|
||||||
|
下口价:RMB
|
||||||
|
<van-rolling-text class="my-rolling-text1" :start-num="0" :target-num="3500" direction="up"/>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
:class="`w-344px h-[40px] ${quoteStatus ? 'bg-#FFB25F' : 'bg-#D6D6D8'} rounded-4px ${quoteStatus ? 'text-#fff' : 'text-#7D7D7F'} text-14px flex justify-center items-center mt-10px mb-10px`">
|
||||||
|
{{ quoteStatus ? '确认出价 RMB 3,000' : '点击"开启出价",即刻参与竞拍 ' }}
|
||||||
|
</div>
|
||||||
|
<div class="w-344px h-86px bg-#fff rounded-4px text-14px text-#939393 pt-7px pb-7px flex flex-col justify-between">
|
||||||
|
<div class="flex">
|
||||||
|
<div class="flex-grow-1 text-center">领先</div>
|
||||||
|
<div class="flex-grow-1 text-center">现场竞价</div>
|
||||||
|
<div class="flex-grow-1 text-center">10:12:12</div>
|
||||||
|
<div class="flex-grow-1 text-center">RMB5,500</div>
|
||||||
|
<div class="flex-grow-1 text-center">我</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
<div class="flex-grow-1 text-center">领先</div>
|
||||||
|
<div class="flex-grow-1 text-center">现场竞价</div>
|
||||||
|
<div class="flex-grow-1 text-center">10:12:12</div>
|
||||||
|
<div class="flex-grow-1 text-center">RMB5,500</div>
|
||||||
|
<div class="flex-grow-1 text-center">我</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
<div class="flex-grow-1 text-center">领先</div>
|
||||||
|
<div class="flex-grow-1 text-center">现场竞价</div>
|
||||||
|
<div class="flex-grow-1 text-center">10:12:12</div>
|
||||||
|
<div class="flex-grow-1 text-center">RMB5,500</div>
|
||||||
|
<div class="flex-grow-1 text-center">我</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.grid-container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(5, 1fr);
|
||||||
|
grid-template-rows: repeat(3, 1fr);
|
||||||
|
}
|
||||||
|
.grid-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.my-rolling-text {
|
||||||
|
--van-rolling-text-item-width: 10px;
|
||||||
|
--van-rolling-text-font-size: 16px;
|
||||||
|
--van-rolling-text-color: #FFB25F;
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-rolling-text1 {
|
||||||
|
--van-rolling-text-item-width: 10px;
|
||||||
|
--van-rolling-text-font-size: 16px;
|
||||||
|
--van-rolling-text-color: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.prism-license-watermark) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,30 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="relative">
|
|
||||||
<video id="videoPlayer" controls autoplay>
|
|
||||||
<source src="http://localhost:3213/video" type="video/mp4">
|
|
||||||
</video>
|
|
||||||
<div class="absolute bg-#fff w-60px top-196px right-0 z-999 rounded-l-4px">
|
|
||||||
<div class="w-full h-60px text-#7D7D7F text-12px flex flex-col justify-center items-center border-b-1px border-b-#D3D3D3">
|
|
||||||
<div>拍品</div>
|
|
||||||
<div>(1/188)</div>
|
|
||||||
</div>
|
|
||||||
<div class="w-full h-60px flex flex-col items-center justify-center">
|
|
||||||
<div class="mb-3px">
|
|
||||||
<img src="@/static/images/lock4@2x.png" class="w-16px h-21px" alt="">
|
|
||||||
</div>
|
|
||||||
<div class="text-#2B53AC text-10px">开启出价</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
video {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,35 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
import useCounter from '~/composables/counter'
|
|
||||||
|
|
||||||
definePageMeta({
|
|
||||||
title: '🍍 持久化 Pinia 状态',
|
|
||||||
i18n: 'menu.persistPiniaState',
|
|
||||||
})
|
|
||||||
|
|
||||||
const counter = useCounter()
|
|
||||||
|
|
||||||
function add() {
|
|
||||||
counter.increment()
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<h1 class="text-6xl color-pink font-semibold">
|
|
||||||
Hello, Pinia!
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<p class="mt-10 text-gray-700 dark:text-white">
|
|
||||||
{{ $t('counter_page.label') }}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="mt-10">
|
|
||||||
{{ $t('counter_page.label_num') }}:
|
|
||||||
<strong class="text-green-500"> {{ counter.count }} </strong>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<button class="mt-10 btn" @click="add">
|
|
||||||
{{ $t('counter_page.btn_add') }}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
@ -1,12 +1,13 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import liveBroadcast from '@/components/liveBroadcast/index.vue'
|
import liveBroadcast from '@/components/liveBroadcast/index.vue'
|
||||||
import {useRect} from '@vant/use';
|
import {useRect} from '@vant/use';
|
||||||
|
import LiveRoom from '@/pages/LiveRoom/index.client.vue'
|
||||||
import itemDetail from '@/components/itemDetail/index.vue'
|
import itemDetail from '@/components/itemDetail/index.vue'
|
||||||
|
|
||||||
|
import { homeStore } from "@/stores/home/index.js";
|
||||||
|
const { fullLive } = homeStore()
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
layout: 'default',
|
layout: 'default',
|
||||||
title: '主页',
|
|
||||||
i18n: 'menu.home',
|
i18n: 'menu.home',
|
||||||
})
|
})
|
||||||
const liveRef = ref(null)
|
const liveRef = ref(null)
|
||||||
@ -43,6 +44,16 @@ const list = ref([{
|
|||||||
title: '张天赐 | 日出而作,日落而息',
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
transactionPrice: '',
|
transactionPrice: '',
|
||||||
|
},{
|
||||||
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
||||||
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
|
startingPrice: 'RMB 1,000',
|
||||||
|
transactionPrice: 'RMB 10,000',
|
||||||
|
},{
|
||||||
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
||||||
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
|
startingPrice: 'RMB 1,000',
|
||||||
|
transactionPrice: 'RMB 10,000',
|
||||||
}])
|
}])
|
||||||
const page = ref(1)
|
const page = ref(1)
|
||||||
|
|
||||||
@ -95,12 +106,26 @@ const openShow = () => {
|
|||||||
show.value = true
|
show.value = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const changeLive=()=>{
|
||||||
|
fullLive.value=true
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="bg-#fff flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<liveBroadcast ref="liveRef"/>
|
<div
|
||||||
|
@click="changeLive"
|
||||||
|
:class="[
|
||||||
|
'changeLive',
|
||||||
|
fullLive ? 'expanded' : 'collapsed'
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
<client-only>
|
||||||
|
<LiveRoom ref="liveRef" :fullLive="fullLive" />
|
||||||
|
</client-only>
|
||||||
|
</div>
|
||||||
|
<transition name="fade">
|
||||||
|
<div v-show="!fullLive" class="bg-#fff" >
|
||||||
<van-tabs sticky animated>
|
<van-tabs sticky animated>
|
||||||
<van-tab title="拍品列表">
|
<van-tab title="拍品列表">
|
||||||
<div class="px-[16px] pt-[16px]">
|
<div class="px-[16px] pt-[16px]">
|
||||||
@ -203,19 +228,42 @@ const openShow = () => {
|
|||||||
</div>
|
</div>
|
||||||
</van-action-sheet>
|
</van-action-sheet>
|
||||||
</div>
|
</div>
|
||||||
|
</transition>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:root:root {
|
:root:root {
|
||||||
--van-action-sheet-header-height: 39px;
|
--van-action-sheet-header-height: 39px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
:deep(.van-swipe__indicator) {
|
:deep(.van-swipe__indicator) {
|
||||||
width: 8px;
|
width: 8px;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
}
|
}
|
||||||
|
.fade-enter-active, .fade-leave-active {
|
||||||
|
transition: opacity 1s;
|
||||||
|
}
|
||||||
|
.fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
:deep(.van-swipe__indicator:not(.van-swipe__indicator--active) ) {
|
:deep(.van-swipe__indicator:not(.van-swipe__indicator--active) ) {
|
||||||
background: rgba(0, 0, 0, 0.8);
|
background: rgba(0, 0, 0, 0.8);
|
||||||
}
|
}
|
||||||
|
.changeLive {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: height 0.5s ease, transform 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.changeLive.collapsed {
|
||||||
|
height: 188px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.changeLive.expanded {
|
||||||
|
height: calc(100vh - var(--van-nav-bar-height));
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -44,7 +44,7 @@ definePageMeta({
|
|||||||
<div class="flex flex-col justify-between">
|
<div class="flex flex-col justify-between">
|
||||||
<div class="text-#000 text-16px ellipsis line-height-21px">张天赐 | 日出而作,日落而息撒打算撒打算撒打决赛多久啊是世奥兰…</div>
|
<div class="text-#000 text-16px ellipsis line-height-21px">张天赐 | 日出而作,日落而息撒打算撒打算撒打决赛多久啊是世奥兰…</div>
|
||||||
<div class="text-#575757 text-14px line-height-none ">起拍价:RMB 1,000</div>
|
<div class="text-#575757 text-14px line-height-none ">起拍价:RMB 1,000</div>
|
||||||
<div class="text-#B58047 text-14px line-height-none">成交价:RMB 10,000</div>
|
<div class="text-[#fdc181ff] line-height-none">成交价:RMB 10,000</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
BIN
app/static/images/lockdfd@2x.png
Normal file
BIN
app/static/images/lockdfd@2x.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 995 B |
7
app/stores/home/index.js
Normal file
7
app/stores/home/index.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import { createGlobalState } from '@vueuse/core'
|
||||||
|
export const homeStore = createGlobalState(() => {
|
||||||
|
const fullLive=ref(false)
|
||||||
|
return{
|
||||||
|
fullLive
|
||||||
|
}
|
||||||
|
})
|
@ -12,7 +12,6 @@
|
|||||||
"404Demo": "🙅 Page 404 Demo",
|
"404Demo": "🙅 Page 404 Demo",
|
||||||
"unocssExample": "🎨 Unocss example",
|
"unocssExample": "🎨 Unocss example",
|
||||||
"keepAlive": "🧡 KeepAlive Demo",
|
"keepAlive": "🧡 KeepAlive Demo",
|
||||||
"persistPiniaState": "💾 Persist Pinia State",
|
|
||||||
"fetch": "🏄 Network Request"
|
"fetch": "🏄 Network Request"
|
||||||
},
|
},
|
||||||
"tabbar": {
|
"tabbar": {
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import process from 'node:process'
|
import process from 'node:process'
|
||||||
import { appDescription } from './app/constants/index'
|
|
||||||
import preload from './app/utils/preload'
|
import preload from './app/utils/preload'
|
||||||
import { currentLocales } from './i18n/i18n'
|
import { currentLocales } from './i18n/i18n'
|
||||||
|
|
||||||
export default defineNuxtConfig({
|
export default defineNuxtConfig({
|
||||||
|
|
||||||
hooks: {
|
hooks: {
|
||||||
@ -23,8 +21,6 @@ export default defineNuxtConfig({
|
|||||||
'@unocss/nuxt',
|
'@unocss/nuxt',
|
||||||
'@nuxtjs/color-mode',
|
'@nuxtjs/color-mode',
|
||||||
'@nuxtjs/i18n',
|
'@nuxtjs/i18n',
|
||||||
'@pinia/nuxt',
|
|
||||||
'pinia-plugin-persistedstate/nuxt',
|
|
||||||
],
|
],
|
||||||
runtimeConfig: {
|
runtimeConfig: {
|
||||||
public: {
|
public: {
|
||||||
@ -135,12 +131,6 @@ export default defineNuxtConfig({
|
|||||||
inlineStyles: false,
|
inlineStyles: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
eslint: {
|
|
||||||
config: {
|
|
||||||
standalone: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
future: {
|
future: {
|
||||||
compatibilityVersion: 4,
|
compatibilityVersion: 4,
|
||||||
},
|
},
|
||||||
|
@ -5,7 +5,10 @@
|
|||||||
"packageManager": "pnpm@9.15.1",
|
"packageManager": "pnpm@9.15.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
"dev": "nuxt dev",
|
"dev": "nuxt dev --mode test",
|
||||||
|
"dev:prod": "nuxt dev --mode prod",
|
||||||
|
"build:test": "nuxt build --mode test",
|
||||||
|
"build:prod": "nuxt build --mode prod",
|
||||||
"generate": "nuxt generate",
|
"generate": "nuxt generate",
|
||||||
"preview": "nuxt preview",
|
"preview": "nuxt preview",
|
||||||
"postinstall": "nuxt prepare",
|
"postinstall": "nuxt prepare",
|
||||||
@ -16,8 +19,8 @@
|
|||||||
"@nuxtjs/color-mode": "^3.5.2",
|
"@nuxtjs/color-mode": "^3.5.2",
|
||||||
"@nuxtjs/i18n": "^9.1.1",
|
"@nuxtjs/i18n": "^9.1.1",
|
||||||
"@vueuse/core": "^12.4.0",
|
"@vueuse/core": "^12.4.0",
|
||||||
|
"aliyun-aliplayer": "^2.28.5",
|
||||||
"nuxt": "^3.15.0",
|
"nuxt": "^3.15.0",
|
||||||
"pinia-plugin-persistedstate": "^4.2.0",
|
|
||||||
"pinyin": "4.0.0-alpha.2",
|
"pinyin": "4.0.0-alpha.2",
|
||||||
"segmentit": "^2.0.3",
|
"segmentit": "^2.0.3",
|
||||||
"vue": "^3.5.13",
|
"vue": "^3.5.13",
|
||||||
@ -25,12 +28,10 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify-json/carbon": "^1.2.5",
|
"@iconify-json/carbon": "^1.2.5",
|
||||||
"@pinia/nuxt": "^0.9.0",
|
|
||||||
"@unocss/nuxt": "0.65.2",
|
"@unocss/nuxt": "0.65.2",
|
||||||
"@unocss/preset-rem-to-px": "0.65.2",
|
"@unocss/preset-rem-to-px": "0.65.2",
|
||||||
"@vant/nuxt": "^1.0.6",
|
"@vant/nuxt": "^1.0.6",
|
||||||
"bumpp": "^9.9.2",
|
"bumpp": "^9.9.2",
|
||||||
"pinia": "^2.3.0",
|
|
||||||
"postcss-mobile-forever": "^4.3.1",
|
"postcss-mobile-forever": "^4.3.1",
|
||||||
"sass": "^1.83.1",
|
"sass": "^1.83.1",
|
||||||
"sass-loader": "^16.0.4",
|
"sass-loader": "^16.0.4",
|
||||||
|
102
pnpm-lock.yaml
102
pnpm-lock.yaml
@ -20,12 +20,12 @@ importers:
|
|||||||
'@vueuse/core':
|
'@vueuse/core':
|
||||||
specifier: ^12.4.0
|
specifier: ^12.4.0
|
||||||
version: 12.4.0(typescript@5.7.2)
|
version: 12.4.0(typescript@5.7.2)
|
||||||
|
aliyun-aliplayer:
|
||||||
|
specifier: ^2.28.5
|
||||||
|
version: 2.28.5
|
||||||
nuxt:
|
nuxt:
|
||||||
specifier: ^3.15.0
|
specifier: ^3.15.0
|
||||||
version: 3.15.0(@parcel/watcher@2.5.0)(@types/node@22.10.2)(db0@0.2.1)(eslint@9.17.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.2)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)
|
version: 3.15.0(@parcel/watcher@2.5.0)(@types/node@22.10.2)(db0@0.2.1)(eslint@9.17.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.29.1)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.2)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)
|
||||||
pinia-plugin-persistedstate:
|
|
||||||
specifier: ^4.2.0
|
|
||||||
version: 4.2.0(@pinia/nuxt@0.9.0(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1))(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1)
|
|
||||||
pinyin:
|
pinyin:
|
||||||
specifier: 4.0.0-alpha.2
|
specifier: 4.0.0-alpha.2
|
||||||
version: 4.0.0-alpha.2(segmentit@2.0.3)
|
version: 4.0.0-alpha.2(segmentit@2.0.3)
|
||||||
@ -42,9 +42,6 @@ importers:
|
|||||||
'@iconify-json/carbon':
|
'@iconify-json/carbon':
|
||||||
specifier: ^1.2.5
|
specifier: ^1.2.5
|
||||||
version: 1.2.5
|
version: 1.2.5
|
||||||
'@pinia/nuxt':
|
|
||||||
specifier: ^0.9.0
|
|
||||||
version: 0.9.0(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1)
|
|
||||||
'@unocss/nuxt':
|
'@unocss/nuxt':
|
||||||
specifier: 0.65.2
|
specifier: 0.65.2
|
||||||
version: 0.65.2(magicast@0.3.5)(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(webpack@5.97.1(esbuild@0.24.2))
|
version: 0.65.2(magicast@0.3.5)(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(sass@1.83.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))(webpack@5.97.1(esbuild@0.24.2))
|
||||||
@ -57,9 +54,6 @@ importers:
|
|||||||
bumpp:
|
bumpp:
|
||||||
specifier: ^9.9.2
|
specifier: ^9.9.2
|
||||||
version: 9.9.2(magicast@0.3.5)
|
version: 9.9.2(magicast@0.3.5)
|
||||||
pinia:
|
|
||||||
specifier: ^2.3.0
|
|
||||||
version: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
|
|
||||||
postcss-mobile-forever:
|
postcss-mobile-forever:
|
||||||
specifier: ^4.3.1
|
specifier: ^4.3.1
|
||||||
version: 4.3.1(postcss@8.4.49)
|
version: 4.3.1(postcss@8.4.49)
|
||||||
@ -1026,11 +1020,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==}
|
resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==}
|
||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
|
|
||||||
'@pinia/nuxt@0.9.0':
|
|
||||||
resolution: {integrity: sha512-2yeRo7LeyCF68AbNeL3xu2h6uw0617RkcsYxmA8DJM0R0PMdz5wQHnc44KeENQxR/Mrq8T910XVT6buosqsjBQ==}
|
|
||||||
peerDependencies:
|
|
||||||
pinia: ^2.3.0
|
|
||||||
|
|
||||||
'@pkgjs/parseargs@0.11.0':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
@ -1609,6 +1598,9 @@ packages:
|
|||||||
ajv@8.17.1:
|
ajv@8.17.1:
|
||||||
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
|
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
|
||||||
|
|
||||||
|
aliyun-aliplayer@2.28.5:
|
||||||
|
resolution: {integrity: sha512-UDy4Fj95fv/Syy0p8HRmYUGqadJHLuvucHEeJu6G71uHch87bllnaOI1r++ndfWu36oZph+dbArnP2eowR/Xsg==}
|
||||||
|
|
||||||
ansi-colors@4.1.3:
|
ansi-colors@4.1.3:
|
||||||
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
|
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@ -1904,6 +1896,9 @@ packages:
|
|||||||
crossws@0.3.1:
|
crossws@0.3.1:
|
||||||
resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
|
resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
|
||||||
|
|
||||||
|
crypto-js@4.2.0:
|
||||||
|
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
|
||||||
|
|
||||||
css-declaration-sorter@7.2.0:
|
css-declaration-sorter@7.2.0:
|
||||||
resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
|
resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
@ -1999,9 +1994,6 @@ packages:
|
|||||||
deep-is@0.1.4:
|
deep-is@0.1.4:
|
||||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||||
|
|
||||||
deep-pick-omit@1.2.1:
|
|
||||||
resolution: {integrity: sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==}
|
|
||||||
|
|
||||||
deepmerge@4.3.1:
|
deepmerge@4.3.1:
|
||||||
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@ -3104,26 +3096,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
pinia-plugin-persistedstate@4.2.0:
|
|
||||||
resolution: {integrity: sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@pinia/nuxt': '>=0.9.0'
|
|
||||||
pinia: '>=2.3.0'
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@pinia/nuxt':
|
|
||||||
optional: true
|
|
||||||
pinia:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
pinia@2.3.0:
|
|
||||||
resolution: {integrity: sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==}
|
|
||||||
peerDependencies:
|
|
||||||
typescript: '>=4.4.4'
|
|
||||||
vue: ^2.7.0 || ^3.5.11
|
|
||||||
peerDependenciesMeta:
|
|
||||||
typescript:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
pinyin@4.0.0-alpha.2:
|
pinyin@4.0.0-alpha.2:
|
||||||
resolution: {integrity: sha512-SED2wWr1X0QwH6rXIDgg20zS1mAk0AVMO8eM3KomUlOYzC8mNMWZnspZWhhI0M8MBIbF2xwa+5r30jTSjAqNsg==}
|
resolution: {integrity: sha512-SED2wWr1X0QwH6rXIDgg20zS1mAk0AVMO8eM3KomUlOYzC8mNMWZnspZWhhI0M8MBIbF2xwa+5r30jTSjAqNsg==}
|
||||||
engines: {install-node: ^18.0.0}
|
engines: {install-node: ^18.0.0}
|
||||||
@ -4074,17 +4046,6 @@ packages:
|
|||||||
vue-bundle-renderer@2.1.1:
|
vue-bundle-renderer@2.1.1:
|
||||||
resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==}
|
resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==}
|
||||||
|
|
||||||
vue-demi@0.14.10:
|
|
||||||
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
hasBin: true
|
|
||||||
peerDependencies:
|
|
||||||
'@vue/composition-api': ^1.0.0-rc.1
|
|
||||||
vue: ^3.0.0-0 || ^2.6.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@vue/composition-api':
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
vue-devtools-stub@0.1.0:
|
vue-devtools-stub@0.1.0:
|
||||||
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
|
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
|
||||||
|
|
||||||
@ -5210,15 +5171,6 @@ snapshots:
|
|||||||
'@parcel/watcher-win32-ia32': 2.5.0
|
'@parcel/watcher-win32-ia32': 2.5.0
|
||||||
'@parcel/watcher-win32-x64': 2.5.0
|
'@parcel/watcher-win32-x64': 2.5.0
|
||||||
|
|
||||||
'@pinia/nuxt@0.9.0(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1)':
|
|
||||||
dependencies:
|
|
||||||
'@nuxt/kit': 3.15.0(magicast@0.3.5)(rollup@4.29.1)
|
|
||||||
pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- magicast
|
|
||||||
- rollup
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@pkgjs/parseargs@0.11.0':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@ -5979,6 +5931,10 @@ snapshots:
|
|||||||
json-schema-traverse: 1.0.0
|
json-schema-traverse: 1.0.0
|
||||||
require-from-string: 2.0.2
|
require-from-string: 2.0.2
|
||||||
|
|
||||||
|
aliyun-aliplayer@2.28.5:
|
||||||
|
dependencies:
|
||||||
|
crypto-js: 4.2.0
|
||||||
|
|
||||||
ansi-colors@4.1.3: {}
|
ansi-colors@4.1.3: {}
|
||||||
|
|
||||||
ansi-escapes@4.3.2:
|
ansi-escapes@4.3.2:
|
||||||
@ -6289,6 +6245,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
uncrypto: 0.1.3
|
uncrypto: 0.1.3
|
||||||
|
|
||||||
|
crypto-js@4.2.0: {}
|
||||||
|
|
||||||
css-declaration-sorter@7.2.0(postcss@8.4.49):
|
css-declaration-sorter@7.2.0(postcss@8.4.49):
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss: 8.4.49
|
postcss: 8.4.49
|
||||||
@ -6384,8 +6342,6 @@ snapshots:
|
|||||||
|
|
||||||
deep-is@0.1.4: {}
|
deep-is@0.1.4: {}
|
||||||
|
|
||||||
deep-pick-omit@1.2.1: {}
|
|
||||||
|
|
||||||
deepmerge@4.3.1: {}
|
deepmerge@4.3.1: {}
|
||||||
|
|
||||||
default-browser-id@5.0.0: {}
|
default-browser-id@5.0.0: {}
|
||||||
@ -7698,30 +7654,6 @@ snapshots:
|
|||||||
|
|
||||||
picomatch@4.0.2: {}
|
picomatch@4.0.2: {}
|
||||||
|
|
||||||
pinia-plugin-persistedstate@4.2.0(@pinia/nuxt@0.9.0(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1))(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1):
|
|
||||||
dependencies:
|
|
||||||
'@nuxt/kit': 3.15.0(magicast@0.3.5)(rollup@4.29.1)
|
|
||||||
deep-pick-omit: 1.2.1
|
|
||||||
defu: 6.1.4
|
|
||||||
destr: 2.0.3
|
|
||||||
optionalDependencies:
|
|
||||||
'@pinia/nuxt': 0.9.0(magicast@0.3.5)(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))(rollup@4.29.1)
|
|
||||||
pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- magicast
|
|
||||||
- rollup
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)):
|
|
||||||
dependencies:
|
|
||||||
'@vue/devtools-api': 6.6.4
|
|
||||||
vue: 3.5.13(typescript@5.7.2)
|
|
||||||
vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.2))
|
|
||||||
optionalDependencies:
|
|
||||||
typescript: 5.7.2
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@vue/composition-api'
|
|
||||||
|
|
||||||
pinyin@4.0.0-alpha.2(segmentit@2.0.3):
|
pinyin@4.0.0-alpha.2(segmentit@2.0.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
commander: 1.1.1
|
commander: 1.1.1
|
||||||
@ -8678,10 +8610,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ufo: 1.5.4
|
ufo: 1.5.4
|
||||||
|
|
||||||
vue-demi@0.14.10(vue@3.5.13(typescript@5.7.2)):
|
|
||||||
dependencies:
|
|
||||||
vue: 3.5.13(typescript@5.7.2)
|
|
||||||
|
|
||||||
vue-devtools-stub@0.1.0: {}
|
vue-devtools-stub@0.1.0: {}
|
||||||
|
|
||||||
vue-flow-layout@0.1.1(vue@3.5.13(typescript@5.7.2)):
|
vue-flow-layout@0.1.1(vue@3.5.13(typescript@5.7.2)):
|
||||||
|
Loading…
Reference in New Issue
Block a user