mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-15 03:53:16 +08:00
* ⚡️大幅提升UIGF导入速度 (#225) * Initial plan * perf: optimize gacha import with batch transactions and reduced UI delays - Wrap DB inserts in transactions (batches of 500) for mergeUIGF/mergeUIGF4 - Pre-transform all data before batch insert loop - Pass timeout: 0 to showLoading.update in progress callbacks - Remove 1500ms snackbar delay in cleanGachaRecords - Reduce per-item loading update delay in refreshGachaPool Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * fix: increment progress counter per item instead of per batch for accurate progress display Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * Initial plan * feat: calculate window size based on resolution/scaling with baseline check and centering - resizeWindow: add baseline check (1920x1080@150%), clamp to screen bounds - setWindowPos: ensure window fits on screen and always center - App.vue: use setWindowPos instead of manual positioning, center on deep link show - tray.rs: center window when showing from system tray Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * fix: address code review - add zero guard and use setWindowPos consistently Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * refactor: address review feedback - move baseline to setWindowPos, revert tray.rs - tray.rs: reverted, center() removed as redundant - TGWindow.ts: baseline check moved to setWindowPos, resizeWindow restored as fallback - App.vue: needResize=false → setWindowPos, else → center; deep link reverted; handleResizeListen true path unchanged, setWindowPos moved inside else Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * refactor: use needResize judgment condition (targetZoom/scaleFactor/textScale) in setWindowPos Replace the simple curSize > screen.size overflow check with the same condition used by resizeWindow(): targetZoom < 1, which considers scaleFactor and textScale. Falls back to resizeWindow() when below baseline or when targetZoom < 1. Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> * 🚸 调整尺寸判断 * 🚸 处理溢出 * 🚸 优化处理 * 🚸 移除冗余scale处理 * 🎨 CodeStyle --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Mikachu2333 <63829496+Mikachu2333@users.noreply.github.com> Co-authored-by: BTMuli <bt-muli@outlook.com>