版本更新記錄

查看 租借服務 by anlander 網站的所有版本更新、新功能及改進內容。

版本差異對比

功能v1.0.0v2.0.0v2.0.1v2.1.0v2.2.0v2.3.0v2.3.3v2.4.0
產品展示
Stripe 付款
SEO 優化-
中文品牌名稱--
首頁轉換率優化---
WhatsApp 客服按鈕---
現貨數量顯示----
URL 篩選持久化-----
租期快速選擇-----
出貨電郵通知-----
D-1 歸還提醒-----
帳號登記/登入------
表單式登入(無需 Google)-------

v2.4.0

功能更新2026-03-04

以表單登記取代 Google OAuth 登入

完全棄用 Google OAuth,改為簡單「姓名 + 電郵 + 電話」表單登記/登入,解決 CSP 問題及 OAuth redirect 導致 state 遺失的問題。

新功能
  • 新增表單式登記/登入(姓名、電郵、電話),無需 Google 帳號
  • 重複電郵自動識別為登入(更新資料),新電郵自動建立帳號
  • 新增 API endpoint POST /api/auth/register
改進
  • 移除 Google OAuth、reCAPTCHA 依賴,簡化 CSP 政策
  • 登入流程更穩定,無 OAuth redirect state 遺失問題

技術細節

  • rental-api/src/routes/auth.ts - 新增 POST /register endpoint(email+name+phone,JWT cookie)
  • rental-customer/src/lib/api.ts - 新增 registerUser() 方法
  • rental-customer/src/lib/auth.ts - 新增 register action 至 Zustand store
  • rental-customer/src/components/auth/SignInModal.tsx - 完全重寫為表單 UI
  • rental-customer/src/components/Providers.tsx - 移除 GoogleOAuthProvider + GoogleReCaptchaProvider
  • rental-customer/next.config.js - 簡化 CSP,移除 Google OAuth 相關域名

v2.3.3

修補更新2026-03-03

修復「登入並預訂」按鈕

實作 Google OAuth 登入彈窗 UI,修復未登入用戶無法觸發登入流程的問題。同時修復 CSP 政策阻擋 Google OAuth 腳本載入的問題。

修復
  • 新增 Google 登入彈窗(SignInModal),點擊「登入並預訂」即彈出 Google 帳號選擇器
  • 登入成功後自動繼續預訂流程,直接跳轉至結帳頁
  • 修復 CSP 政策阻擋 accounts.google.com 腳本載入,導致登入按鈕無法顯示
  • 整合 reCAPTCHA v3 token 至登入請求

技術細節

  • rental-customer/package.json - 新增 @react-oauth/google 依賴
  • rental-customer/src/components/Providers.tsx - 加入 GoogleOAuthProvider + GoogleReCaptchaProvider
  • rental-customer/src/components/auth/SignInModal.tsx - 新建 Google 登入彈窗組件
  • rental-customer/src/app/products/[id]/page.tsx - handleBooking 改為顯示彈窗;新增 handleSignInSuccess
  • rental-customer/next.config.js - CSP 加入 accounts.google.com(script/style/connect/frame-src)

v2.3.2

修補更新2026-03-03

月租日期計算改為 30天制

月租日期計算由曆法月份改為 30天制:天數 ÷ 30,不足 30天當 1個月計,與快速租期按鈕保持一致。

修復
  • 月租日期計算改為 30天制(1個月 = 30天),不足 30天當 1個月計
  • 與快速租期預設按鈕(1月=30天、3月=90天、6月=180天)完全一致

技術細節

  • rental-customer/src/app/products/[id]/page.tsx - calculateMonths 改為 30天制

v2.3.1

修補更新2026-03-03

移除原價劃線顯示

移除首頁、產品列表及產品詳情頁的劃線原價顯示,因所有產品只有單一售價。

改進
  • 移除首頁產品卡片的劃線原價顯示
  • 移除產品列表頁的劃線原價顯示
  • 移除產品詳情頁的劃線原價顯示

技術細節

  • rental-customer/src/app/page.tsx - 刪除 original_price 劃線 span
  • rental-customer/src/app/products/page.tsx - 刪除 original_price 劃線 span
  • rental-customer/src/app/products/[id]/page.tsx - 刪除 original_price 劃線 span

