diff --git a/components.d.ts b/components.d.ts index 842ae72d..adba0235 100644 --- a/components.d.ts +++ b/components.d.ts @@ -10,6 +10,7 @@ declare module 'vue' { DialogCloseBtn: typeof import('./src/@core/components/DialogCloseBtn.vue')['default'] ErrorHeader: typeof import('./src/@core/components/ErrorHeader.vue')['default'] ExistIcon: typeof import('./src/@core/components/ExistIcon.vue')['default'] + LoadingBanner: typeof import('./src/@core/components/LoadingBanner.vue')['default'] MoreBtn: typeof import('./src/@core/components/MoreBtn.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] diff --git a/package.json b/package.json index 4d0456e7..2e0157c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moviepilot", - "version": "1.8.2", + "version": "1.8.2-2", "private": true, "bin": "dist/service.js", "scripts": { diff --git a/src/@core/components/LoadingBanner.vue b/src/@core/components/LoadingBanner.vue new file mode 100644 index 00000000..8e97558c --- /dev/null +++ b/src/@core/components/LoadingBanner.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/App.vue b/src/App.vue index 762f79b6..1f367415 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,13 +2,8 @@ import { useToast } from 'vue-toast-notification' import { useTheme } from 'vuetify' import api from '@/api' - import store from './store' -import { fixArrayAt } from '@/@core/utils/compatibility' - -// 修复低版本Safari等浏览器数组不支持at函数的问题 -fixArrayAt() // 提示框 const $toast = useToast() diff --git a/src/api/types.ts b/src/api/types.ts index 1d0efbe1..ff6ebb33 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -88,6 +88,9 @@ export interface Subscribe { // 保存目录 save_path: string + + // 时间 + date: string } // 历史记录 diff --git a/src/components/FileBrowser.vue b/src/components/FileBrowser.vue index a3ec9e19..e4c7e9a3 100644 --- a/src/components/FileBrowser.vue +++ b/src/components/FileBrowser.vue @@ -1,9 +1,8 @@ diff --git a/src/components/cards/CardStatisticsHorizontal.vue b/src/components/cards/CardStatisticsHorizontal.vue deleted file mode 100644 index 6f083fd6..00000000 --- a/src/components/cards/CardStatisticsHorizontal.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/src/components/cards/CardStatisticsVertical.vue b/src/components/cards/CardStatisticsVertical.vue deleted file mode 100644 index 67ad117a..00000000 --- a/src/components/cards/CardStatisticsVertical.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - diff --git a/src/components/cards/CardStatisticsWithImages.vue b/src/components/cards/CardStatisticsWithImages.vue deleted file mode 100644 index 1d2094df..00000000 --- a/src/components/cards/CardStatisticsWithImages.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/src/components/cards/LibraryCard.vue b/src/components/cards/LibraryCard.vue index 43ee7d98..f7c8d5b4 100644 --- a/src/components/cards/LibraryCard.vue +++ b/src/components/cards/LibraryCard.vue @@ -56,7 +56,7 @@ function getImgUrl(url: string) { if (!url) return getDefaultImage() else - return `${import.meta.env.VITE_API_BASE_URL}system/img/0/${encodeURIComponent(url).replace(/%2F/g, '/')}` + return `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(url)}` } // 根据多张图片生成媒体库封面 @@ -68,7 +68,7 @@ async function drawImages(imageList: string[]) { // 为所有图片添加system/img前缀 for (let i = 0; i < IMAGES.length; i++) - IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0/${encodeURIComponent(IMAGES[i]).replace(/%2F/g, '/')}` + IMAGES[i] = `${import.meta.env.VITE_API_BASE_URL}system/img/0?imgurl=${encodeURIComponent(IMAGES[i])}` // canvas const canvas = canvasRef.value diff --git a/src/components/cards/MediaCard.vue b/src/components/cards/MediaCard.vue index 05155b98..37e8f295 100644 --- a/src/components/cards/MediaCard.vue +++ b/src/components/cards/MediaCard.vue @@ -1,7 +1,7 @@ @@ -53,7 +53,7 @@ function goPlay() { 'transition transform-cpu duration-300 scale-105 shadow-lg': hover.isHovering, 'ring-1': isImageLoaded, }" - @click.stop="goPlay" + @click.stop="goPlay(hover.isHovering)" > import type { PropType } from 'vue' import { useToast } from 'vue-toast-notification' -import SiteAddEditForm from '../form/SiteAddEditForm.vue' +import SiteAddEditDialog from '../dialog/SiteAddEditDialog.vue' import SiteTorrentTable from '../table/SiteTorrentTable.vue' import { requiredValidator } from '@/@validators' import api from '@/api' @@ -166,13 +166,19 @@ const statColor = computed(() => { } else if (siteStats.value?.lst_state == 0){ if (!siteStats.value?.seconds) - return 'success' + return 'secondary' if (siteStats.value?.seconds >= 5) return 'warning' return 'success' } }) +// 监听resourceDialog,如果为false则重新查询站点使用统计 +watch(resourceDialog, (value) => { + if (!value) + getSiteStats() +}) + // 装载时查询站点图标 onMounted(() => { getSiteIcon() @@ -360,7 +366,7 @@ onMounted(() => { - import { useToast } from 'vue-toast-notification' -import SubscribeEditForm from '../form/SubscribeEditForm.vue' +import SubscribeEditDialog from '../dialog/SubscribeEditDialog.vue' import { calculateTimeDifference } from '@/@core/utils' import { formatSeason } from '@/@core/utils/formatters' import api from '@/api' @@ -284,7 +284,7 @@ const dropdownItems = ref([ /> - +// 输入参数 +const props = defineProps({ + title: String, +}) + +// 定义事件 +const emit = defineEmits(['update:modelValue', 'close']) + +// 代码 +const codeString = ref('') + +// 导入 +function handleImport() { + emit('update:modelValue', codeString.value) + emit('close') +} + + + diff --git a/src/components/form/ReorganizeForm.vue b/src/components/dialog/ReorganizeDialog.vue similarity index 99% rename from src/components/form/ReorganizeForm.vue rename to src/components/dialog/ReorganizeDialog.vue index c4fcc8f4..fa851c86 100644 --- a/src/components/form/ReorganizeForm.vue +++ b/src/components/dialog/ReorganizeDialog.vue @@ -1,6 +1,6 @@ + +