From 6e86ac64bbfc9e192e23a50a2180d4b7cf713716 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 8 Apr 2026 19:23:20 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84Github?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E8=AF=B7=E6=B1=82=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/common/PageHome.vue | 4 ++-- src/utils/Github.ts | 29 ++++++++++++++++++----------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/pages/common/PageHome.vue b/src/pages/common/PageHome.vue index 22b2d696..371658a5 100644 --- a/src/pages/common/PageHome.vue +++ b/src/pages/common/PageHome.vue @@ -82,7 +82,7 @@ import useHomeStore from "@store/home.js"; import { getVersion } from "@tauri-apps/api/app"; import { invoke } from "@tauri-apps/api/core"; import { openUrl } from "@tauri-apps/plugin-opener"; -import { getLatestReleaseVersion } from "@utils/Github.js"; +import getLrv from "@utils/Github.js"; import TGLogger from "@utils/TGLogger.js"; import { storeToRefs } from "pinia"; import { defineComponent, onMounted, ref, shallowRef, watch } from "vue"; @@ -218,7 +218,7 @@ async function checkAppUpdate(): Promise { if (diffTime < 60 * 60 * 24) return; await TGLogger.Info("[Home][CheckAppUpdate]检测版本更新"); const versionApp = await getVersion(); - const versionCheck = await getLatestReleaseVersion(); + const versionCheck = await getLrv(); if (versionCheck === "0") return; if (versionCheck === versionApp) { await TGLogger.Info(`[Home][CheckAppUpdate]版本号一致:${versionCheck}`); diff --git a/src/utils/Github.ts b/src/utils/Github.ts index a650903a..a1383909 100644 --- a/src/utils/Github.ts +++ b/src/utils/Github.ts @@ -1,26 +1,33 @@ /** * Github API - * @since Beta v0.9.8 + * @since Beta v0.10.0 */ -import TGHttp from "@utils/TGHttp.js"; +import TGHttps from "./TGHttps.js"; +import showSnackbar from "@comp/func/snackbar.js"; +import TGLogger from "./TGLogger.js"; /** * 获取最新Release版本 - * @since Beta v0.9.8 + * @since Beta v0.10.0 * @returns 最新版本 */ -export async function getLatestReleaseVersion(): Promise { - const latestReleaseApi: Readonly = +async function getLrv(): Promise { + const LR_API: Readonly = "https://api.github.com/repos/BTMuli/TeyvatGuide/releases/latest"; try { - const latestReleaseResp = await TGHttp( - latestReleaseApi, - { method: "GET" }, - ); - return latestReleaseResp.tag_name.replace("v", ""); + const lrResp = await TGHttps.get(LR_API); + return lrResp.data.tag_name.replace("v", ""); } catch (e) { - console.error(e); + let errMsg = String(e); + if (TGHttps.isHttpErr(e)) { + errMsg = e.status ? `[${e.status}] ${e.statusText}` : e.message; + } + showSnackbar.warn(`获取远程仓库版本异常:${errMsg}`); + await TGLogger.Error(`[Github][getLrv] 获取远程仓库版本异常 ${LR_API}`); + await TGLogger.Error(`[Github][getLrv] ${e}`); return "0"; } } + +export default getLrv;