diff --git a/src/pages/User/Abyss.vue b/src/pages/User/Abyss.vue index 21b28ab6..8997d3ee 100644 --- a/src/pages/User/Abyss.vue +++ b/src/pages/User/Abyss.vue @@ -137,6 +137,7 @@ import useUserStore from "@store/user.js"; import { getVersion } from "@tauri-apps/api/app"; import { open } from "@tauri-apps/plugin-dialog"; import { readTextFile } from "@tauri-apps/plugin-fs"; +import { openUrl } from "@tauri-apps/plugin-opener"; import TGLogger from "@utils/TGLogger.js"; import { generateShareImg } from "@utils/TGShare.js"; import { storeToRefs } from "pinia"; @@ -309,12 +310,21 @@ async function deleteAbyss(): Promise { await loadAbyss(); } -/** - * 尝试读取胡桃工具箱导出的深渊数据 - * @since Beta v0.8.6 - * @return {Promise} - */ +/** 尝试读取胡桃工具箱导出的深渊数据 */ async function tryReadAbyss(): Promise { + const checkF = await showDialog.checkF({ + title: "确认导入外部数据?", + text: "仅适用于特定工具导出的胡桃深渊数据\n(不适配本应用备份数据)", + cancelLabel: "查看详细说明", + }); + if (checkF === undefined) { + showSnackbar.cancel("取消导入深渊数据"); + return; + } + if (!checkF) { + await openUrl("https://app.btmuli.ink/docs/TeyvatGuide/import-hutao-db.html"); + return; + } const file = await open({ multiple: false, title: "选择胡桃工具箱导出的深渊数据文件", diff --git a/src/pages/User/Challenge.vue b/src/pages/User/Challenge.vue index d9c1fe6e..506aea57 100644 --- a/src/pages/User/Challenge.vue +++ b/src/pages/User/Challenge.vue @@ -155,6 +155,7 @@ import useUserStore from "@store/user.js"; import { getVersion } from "@tauri-apps/api/app"; import { open } from "@tauri-apps/plugin-dialog"; import { readTextFile } from "@tauri-apps/plugin-fs"; +import { openUrl } from "@tauri-apps/plugin-opener"; import TGLogger from "@utils/TGLogger.js"; import { generateShareImg } from "@utils/TGShare.js"; import { storeToRefs } from "pinia"; @@ -361,12 +362,21 @@ async function refreshPopList(hint: boolean = true): Promise { ); } -/** - * 尝试读取胡桃工具箱导出的危战数据 - * @since Beta v0.8.6 - * @return {Promise} - */ +/** 尝试读取胡桃工具箱导出的危战数据 */ async function tryReadChallenge(): Promise { + const checkF = await showDialog.checkF({ + title: "确认导入外部数据?", + text: "仅适用于特定工具导出的胡桃危战数据\n(不适配本应用备份数据)", + cancelLabel: "查看详细说明", + }); + if (checkF === undefined) { + showSnackbar.cancel("取消导入危战数据"); + return; + } + if (!checkF) { + await openUrl("https://app.btmuli.ink/docs/TeyvatGuide/import-hutao-db.html"); + return; + } const file = await open({ multiple: false, title: "选择胡桃工具箱导出的危战数据文件", diff --git a/src/pages/User/Combat.vue b/src/pages/User/Combat.vue index b0e17bc6..e5696b21 100644 --- a/src/pages/User/Combat.vue +++ b/src/pages/User/Combat.vue @@ -164,6 +164,7 @@ import useUserStore from "@store/user.js"; import { getVersion } from "@tauri-apps/api/app"; import { open } from "@tauri-apps/plugin-dialog"; import { readTextFile } from "@tauri-apps/plugin-fs"; +import { openUrl } from "@tauri-apps/plugin-opener"; import TGLogger from "@utils/TGLogger.js"; import { generateShareImg } from "@utils/TGShare.js"; import { storeToRefs } from "pinia"; @@ -480,12 +481,21 @@ async function uploadCombat(): Promise { await showLoading.end(); } -/** - * 尝试读取胡桃工具箱导出的剧诗数据 - * @since Beta v0.8.6 - * @returns {Promise} - */ +/** 尝试读取胡桃工具箱导出的剧诗数据 */ async function tryReadCombat(): Promise { + const checkF = await showDialog.checkF({ + title: "确认导入外部数据?", + text: "仅适用于特定工具导出的胡桃剧诗数据\n(不适配本应用备份数据)", + cancelLabel: "查看详细说明", + }); + if (checkF === undefined) { + showSnackbar.cancel("取消导入剧诗数据"); + return; + } + if (!checkF) { + await openUrl("https://app.btmuli.ink/docs/TeyvatGuide/import-hutao-db.html"); + return; + } const file = await open({ multiple: false, title: "选择胡桃工具箱导出的剧诗数据文件",