From 051481b6310b0493e0132e46b2cd852a8011a0e4 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Mon, 9 Sep 2024 11:34:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E5=90=8E=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/Home/User/index.tsx | 69 ++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/src/page/Home/User/index.tsx b/src/page/Home/User/index.tsx index e453f94..3531ffb 100644 --- a/src/page/Home/User/index.tsx +++ b/src/page/Home/User/index.tsx @@ -11,7 +11,6 @@ const { Column } = Table const { confirm } = Modal; const { exec } = require('child_process'); const fs = require('fs').promises; -const setting = JSON.parse(storage.getItem('setting') as string) const User: React.FC = () => { const [selectedRowKeys, setSelectedRowKeys] = useState([]); const [isCreateUser, setIsCreateUser] = useState(false); @@ -79,36 +78,44 @@ const User: React.FC = () => { }) } const fileUpLoad = async (data: { url: string, content: string, fileName: string }): Promise => { - try { - const response = await fetch(data.url); - const arrayBuffer = await response.arrayBuffer(); - const buffer = Buffer.from(arrayBuffer); - await fs.writeFile(`${setting.shareFilesPath}\\${data.fileName}`, buffer, {}); - setChangeImportModal(false) - confirm({ - title: '提示', - icon: , - content: data.content, - centered: true, - okText: '打开文件夹', - cancelText: '关闭', - async onOk() { - await fs.access(setting.shareFilesPath, fs.constants.F_OK); - if (process.platform === 'win32') { - exec(`explorer "${setting.shareFilesPath}"`); - } else if (process.platform === 'darwin') { - exec(`open "${setting.shareFilesPath}"`); - } - }, - onCancel() { - } + const setting = await JSON.parse(storage.getItem('setting') as string) + if (!setting.isShareSavePath) { + window.electron.selectFilePath({ + fileName: data.fileName, + filePath: data.url }) - } catch (error: any) { - if (error.code === 'ENOENT') { - message.error('文件夹不存在!') - return - } else { - message.error(error) + } else { + try { + const response = await fetch(data.url); + const arrayBuffer = await response.arrayBuffer(); + const buffer = Buffer.from(arrayBuffer); + await fs.writeFile(`${setting.shareFilesPath}\\${data.fileName}`, buffer, {}); + setChangeImportModal(false) + confirm({ + title: '提示', + icon: , + content: data.content, + centered: true, + okText: '打开文件夹', + cancelText: '关闭', + async onOk() { + await fs.access(setting.shareFilesPath, fs.constants.F_OK); + if (process.platform === 'win32') { + exec(`explorer "${setting.shareFilesPath}"`); + } else if (process.platform === 'darwin') { + exec(`open "${setting.shareFilesPath}"`); + } + }, + onCancel() { + } + }) + } catch (error: any) { + if (error.code === 'ENOENT') { + message.error('文件夹不存在!') + return + } else { + message.error(error) + } } } } @@ -453,6 +460,7 @@ const User: React.FC = () => {