♻️ 姑且没登录的功能都给试了下

This commit is contained in:
目棃
2024-07-03 17:49:15 +08:00
parent 367307029b
commit 8a2c7d13c6
47 changed files with 1135 additions and 315 deletions

View File

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

View File

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