mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-14 09:38:13 +08:00
♻️ 姑且没登录的功能都给试了下
This commit is contained in:
@@ -106,7 +106,9 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { dialog, fs, path } from "@tauri-apps/api";
|
||||
import { path } from "@tauri-apps/api";
|
||||
import { open, save } from "@tauri-apps/plugin-dialog";
|
||||
import { writeTextFile } from "@tauri-apps/plugin-fs";
|
||||
import { computed, nextTick, onMounted, ref } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
@@ -338,7 +340,7 @@ async function searchCard(): Promise<void> {
|
||||
// 导入 UIAF 数据,进行数据合并、刷新
|
||||
async function importJson(): Promise<void> {
|
||||
await TGLogger.Info("[Achievements][importJson] 导入 UIAF 数据");
|
||||
const selectedFile = await dialog.open({
|
||||
const selectedFile = await open({
|
||||
title: "选择 UIAF 数据文件",
|
||||
multiple: false,
|
||||
filters: [
|
||||
@@ -358,9 +360,9 @@ async function importJson(): Promise<void> {
|
||||
await TGLogger.Info("[Achievements][importJson] 已取消文件选择");
|
||||
return;
|
||||
}
|
||||
const check = await verifyUiafData(<string>selectedFile);
|
||||
const check = await verifyUiafData(selectedFile.path);
|
||||
if (!check) return;
|
||||
const remoteRaw = await readUiafData(<string>selectedFile);
|
||||
const remoteRaw = await readUiafData(selectedFile.path);
|
||||
await TGLogger.Info("[Achievements][importJson] 读取 UIAF 数据成功");
|
||||
await TGLogger.Info(`[Achievements][importJson] 导入来源:${remoteRaw.info.export_app}`);
|
||||
await TGLogger.Info(`[Achievements][importJson] 导入版本:${remoteRaw.info.export_app_version}`);
|
||||
@@ -394,7 +396,7 @@ async function exportJson(): Promise<void> {
|
||||
list: await TSUserAchi.getUIAF(),
|
||||
};
|
||||
const fileName = `UIAF_${UiafData.info.export_app}_${UiafData.info.export_app_version}_${UiafData.info.export_timestamp}`;
|
||||
const isSave = await dialog.save({
|
||||
const isSave = await save({
|
||||
title: "导出 UIAF 数据",
|
||||
filters: [
|
||||
{
|
||||
@@ -412,7 +414,7 @@ async function exportJson(): Promise<void> {
|
||||
await TGLogger.Info("[Achievements][exportJson] 已取消导出");
|
||||
return;
|
||||
}
|
||||
await fs.writeTextFile(isSave, JSON.stringify(UiafData));
|
||||
await writeTextFile(isSave, JSON.stringify(UiafData));
|
||||
showSnackbar({ text: "导出成功" });
|
||||
await TGLogger.Info("[Achievements][exportJson] 导出成功");
|
||||
await TGLogger.Info(`[Achievements][exportJson] 导出路径:${isSave}`);
|
||||
|
||||
@@ -87,7 +87,10 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { dialog, fs, invoke, process as TauriProcess } from "@tauri-apps/api";
|
||||
import { core } from "@tauri-apps/api";
|
||||
import { open } from "@tauri-apps/plugin-dialog";
|
||||
import { remove } from "@tauri-apps/plugin-fs";
|
||||
import { relaunch } from "@tauri-apps/plugin-process";
|
||||
import { onMounted, ref } from "vue";
|
||||
|
||||
import TcAppBadge from "../../components/config/tc-appBadge.vue";
|
||||
@@ -141,7 +144,7 @@ async function confirmBackup(): Promise<void> {
|
||||
}
|
||||
let saveDir = appStore.userDir;
|
||||
if (res === false) {
|
||||
const dir = await dialog.open({
|
||||
const dir: string | null = await open({
|
||||
directory: true,
|
||||
defaultPath: saveDir,
|
||||
multiple: false,
|
||||
@@ -154,13 +157,6 @@ async function confirmBackup(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[Config][confirmBackup] 选择备份路径 ${dir.toString()}`);
|
||||
if (typeof dir !== "string") {
|
||||
showSnackbar({
|
||||
color: "error",
|
||||
text: "路径错误!",
|
||||
});
|
||||
return;
|
||||
}
|
||||
saveDir = dir;
|
||||
} else {
|
||||
await TGLogger.Info(`[Config][confirmBackup] 备份到默认路径 ${saveDir}`);
|
||||
@@ -188,7 +184,7 @@ async function confirmRestore(): Promise<void> {
|
||||
}
|
||||
let saveDir = appStore.userDir;
|
||||
if (resConfirm === false) {
|
||||
const dir = await dialog.open({
|
||||
const dir: string | null = await open({
|
||||
directory: true,
|
||||
defaultPath: saveDir,
|
||||
multiple: false,
|
||||
@@ -201,13 +197,6 @@ async function confirmRestore(): Promise<void> {
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[Config][confirmRestore] 选择恢复路径 ${dir.toString()}`);
|
||||
if (typeof dir !== "string") {
|
||||
showSnackbar({
|
||||
color: "error",
|
||||
text: "路径错误!",
|
||||
});
|
||||
return;
|
||||
}
|
||||
saveDir = dir;
|
||||
} else {
|
||||
await TGLogger.Info(`[Config][confirmRestore] 恢复到默认路径 ${saveDir}`);
|
||||
@@ -332,7 +321,7 @@ async function confirmDelCache(): Promise<void> {
|
||||
loading.value = true;
|
||||
const timeStart = Date.now();
|
||||
for (const dir of CacheDir) {
|
||||
const size: number = await invoke("get_dir_size", { path: dir });
|
||||
const size: number = await core.invoke("get_dir_size", { path: dir });
|
||||
cacheBSize += size;
|
||||
}
|
||||
const cacheSize = bytesToSize(cacheBSize);
|
||||
@@ -354,7 +343,7 @@ async function confirmDelCache(): Promise<void> {
|
||||
loadingTitle.value = "正在清除缓存...";
|
||||
loading.value = true;
|
||||
for (const dir of CacheDir) {
|
||||
await fs.removeDir(dir, { recursive: true });
|
||||
await remove(dir, { recursive: true });
|
||||
}
|
||||
await TGLogger.Info("[Config][confirmDelCache] 缓存清除完成");
|
||||
loading.value = false;
|
||||
@@ -362,7 +351,7 @@ async function confirmDelCache(): Promise<void> {
|
||||
text: "缓存已清除!即将退出应用!",
|
||||
});
|
||||
setTimeout(async () => {
|
||||
await TauriProcess.exit();
|
||||
await relaunch();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user