From 3e18012b1be4f48b3a7b0d3e07bde999d909061e Mon Sep 17 00:00:00 2001 From: speakeloudest Date: Thu, 24 Jul 2025 18:13:36 -0700 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=89=88=E6=9C=AC=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/app/dashboard/tool/page.tsx | 119 +------------------------ 1 file changed, 1 insertion(+), 118 deletions(-) diff --git a/apps/admin/app/dashboard/tool/page.tsx b/apps/admin/app/dashboard/tool/page.tsx index d02407c..5295c6a 100644 --- a/apps/admin/app/dashboard/tool/page.tsx +++ b/apps/admin/app/dashboard/tool/page.tsx @@ -1,6 +1,6 @@ 'use client'; -import { getSystemLog, getVersion, restartSystem } from '@/services/admin/tool'; +import { getSystemLog, restartSystem } from '@/services/admin/tool'; import { useQuery } from '@tanstack/react-query'; import { Accordion, @@ -29,7 +29,6 @@ import { } from '@workspace/ui/components/card'; import { ScrollArea } from '@workspace/ui/components/scroll-area'; import { Icon } from '@workspace/ui/custom-components/icon'; -import { formatDate } from '@workspace/ui/utils'; import { useTranslations } from 'next-intl'; import { useState } from 'react'; import packageJson from '../../../../../package.json'; @@ -60,91 +59,6 @@ export default function Page() { const [openRestart, setOpenRestart] = useState(false); const [isRestarting, setIsRestarting] = useState(false); - const { data: latestReleases } = useQuery({ - queryKey: ['getLatestReleases'], - queryFn: async () => { - try { - const [webResponse, serverResponse] = await Promise.all([ - fetch('https://api.github.com/repos/perfect-panel/ppanel-web/releases/latest'), - fetch('https://api.github.com/repos/perfect-panel/server/releases/latest'), - ]); - - const webData = webResponse.ok ? await webResponse.json() : null; - const serverData = serverResponse.ok ? await serverResponse.json() : null; - - return { - web: webData - ? { - version: webData.tag_name, - url: webData.html_url, - publishedAt: webData.published_at, - } - : null, - server: serverData - ? { - version: serverData.tag_name, - url: serverData.html_url, - publishedAt: serverData.published_at, - } - : null, - }; - } catch (error) { - console.error('Failed to fetch latest releases:', error); - return { web: null, server: null }; - } - }, - staleTime: 60 * 60 * 1000, - retry: 1, - retryDelay: 10000, - }); - - // 检查是否有新版本 - const hasNewVersion = - latestReleases?.web && packageJson.version !== latestReleases.web.version.replace(/^v/, ''); - - const { data: systemInfo } = useQuery({ - queryKey: ['getVersion'], - queryFn: async () => { - const { data } = await getVersion(); - - const versionString = data.data?.version || ''; - const releaseVersionRegex = /^[Vv]?\d+\.\d+\.\d+$/; - const timeMatch = versionString.match(/\(([^)]+)\)/); - const timeInBrackets = timeMatch ? timeMatch[1] : ''; - - const versionWithoutTime = versionString.replace(/\([^)]*\)/, '').trim(); - const isDevelopment = !releaseVersionRegex.test(versionWithoutTime); - - let baseVersion = versionWithoutTime; - let versionSuffix = ''; - let lastUpdated = ''; - - if (isDevelopment && versionWithoutTime.includes('-')) { - const parts = versionWithoutTime.split('-'); - baseVersion = parts[0] || versionWithoutTime; - versionSuffix = parts.slice(1).join('-'); - } - - lastUpdated = formatDate(new Date(timeInBrackets || Date.now())) || ''; - - const displayVersion = - baseVersion.startsWith('V') || baseVersion.startsWith('v') - ? baseVersion - : `V${baseVersion}`; - - return { - isRelease: !isDevelopment, - version: displayVersion, - lastUpdated, - }; - }, - }); - - const hasServerNewVersion = - latestReleases?.server && - systemInfo && - systemInfo.version.replace(/^V/, '') !== latestReleases.server.version.replace(/^v/, ''); - return ( @@ -220,37 +134,6 @@ export default function Page() {
{t('serverVersion')} - - {systemInfo?.version || 'V1.0.0'} - {!systemInfo?.isRelease && ( - {t('developmentVersion')} - )} - -
- -
- {hasServerNewVersion && ( - - )} -
-
{systemInfo?.lastUpdated || '--'}