mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-22 04:59:45 +08:00
🚸 统一UIGF导出交互,导出前选择导出路径
This commit is contained in:
@@ -70,8 +70,10 @@ import { computed, onMounted, ref, shallowRef, watch } from "vue";
|
||||
type UgoUidProps = {
|
||||
/** 导入/导出 */
|
||||
mode: "import" | "export";
|
||||
/** filePathImport,导出路径 */
|
||||
/** filePathImport,导入路径 */
|
||||
fpi?: string;
|
||||
/** filePathExport,导出路径 */
|
||||
fpe?: string;
|
||||
};
|
||||
/**
|
||||
* UID项
|
||||
@@ -107,7 +109,7 @@ onMounted(async () => {
|
||||
});
|
||||
|
||||
watch(
|
||||
() => [visible.value, props.mode, props.fpi],
|
||||
() => [visible.value, props.mode, props.fpi, props.fpe],
|
||||
async () => {
|
||||
if (visible.value) await refreshData();
|
||||
},
|
||||
@@ -127,7 +129,7 @@ async function refreshData(): Promise<void> {
|
||||
fp.value = props.fpi ?? fpEmptyText;
|
||||
await refreshImport();
|
||||
} else {
|
||||
fp.value = await getDefaultSavePath();
|
||||
fp.value = props.fpe ?? (await getDefaultSavePath());
|
||||
await refreshExport();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
</v-window-item>
|
||||
</v-window>
|
||||
</div>
|
||||
<UgoUid v-model="ovShow" :fpi="ovFpi" :mode="ovMode" />
|
||||
<UgoUid v-model="ovShow" :fpe="ovFpe" :fpi="ovFpi" :mode="ovMode" />
|
||||
<UgoHutaoDu v-model="hutaoShow" :mode="htMode" @selected="handleHutaoDu" />
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
@@ -181,6 +181,7 @@ const { isLogin: isLoginHutao, accessToken, userName, userInfo } = storeToRefs(h
|
||||
const ovMode = ref<"export" | "import">("import");
|
||||
const ovShow = ref<boolean>(false);
|
||||
const ovFpi = ref<string>();
|
||||
const ovFpe = ref<string>();
|
||||
|
||||
const authkey = ref<string>("");
|
||||
const uidCur = ref<string>();
|
||||
@@ -654,7 +655,18 @@ async function exportUigf4(): Promise<void> {
|
||||
showSnackbar.error("未获取到 UID");
|
||||
return;
|
||||
}
|
||||
const tsNow = Math.floor(Date.now() / 1000);
|
||||
const file = await save({
|
||||
title: "导出祈愿数据",
|
||||
filters: [{ name: "UIGF JSON", extensions: ["json"] }],
|
||||
defaultPath: `${await path.downloadDir()}${path.sep()}UIGFv4.2_${tsNow}.json`,
|
||||
});
|
||||
if (!file) {
|
||||
showSnackbar.cancel("已取消文件保存");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[UserGacha][${uidCur.value}][exportUigf4] 导出祈愿数据(v4)`);
|
||||
ovFpe.value = file;
|
||||
ovMode.value = "export";
|
||||
ovShow.value = true;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
</v-window-item>
|
||||
</v-window>
|
||||
</div>
|
||||
<UgoUid v-model="ovShow" :fpi="ovFpi" :mode="ovMode" />
|
||||
<UgoUid v-model="ovShow" :fpe="ovFpe" :fpi="ovFpi" :mode="ovMode" />
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import showDialog from "@comp/func/dialog.js";
|
||||
@@ -99,7 +99,7 @@ import TSUserAccount from "@Sqlm/userAccount.js";
|
||||
import TSUserGachaB from "@Sqlm/userGachaB.js";
|
||||
import useUserStore from "@store/user.js";
|
||||
import { path } from "@tauri-apps/api";
|
||||
import { open } from "@tauri-apps/plugin-dialog";
|
||||
import { open, save } from "@tauri-apps/plugin-dialog";
|
||||
import TGLogger from "@utils/TGLogger.js";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { onMounted, ref, shallowRef, watch } from "vue";
|
||||
@@ -113,6 +113,7 @@ const { account, cookie } = storeToRefs(useUserStore());
|
||||
const ovMode = ref<"export" | "import">("import");
|
||||
const ovShow = ref<boolean>(false);
|
||||
const ovFpi = ref<string>();
|
||||
const ovFpe = ref<string>();
|
||||
|
||||
const authkey = ref<string>("");
|
||||
const uidCur = ref<string>();
|
||||
@@ -351,7 +352,18 @@ async function exportUigf(): Promise<void> {
|
||||
showSnackbar.error("未获取到 UID");
|
||||
return;
|
||||
}
|
||||
const tsNow = Math.floor(Date.now() / 1000);
|
||||
const file = await save({
|
||||
title: "导出祈愿数据",
|
||||
filters: [{ name: "UIGF JSON", extensions: ["json"] }],
|
||||
defaultPath: `${await path.downloadDir()}${path.sep()}UIGFv4.2_${tsNow}.json`,
|
||||
});
|
||||
if (!file) {
|
||||
showSnackbar.cancel("已取消文件保存");
|
||||
return;
|
||||
}
|
||||
await TGLogger.Info(`[UserGachaB][${uidCur.value}][exportUigf] 导出祈愿数据`);
|
||||
ovFpe.value = file;
|
||||
ovMode.value = "export";
|
||||
ovShow.value = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user