feat: v0.2.0 导出差异报告 - HTML/纯文本/Markdown 三种格式
This commit is contained in:
@@ -88,6 +88,22 @@ ipcMain.handle('file:decode-buffer', (_event, buffer: ArrayBuffer) => {
|
||||
return decodeText(Buffer.from(buffer))
|
||||
})
|
||||
|
||||
/** IPC: 保存差异报告(系统保存对话框 + 写入内容) */
|
||||
ipcMain.handle('file:save-report', async (_event, content: string, defaultName: string) => {
|
||||
const ext = defaultName.split('.').pop() ?? 'txt'
|
||||
const result = await dialog.showSaveDialog({
|
||||
title: '保存差异报告',
|
||||
defaultPath: join(app.getPath('documents'), defaultName),
|
||||
filters: [
|
||||
{ name: '差异报告', extensions: [ext] },
|
||||
{ name: '所有文件', extensions: ['*'] }
|
||||
]
|
||||
})
|
||||
if (result.canceled || !result.filePath) return { ok: false, path: null }
|
||||
fs.writeFileSync(result.filePath, content, 'utf-8')
|
||||
return { ok: true, path: result.filePath }
|
||||
})
|
||||
|
||||
/** IPC: 打开系统文件管理器定位文件 */
|
||||
ipcMain.handle('file:show-in-folder', (_event, filePath: string) => {
|
||||
shell.showItemInFolder(filePath)
|
||||
|
||||
Reference in New Issue
Block a user