diff --git a/src/components/t-pool.vue b/src/components/t-pool.vue index 97ec3a06..ec3c87b6 100644 --- a/src/components/t-pool.vue +++ b/src/components/t-pool.vue @@ -146,7 +146,7 @@ function getLastPoolTime(time: number) { return `${hour}:${minute.toFixed(0).padStart(2, "0")}:${second.toFixed(0).padStart(2, "0")}`; } -async function toPost(pool: GachaCard) { +function toPost(pool: GachaCard) { const path = router.resolve({ name: "帖子详情", params: { diff --git a/src/utils/TGWindow.ts b/src/utils/TGWindow.ts index 4fa6b125..1904dafd 100644 --- a/src/utils/TGWindow.ts +++ b/src/utils/TGWindow.ts @@ -2,12 +2,13 @@ * @file utils TGWindow.ts * @description 用于创建TG窗口的工具 * @author BTMuli - * @since Alpha + * @since Alpha v0.1.2 */ import { window as TauriWindow } from "@tauri-apps/api"; /** * @description 创建TG窗口 + * @since Alpha v0.1.2 * @param {string} url 窗口地址 * @param {string} label 窗口标签 * @param {string} title 窗口标题 @@ -27,20 +28,18 @@ export function createTGWindow( // 计算窗口位置 const left = (window.screen.width - width) / 2; const top = (window.screen.height - height) / 2; - // 判断窗口是否存在 - if (TauriWindow.WebviewWindow.getByLabel(label)) { - new TauriWindow.WindowManager(label).close().then(() => { - new TauriWindow.WebviewWindow(label, { - height: height, - width: width, - x: left, - y: top, - resizable: resizable, - url: url, - title: title, - }); - }); - } else { + // https://github.com/tauri-apps/tauri/issues/5380 + new TauriWindow.WebviewWindow(label, { + height: height, + width: width, + x: left, + y: top, + resizable: resizable, + url: url, + title: title, + visible: false, + }); + new TauriWindow.WindowManager(label).close().then(() => { new TauriWindow.WebviewWindow(label, { height: height, width: width, @@ -49,6 +48,7 @@ export function createTGWindow( resizable: resizable, url: url, title: title, + visible: false, }); - } + }); } diff --git a/src/views/t-anno-json.vue b/src/views/t-anno-json.vue index f77bbf67..2ff29db3 100644 --- a/src/views/t-anno-json.vue +++ b/src/views/t-anno-json.vue @@ -15,6 +15,8 @@ import { ref, onMounted, reactive } from "vue"; import { useRoute } from "vue-router"; import JsonViewer from "vue-json-viewer"; import TLoading from "../components/t-loading.vue"; +// tauri +import { appWindow } from "@tauri-apps/api/window"; // plugins import GenshinOper from "../plugins/Genshin"; // interface @@ -31,6 +33,7 @@ let jsonList = reactive({}); let jsonContent = reactive({}); onMounted(async () => { + await appWindow.show(); // 检查数据 if (!anno_id) { loadingEmpty.value = true; diff --git a/src/views/t-anno.vue b/src/views/t-anno.vue index 60df2003..c873220b 100644 --- a/src/views/t-anno.vue +++ b/src/views/t-anno.vue @@ -14,6 +14,8 @@ import { ref, onMounted } from "vue"; import { useRoute } from "vue-router"; import TLoading from "../components/t-loading.vue"; +// tauri +import { appWindow } from "@tauri-apps/api/window"; // plugins import GenshinOper from "../plugins/Genshin"; // interface @@ -30,6 +32,7 @@ const annoData = ref({} as AnnoContentItem); const annoHtml = ref(""); onMounted(async () => { + await appWindow.show(); // 检查数据 if (!anno_id) { loadingEmpty.value = true; diff --git a/src/views/t-lottery.vue b/src/views/t-lottery.vue index d107eaad..b0c17cee 100644 --- a/src/views/t-lottery.vue +++ b/src/views/t-lottery.vue @@ -51,6 +51,8 @@ import { ref, onMounted } from "vue"; import { useRoute } from "vue-router"; import TLoading from "../components/t-loading.vue"; +// tauri +import { appWindow } from "@tauri-apps/api/window"; // plugins import MysOper from "../plugins/Mys"; // interface @@ -70,6 +72,7 @@ function backPost() { } onMounted(async () => { + await appWindow.show(); // 检查数据 if (!lottery_id) { loadingEmpty.value = true; diff --git a/src/views/t-news.vue b/src/views/t-news.vue index 98b85eaa..f7fbb787 100644 --- a/src/views/t-news.vue +++ b/src/views/t-news.vue @@ -205,10 +205,9 @@ onMounted(async () => { const activityData = await MysOper.News.get.activity(gid); rawData.value.activity.is_last = activityData.is_last; rawData.value.activity.last_id = activityData.list.length; - if (showNews) { + if (showNews.value) { loadingTitle.value = "正在获取新闻数据..."; const newsData = await MysOper.News.get.news(gid); - console.log(newsData); rawData.value.news!.is_last = newsData.is_last; rawData.value.news!.last_id = newsData.list.length; postData.value = { diff --git a/src/views/t-post-json.vue b/src/views/t-post-json.vue index cc22ee39..70580cbc 100644 --- a/src/views/t-post-json.vue +++ b/src/views/t-post-json.vue @@ -12,6 +12,8 @@ import { ref, onMounted, reactive } from "vue"; import { useRoute } from "vue-router"; import JsonViewer from "vue-json-viewer"; import TLoading from "../components/t-loading.vue"; +// tauri +import { appWindow } from "@tauri-apps/api/window"; // plugins import MysOper from "../plugins/Mys"; @@ -25,6 +27,7 @@ const post_id = Number(useRoute().params.post_id); let jsonData = reactive({}); onMounted(async () => { + await appWindow.show(); // 检查数据 if (!post_id) { loadingEmpty.value = true; diff --git a/src/views/t-post.vue b/src/views/t-post.vue index e7b3b4b7..0f6f87ce 100644 --- a/src/views/t-post.vue +++ b/src/views/t-post.vue @@ -24,6 +24,7 @@ const post_id = Number(useRoute().params.post_id); const postHtml = ref(""); onMounted(async () => { + await appWindow.show(); // 检查数据 if (!post_id) { loadingEmpty.value = true; @@ -39,6 +40,7 @@ onMounted(async () => { postHtml.value = MysOper.Post.parser(postData); await appWindow.setTitle(postData.post.subject); } catch (error) { + console.error(error); loadingEmpty.value = true; loadingTitle.value = "帖子不存在或解析失败"; await appWindow.setTitle("帖子不存在或解析失败");