mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-04-22 21:59:49 +08:00
♻️ 重构Github插件请求逻辑,完善错误处理
This commit is contained in:
@@ -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}`);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user