v2.3.0

功能更新2026-03-02

URL 篩選持久化、租期快選、批量訂單操作、出貨電郵通知

全面優化 UX 體驗:產品篩選條件持久化至 URL、租借頁面新增快速租期按鈕、結帳錯誤訊息更精確。後台新增批量訂單操作。API 新增出貨電郵通知及 D-1 歸還提醒。

新功能
  • 租借詳情頁新增快速租期選擇按鈕(日租:3天/1週/2週;週租:1週/2週/4週;月租:1月/3月/6月)
  • 出貨時系統自動發送電郵通知客戶(包含訂單號、順豐單號、到期日)
  • D-1 歸還提醒:租約到期前一日自動發送 SMS + Email
  • Admin 訂單列表新增批量選擇及批量狀態更新功能
改進
  • 產品篩選條件(分類、租期、搜尋、排序)持久化至 URL 參數
  • 書籤或分享頁面後,篩選狀態完整還原
  • 結帳頁面顯示具體錯誤原因(無可用設備、日期衝突等)而非通用提示

技術細節

  • rental-customer/src/app/products/page.tsx - 使用 useSearchParams 持久化篩選
  • rental-customer/src/app/products/[id]/page.tsx - 新增快速租期預設按鈕
  • rental-customer/src/app/checkout/page.tsx - 改善錯誤解析邏輯
  • rental-admin/src/pages/Orders.tsx - 新增多選 + 批量操作
  • rental-api/src/config/brevo.ts - 新增 shippingEmail, returnReminderEmail 模板
  • rental-api/src/routes/admin.ts - ship endpoint 新增電郵通知
  • rental-api/src/routes/cron.ts - 新增 /return-reminder-d1 endpoint

v2.2.0

功能更新2026-02-21

QR Code 圖片下載、產品現貨數量顯示

Admin 後台新增 QR Code 圖片下載功能,方便管理員列印 QR Code 貼喺實體設備上。客戶網站產品列表改為顯示實際現貨數量,令用戶更清楚了解庫存情況。

新功能
  • Admin 後台設備列表新增 QR Code 圖片下載按鈕
  • 點擊即時生成 256×256 高解析度 QR Code PNG 圖片
  • 下載檔案自動以設備編號命名(QR-{設備編號}.png)
  • 使用 High 錯誤修正等級,即使部分遮蔽仍可掃描
改進
  • 產品列表頁面現貨標籤改為顯示實際數量(例如「現貨 5 部」)
  • 首頁精選產品同步顯示實際現貨數量
  • 之前 3 部以上只顯示「有貨」,現在統一顯示「現貨 X 部」
  • 缺貨時維持顯示「已租罄」紅色標籤

技術細節

  • rental-admin/src/pages/Devices.tsx - 新增 downloadQRCode function + Download 按鈕
  • rental-admin/package.json - 新增 qrcode.react 依賴
  • rental-customer/src/app/products/page.tsx - 修改現貨數量顯示邏輯
  • rental-customer/src/app/page.tsx - 首頁同步修改現貨數量顯示

v2.1.0

功能更新2026-02-01

首頁內容大改版 - 轉換率優化

全面重新設計首頁內容,新增多個 Section 以提升用戶體驗及轉換率。包括租借流程說明、使用場景、客戶評價、FAQ 常見問題等。

新功能
  • 新增頂部促銷 Banner(新客戶首租 9 折優惠碼 FIRST10)
  • 新增「如何租借」4 步驟流程說明
  • 新增「適合什麼場景」Section(旅遊、商務、活動、家用)含精美圖片
  • 新增「客戶評價」Section(4.8/5 星,500+ 評價)
  • 新增「常見問題 FAQ」Section(6 個常見問題及答案)
  • 新增 CTA 行動呼籲 Section
  • 新增浮動 WhatsApp 按鈕(右下角)
  • 新增 WhatsApp 客服連結(6112 4469)
