♻️ 重构Github插件请求逻辑,完善错误处理

This commit is contained in:
BTMuli
2026-04-08 19:23:20 +08:00
parent 5af4b64174
commit 6e86ac64bb
2 changed files with 20 additions and 13 deletions

View File

@@ -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<void> {
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}`);

View File

@@ -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<string> {
const latestReleaseApi: Readonly<string> =
async function getLrv(): Promise<string> {
const LR_API: Readonly<string> =
"https://api.github.com/repos/BTMuli/TeyvatGuide/releases/latest";
try {
const latestReleaseResp = await TGHttp<TGApp.Plugins.Github.LastestReleaseResp>(
latestReleaseApi,
{ method: "GET" },
);
return latestReleaseResp.tag_name.replace("v", "");
const lrResp = await TGHttps.get<TGApp.Plugins.Github.LastestReleaseResp>(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;