From 617760a319d94ef12b1fe2040564743483b659fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Tue, 30 Jun 2026 12:30:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=A4=84=E7=90=86=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + build.ps1 | 11 +- frontend/src/components/HomeView.vue | 1 + frontend/src/components/ToolView.vue | 61 +- .../src/components/image/ImageBlurTool.vue | 77 -- .../components/image/ImageBrightnessTool.vue | 80 -- .../components/image/ImageCompressTool.vue | 198 ----- .../src/components/image/ImageConvertTool.vue | 15 +- .../src/components/image/ImageCropTool.vue | 275 ------- .../src/components/image/ImageEditorTool.vue | 612 ++++++++++++++ .../components/image/ImageGrayscaleTool.vue | 77 -- .../src/components/image/ImageInvertTool.vue | 72 -- .../components/image/ImageRemoveBgTool.vue | 630 --------------- .../src/components/image/ImageResizeTool.vue | 239 ------ .../src/components/image/ImageRotateTool.vue | 124 --- .../src/components/image/ImageSharpenTool.vue | 77 -- .../src/components/image/ImageStitchTool.vue | 745 ++++++++++++++++++ .../src/components/image/ImageToPdfTool.vue | 5 +- .../src/components/pdf/PdfCompressTool.vue | 2 +- .../src/components/pdf/PdfExtractTextTool.vue | 2 +- .../src/components/pdf/PdfFromTextTool.vue | 2 +- frontend/src/components/pdf/PdfMergeTool.vue | 2 +- frontend/src/components/pdf/PdfRotateTool.vue | 2 +- frontend/src/components/pdf/PdfSplitTool.vue | 2 +- .../src/components/pdf/PdfToImageTool.vue | 2 +- .../src/components/pdf/PdfWatermarkTool.vue | 2 +- frontend/wailsjs/go/main/FileHandler.d.ts | 6 + frontend/wailsjs/go/main/FileHandler.js | 12 + handlers.go | 81 ++ main.go | 16 +- services/image_service.go | 257 +++++- services/pdf_nofitz.go | 181 +---- services/pdf_service.go | 89 ++- services/utils.go | 21 + wails.json | 4 +- 功能结构.md | 411 ++++++++++ 36 files changed, 2293 insertions(+), 2102 deletions(-) delete mode 100644 frontend/src/components/image/ImageBlurTool.vue delete mode 100644 frontend/src/components/image/ImageBrightnessTool.vue delete mode 100644 frontend/src/components/image/ImageCompressTool.vue delete mode 100644 frontend/src/components/image/ImageCropTool.vue create mode 100644 frontend/src/components/image/ImageEditorTool.vue delete mode 100644 frontend/src/components/image/ImageGrayscaleTool.vue delete mode 100644 frontend/src/components/image/ImageInvertTool.vue delete mode 100644 frontend/src/components/image/ImageRemoveBgTool.vue delete mode 100644 frontend/src/components/image/ImageResizeTool.vue delete mode 100644 frontend/src/components/image/ImageRotateTool.vue delete mode 100644 frontend/src/components/image/ImageSharpenTool.vue create mode 100644 frontend/src/components/image/ImageStitchTool.vue create mode 100644 功能结构.md diff --git a/.gitignore b/.gitignore index b3263c2..55a2bd5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ frontend/dist /.opencode/ /.mimocode/ /.qoder/ +/public/ +/示例/ diff --git a/build.ps1 b/build.ps1 index a49e9c9..0426dd0 100644 --- a/build.ps1 +++ b/build.ps1 @@ -13,16 +13,7 @@ Write-Host "Building..." -ForegroundColor Yellow wails build -tags nofitz if ($LASTEXITCODE -ne 0) { Write-Host "Build failed!" -ForegroundColor Red; exit 1 } -# Rename using cmd to avoid encoding issues -cmd /c "copy /Y `"$buildDir\xk.exe`" `"$buildDir\年糕工具.exe`"" -cmd /c "del /f /q `"$buildDir\xk.exe`"" -cmd /c "del /f /q `"$buildDir\xk-dev.exe`"" - -# Remove standalone DLL (it's embedded now) -cmd /c "del /f /q `"$buildDir\libmupdf.dll`"" -cmd /c "del /f /q `"$buildDir\MuPDFLib.dll`"" - Write-Host "" Write-Host "=== Build Complete ===" -ForegroundColor Green -Write-Host " $buildDir\年糕工具.exe (single file, DLL embedded)" -ForegroundColor Gray +Write-Host " $buildDir\年糕工具.exe" -ForegroundColor Gray Write-Host "" diff --git a/frontend/src/components/HomeView.vue b/frontend/src/components/HomeView.vue index c0fddda..e2b7a90 100644 --- a/frontend/src/components/HomeView.vue +++ b/frontend/src/components/HomeView.vue @@ -22,6 +22,7 @@ const allTools = [ { id: 'image-grayscale', name: '灰度处理', category: 'image', action: 'grayscale', icon: 'Moon', color: '#f9e2af' }, { id: 'image-brightness', name: '调整亮度', category: 'image', action: 'brightness', icon: 'Sunny', color: '#f9e2af' }, { id: 'image-removebg', name: '背景去除', category: 'image', action: 'removebg', icon: 'MagicStick', color: '#f9e2af' }, + { id: 'image-stitch', name: '图片拼接', category: 'image', action: 'stitch', icon: 'Connection', color: '#f9e2af' }, { id: 'convert-pdf-to-image', name: 'PDF转图片', category: 'convert', action: 'pdf-to-image', icon: 'Document', color: '#cba6f7' }, { id: 'convert-word-to-pdf', name: 'Word转PDF', category: 'convert', action: 'word-to-pdf', icon: 'Document', color: '#cba6f7' }, { id: 'convert-excel-to-csv', name: 'Excel转CSV', category: 'convert', action: 'excel-to-csv', icon: 'Document', color: '#cba6f7' }, diff --git a/frontend/src/components/ToolView.vue b/frontend/src/components/ToolView.vue index 4f68fde..55fc059 100644 --- a/frontend/src/components/ToolView.vue +++ b/frontend/src/components/ToolView.vue @@ -1,20 +1,12 @@