From e9856ac80f1b9eae9fb3fd275a4738e1fd3baa17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Fri, 14 Nov 2025 12:10:57 +0800 Subject: [PATCH] Refactor version API to GetNapCatVersion endpoint Replaces the PackageInfo API and related frontend usage with a dedicated GetNapCatVersion endpoint that returns only the NapCat version string. Updates backend handler, helper, types, router, and frontend components to use the new API for improved clarity and separation of concerns. --- packages/napcat-webui-backend/src/api/BaseInfo.ts | 6 +++--- packages/napcat-webui-backend/src/helper/Data.ts | 8 +++----- packages/napcat-webui-backend/src/router/Base.ts | 4 ++-- packages/napcat-webui-backend/src/types/data.d.ts | 2 +- .../napcat-webui-frontend/src/components/system_info.tsx | 2 +- .../src/controllers/webui_manager.ts | 4 ++-- .../napcat-webui-frontend/src/pages/dashboard/about.tsx | 2 +- 7 files changed, 13 insertions(+), 15 deletions(-) diff --git a/packages/napcat-webui-backend/src/api/BaseInfo.ts b/packages/napcat-webui-backend/src/api/BaseInfo.ts index 34665993..30c977c9 100644 --- a/packages/napcat-webui-backend/src/api/BaseInfo.ts +++ b/packages/napcat-webui-backend/src/api/BaseInfo.ts @@ -4,9 +4,9 @@ import { WebUiDataRuntime } from '@/napcat-webui-backend/helper/Data'; import { sendSuccess } from '@/napcat-webui-backend/utils/response'; import { WebUiConfig } from '@/napcat-webui-backend/index'; -export const PackageInfoHandler: RequestHandler = (_, res) => { - const data = WebUiDataRuntime.getPackageJson(); - sendSuccess(res, data); +export const GetNapCatVersion: RequestHandler = (_, res) => { + const data = WebUiDataRuntime.GetNapCatVersion(); + sendSuccess(res, { version: data }); }; export const QQVersionHandler: RequestHandler = (_, res) => { diff --git a/packages/napcat-webui-backend/src/helper/Data.ts b/packages/napcat-webui-backend/src/helper/Data.ts index 0de68886..3c766906 100644 --- a/packages/napcat-webui-backend/src/helper/Data.ts +++ b/packages/napcat-webui-backend/src/helper/Data.ts @@ -1,5 +1,4 @@ import type { LoginRuntimeType } from '../types/data'; -import packageJson from '../../../../package.json'; import store from 'napcat-common/src/store'; import { napCatVersion } from 'napcat-common/src/version'; @@ -31,12 +30,11 @@ const LoginRuntime: LoginRuntimeType = { QQLoginList: [], NewQQLoginList: [], }, - packageJson, + NapCatVersion: napCatVersion, WebUiConfigQuickFunction: async () => { }, }; -packageJson.version = napCatVersion; export const WebUiDataRuntime = { setWebUiTokenChangeCallback (func: (token: string) => Promise): void { LoginRuntime.onWebUiTokenChange = func; @@ -131,8 +129,8 @@ export const WebUiDataRuntime = { return LoginRuntime.NapCatHelper.onOB11ConfigChanged(ob11); } as LoginRuntimeType['NapCatHelper']['onOB11ConfigChanged'], - getPackageJson () { - return LoginRuntime.packageJson; + GetNapCatVersion () { + return LoginRuntime.NapCatVersion; }, setQQVersion (version: string) { diff --git a/packages/napcat-webui-backend/src/router/Base.ts b/packages/napcat-webui-backend/src/router/Base.ts index 4b638632..dec41c9a 100644 --- a/packages/napcat-webui-backend/src/router/Base.ts +++ b/packages/napcat-webui-backend/src/router/Base.ts @@ -1,12 +1,12 @@ import { Router } from 'express'; -import { GetThemeConfigHandler, PackageInfoHandler, QQVersionHandler, SetThemeConfigHandler } from '../api/BaseInfo'; +import { GetThemeConfigHandler, GetNapCatVersion, QQVersionHandler, SetThemeConfigHandler } from '../api/BaseInfo'; import { StatusRealTimeHandler } from '@/napcat-webui-backend/api/Status'; import { GetProxyHandler } from '../api/Proxy'; const router = Router(); // router: 获取nc的package.json信息 router.get('/QQVersion', QQVersionHandler); -router.get('/PackageInfo', PackageInfoHandler); +router.get('/GetNapCatVersion', GetNapCatVersion); router.get('/GetSysStatusRealTime', StatusRealTimeHandler); router.get('/proxy', GetProxyHandler); router.get('/Theme', GetThemeConfigHandler); diff --git a/packages/napcat-webui-backend/src/types/data.d.ts b/packages/napcat-webui-backend/src/types/data.d.ts index f8a4b7e5..eb404f83 100644 --- a/packages/napcat-webui-backend/src/types/data.d.ts +++ b/packages/napcat-webui-backend/src/types/data.d.ts @@ -18,5 +18,5 @@ interface LoginRuntimeType { QQLoginList: string[]; NewQQLoginList: LoginListItem[]; }; - packageJson: object; + NapCatVersion: string; } diff --git a/packages/napcat-webui-frontend/src/components/system_info.tsx b/packages/napcat-webui-frontend/src/components/system_info.tsx index f63f7afc..3699e0d4 100644 --- a/packages/napcat-webui-frontend/src/components/system_info.tsx +++ b/packages/napcat-webui-frontend/src/components/system_info.tsx @@ -201,7 +201,7 @@ const NapCatVersion = () => { data: packageData, loading: packageLoading, error: packageError, - } = useRequest(WebUIManager.getPackageInfo); + } = useRequest(WebUIManager.GetNapCatVersion); const currentVersion = packageData?.version; diff --git a/packages/napcat-webui-frontend/src/controllers/webui_manager.ts b/packages/napcat-webui-frontend/src/controllers/webui_manager.ts index 051f36c6..76dad172 100644 --- a/packages/napcat-webui-frontend/src/controllers/webui_manager.ts +++ b/packages/napcat-webui-frontend/src/controllers/webui_manager.ts @@ -42,9 +42,9 @@ export default class WebUIManager { return data.data as ServerResponse; } - public static async getPackageInfo () { + public static async GetNapCatVersion () { const { data } = - await serverRequest.get>('/base/PackageInfo'); + await serverRequest.get>('/base/GetNapCatVersion'); return data.data; } diff --git a/packages/napcat-webui-frontend/src/pages/dashboard/about.tsx b/packages/napcat-webui-frontend/src/pages/dashboard/about.tsx index c4569185..743f8c32 100644 --- a/packages/napcat-webui-frontend/src/pages/dashboard/about.tsx +++ b/packages/napcat-webui-frontend/src/pages/dashboard/about.tsx @@ -19,7 +19,7 @@ import logo from '@/assets/images/logo.png'; import WebUIManager from '@/controllers/webui_manager'; function VersionInfo () { - const { data, loading, error } = useRequest(WebUIManager.getPackageInfo); + const { data, loading, error } = useRequest(WebUIManager.GetNapCatVersion); return (