回到作品列表
CGYJourney

CGYJourney

CGYJourney 是和旅行社合作的macOS 桌面 App,要解決一件他們每天都在遇到的麻煩:行程表用 Word 或 PowerPoint 排,多加一段景點介紹、換一張飯店照片,整份文件的版面就跟著亂跑——標題掉到下一頁、圖片壓到文字,印出來又跟螢幕上不一樣。

它用 Tauri v2(Rust 後端)+ React 19 + TypeScript 打造,把「填資料」和「排版」徹底拆開。業務只管在表單裡填團名、航班、每日景點、住宿、售價這些內容,資料由 Zustand 集中管理、進出檔案時走 zod schema 驗證,舊檔還能自動做版本遷移;版型則是寫死在程式裡的,不會因為多打幾個字就走鐘。

不亂飄的關鍵在渲染:左邊的即時預覽和輸出的 PDF 用的是 同一套 WKWebView 引擎,你在螢幕上看到的分頁、間距、字體,就是印出來的樣子,中間不會有第二種結果。分頁交給 paged.js 預先把 A4 版框排進 DOM,景點卡片、飯店介紹這種區塊不會被硬切成兩半跨頁。中文用台北黑體、英數用 TASA 衛星體,整份文件字體統一。

成品是一支經過 Apple 簽章與公證(Developer ID)的原生 App,同事拿到直接開、直接印——產出的就是格式不會亂飄的紙本行程文件。

專案資訊

最後活躍
2026.07.23

語言比例

  • TSX 32.17%
  • CSS 31.97%
  • TypeScript 30.88%
  • Rust 3.07%
  • Shell 1.55%
Dice6 · 骰到六
一個人寫程式、一個人寫字。喜歡的話可以追蹤 RSS。
訂閱 RSS