From 7349f120e4cc0faeac45537607990f087f0e0fc8 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Thu, 26 Oct 2023 17:56:58 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20=E5=AE=8C=E5=96=84=20dialog.open?= =?UTF-8?q?/save=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/User/Gacha.vue | 14 ++++++++++---- src/pages/common/Achievements.vue | 5 ++++- src/utils/TGShare.ts | 8 ++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/pages/User/Gacha.vue b/src/pages/User/Gacha.vue index 48a16791..f057cb42 100644 --- a/src/pages/User/Gacha.vue +++ b/src/pages/User/Gacha.vue @@ -195,23 +195,28 @@ async function handleImportBtn(savePath?: string): Promise { if (savePath) { selectedFile = await dialog.open({ multiple: false, + title: "选择要导入的祈愿数据文件", filters: [ { - name: "UIGF", + name: "UIGF JSON", extensions: ["json"], }, ], defaultPath: savePath, + directory: false, }); } else { selectedFile = await dialog.open({ multiple: false, + title: "选择要导入的祈愿数据文件", filters: [ { - name: "UIGF", + name: "UIGF JSON", extensions: ["json"], }, ], + defaultPath: `${await path.downloadDir()}`, + directory: false, }); } if (selectedFile) { @@ -283,13 +288,14 @@ async function handleExportBtn(): Promise { return; } const file = await dialog.save({ - defaultPath: `UIGF_${uidCur.value}.json`, + title: "选择导出祈愿数据的文件路径", filters: [ { - name: "UIGF", + name: "UIGF JSON", extensions: ["json"], }, ], + defaultPath: `${await path.downloadDir()}${path.sep}UIGF${uidCur.value}.json`, }); if (!file) { showSnackbar({ diff --git a/src/pages/common/Achievements.vue b/src/pages/common/Achievements.vue index bb42f65b..ac232b19 100644 --- a/src/pages/common/Achievements.vue +++ b/src/pages/common/Achievements.vue @@ -279,13 +279,16 @@ async function searchCard(): Promise { // 导入 UIAF 数据,进行数据合并、刷新 async function importJson(): Promise { const selectedFile = await dialog.open({ + title: "选择 UIAF 数据文件", multiple: false, filters: [ { - name: "JSON", + name: "UIAF JSON", extensions: ["json"], }, ], + defaultPath: await path.downloadDir(), + directory: false, }); if (!selectedFile) { showSnackbar({ diff --git a/src/utils/TGShare.ts b/src/utils/TGShare.ts index 1c6eaac9..fa276a81 100644 --- a/src/utils/TGShare.ts +++ b/src/utils/TGShare.ts @@ -1,7 +1,7 @@ /** * @file utils TGShare.ts * @description 生成分享截图并保存到本地 - * @since Beta v0.3.3 + * @since Beta v0.3.4 */ import { dialog, fs, http, path } from "@tauri-apps/api"; @@ -11,7 +11,7 @@ import showSnackbar from "../components/func/snackbar"; /** * @description 保存图片-canvas - * @since Beta v0.3.0 + * @since Beta v0.3.4 * @param {HTMLCanvasElement} canvas - canvas元素 * @param {string} filename - 文件名 * @returns {Promise} 无返回值 @@ -22,11 +22,11 @@ async function saveCanvasImg(canvas: HTMLCanvasElement, filename: string): Promi .split("") .map((item) => item.charCodeAt(0)), ); - const saveDir = await path.downloadDir(); await dialog .save({ - defaultPath: `${saveDir}${filename}.png`, + title: "保存图片", filters: [{ name: "图片", extensions: ["png"] }], + defaultPath: `${await path.downloadDir()}${path.sep}${filename}.png`, }) .then(async (res) => { if (res === null) return;