diff --git a/package.json b/package.json index c77e4f24..2f63814d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moviepilot", - "version": "1.0.3", + "version": "1.0.8", "private": true, "scripts": { "dev": "vite --host", diff --git a/src/@core/utils/formatters.ts b/src/@core/utils/formatters.ts index a8de8d7d..c393b32f 100644 --- a/src/@core/utils/formatters.ts +++ b/src/@core/utils/formatters.ts @@ -95,3 +95,17 @@ export function parseDate(dateString: string): Date { return new Date(year, month - 1, day) } + +// 文件大小格式化 +export function formatBytes(bytes: number, decimals = 2) { + if (bytes === 0) + return '0 bytes' + + const k = 1024 + const dm = decimals < 0 ? 0 : decimals + const sizes = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] + + const i = Math.floor(Math.log(bytes) / Math.log(k)) + + return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}` +} diff --git a/src/App.vue b/src/App.vue index 5fd9dbad..e09d8670 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,7 +2,7 @@ import { useToast } from 'vue-toast-notification' import { useTheme } from 'vuetify' import api from './api' -import type { User } from './api/types' +import type { Setting, User } from './api/types' import store from './store' import avatar1 from '@images/avatars/avatar-1.png' @@ -47,6 +47,9 @@ const accountInfo = ref({ avatar: avatar1, }) +// 环境设置信息 +const systemEnv = ref() + // 调用API,加载当前用户数据 async function loadAccountInfo() { try { @@ -61,14 +64,28 @@ async function loadAccountInfo() { } } +// 调用API,加载当前系统环境设置 +async function loadSystemSettings() { + try { + const result: { [key: string]: any } = await api.get('system/env') + if (result.success) + systemEnv.value = result.data + } + catch (error) { + console.log(error) + } +} + // 页面加载时,加载当前用户数据 -onMounted(() => { - loadAccountInfo() +onBeforeMount(async () => { + await loadAccountInfo() + await loadSystemSettings() startSSEMessager() }) // 提供给所有元素复用 provide('accountInfo', accountInfo) +provide('systemEnv', systemEnv)