改進
  • Hero 區域新增評分顯示(4.8/5 星)
  • Hero 區域新增服務亮點清單(免運費、按金全退、24小時客服)
  • 產品卡片新增「按金全退」綠色標籤
  • Footer 擴充為 4 欄,新增營業時間、快速連結
  • 「為何選擇我們」改為 6 個特色(新增品質保證、彈性租期)

技術細節

  • page.tsx - 完全重寫首頁,新增 FAQ、評論、場景等數據
  • 使用 Unsplash 免費圖片作為場景示意圖
  • FAQ Section 使用可展開/收合的手風琴式設計
  • 新增 WhatsApp SVG icon 及浮動按鈕

v2.0.1

修補更新2026-02-01

網站品牌名稱更新

將網站名稱從 "Rental by anlander" 更改為 "租借服務 by anlander",統一使用中文品牌名稱,提升本地用戶體驗。

改進
  • 網站標題更改為「租借服務 by anlander」
  • PWA manifest.json 名稱更新為中文
  • 所有頁面 header 及 footer 品牌名稱統一
  • OpenGraph 及 Twitter Card 標題更新
  • JSON-LD 結構化數據中的品牌名稱更新

技術細節

  • layout.tsx - 更新 metadata 及 JSON-LD
  • page.tsx - 更新頁面標題及 footer
  • products/page.tsx - 更新 header/footer
  • products/[id]/page.tsx - 更新 header/footer
  • products/layout.tsx - 更新 OpenGraph 標題
  • products/[id]/layout.tsx - 更新動態 metadata
  • public/manifest.json - 更新 PWA 名稱
  • changelog/page.tsx - 更新 header 品牌名稱

v2.0.0

重大更新2026-02-01

SEO 及 AI 爬蟲優化版本

全面提升網站的搜尋引擎優化 (SEO) 及 AI 爬蟲可讀性,確保網站能被 Google、Bing 及各大 AI 助手 (ChatGPT、Claude、Perplexity) 正確索引及理解。

新功能
  • 新增 robots.txt 檔案,明確允許所有搜尋引擎及 AI 爬蟲存取
  • 新增動態 sitemap.xml,自動生成所有頁面的網站地圖
  • 新增 JSON-LD 結構化數據 (Schema.org),包含 Organization、WebSite、LocalBusiness、ItemList 資訊
  • 新增 /changelog 頁面,記錄所有版本更新
  • 新增版本號顯示於網站 Footer
改進
  • 改進各頁面 metadata(標題、描述、關鍵字)
  • 新增 OpenGraph 標籤,優化 Facebook、LinkedIn 等社交平台分享預覽
  • 新增 Twitter Card 標籤,優化 X (Twitter) 分享預覽
  • 新增產品頁面動態 metadata,每個產品都有獨立的 SEO 設定
  • 新增 canonical URL,避免重複內容問題
  • 新增語言標籤 (zh-HK, zh-TW),支援多語言搜尋
安全
  • 禁止搜尋引擎索引 /checkout 及 /orders 敏感頁面

技術細節

  • robots.txt - 允許 GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Anthropic-AI, Cohere-AI
  • sitemap.ts - 使用 Next.js MetadataRoute 自動生成
  • layout.tsx - 添加完整 JSON-LD 結構化數據
  • products/layout.tsx - 產品列表頁 metadata
  • products/[id]/layout.tsx - 產品詳情頁動態 metadata (generateMetadata)

v1.0.0

重大更新2026-01-31

初始版本

網站正式上線,提供完整的設備租賃服務。

新功能
  • 產品展示頁面(WiFi Router、充電寶)
  • 產品詳情頁面,含租期選擇及價格顯示
  • 購物車及結帳流程
  • Stripe 安全支付整合
  • reCAPTCHA v3 防機器人保護
  • 響應式設計,支援手機及桌面裝置
  • 產品圖片自動從 anlander.com 同步
安全
  • HTTPS 加密傳輸
  • Stripe 付款安全處理
  • reCAPTCHA v3 驗證

技術細節

  • Next.js 14 App Router
  • React 18 + TypeScript
  • Tailwind CSS 樣式框架
  • Zustand 狀態管理
  • Cloud Run 部署
  • Cloud Firestore 資料庫