更新日誌

查看產品更新日誌,了解最新功能與改進內容。

v2.1.5

星盤專業模式與分享優化 - 朱莉安塔羅

星盤介面分享

本次更新聚焦星盤專業模式的視覺一致性與分享體驗。

星盤顯示

  • 展開前/展開後預設顯示主要與次要相位,線條粗細一致
  • ASC/MC 軸線與標註改為後處理定位,避開星座文字並保留 DSC/IC 可選顯示
  • 分享卡與專業模式同步相位/軸線設定,畫面一致

展開佈局

  • 桌機/平板改為左右雙欄,設定欄位可捲動且附提示
  • 行動版放大時隱藏頁首,避免遮擋分享/關閉按鈕

分享文案與語系

  • 分享彈窗改用 i18n 文案與可翻譯金句
  • 補齊 zh-TW/en 分享卡文字

相關文件

  • src/app/[locale]/(landing)/astrology/_components/AstrologyChart.tsx
  • src/app/[locale]/(landing)/astrology/_components/AstrologyResultPageClient.tsx
  • src/app/[locale]/(landing)/astrology/_components/AstrologyShareCard.tsx
  • src/app/[locale]/(landing)/astrology/_components/AstrologyShareModal.tsx
  • src/config/locale/messages/en/landing.json
  • src/config/locale/messages/zh-TW/landing.json
  • src/config/style/global.css
  • src/themes/default/blocks/header-lite.tsx
  • content/logs/v2.1.5.mdx
  • content/logs/v2.1.5.en.mdx
v2.1.4

資料庫安全收斂:Schema 遷移 - 朱莉安塔羅

安全資料庫穩定性

本次更新以資料庫安全為主,降低 public schema 的暴露面。

資料庫安全

  • 核心業務表從 public 遷移到 app schema(避免被 Data API 預設暴露)
  • public 保留為空的對外入口,後續可依需要再開放特定 schema

環境變數

  • 新增 DB_SCHEMA=app 作為預設查詢 schema
  • 補齊 .env.example.env.local.example,避免新環境配置遺漏

相關文件

  • .env.example
  • .env.local.example
  • content/logs/v2.1.4.mdx
  • content/logs/v2.1.4.en.mdx
v2.1.3

語系精簡與提示詞一致性 - 朱莉安塔羅

性能稳定性首屏

這個版本以目前產品語系為基準,收斂語言支持並修正解讀提示詞一致性。

語系與提示詞調整

  • 支援語系統一為 zh-TWen(提示詞/安全文案/牌陣配置)
  • AI 提示詞改為跟隨問題文字語言
  • 直覺解讀的區域提示詞統一語系映射

型別與清理

  • 解讀頁面牌陣名稱/位置的型別存取修正
  • 牌義頁 keywords 取值防呆
  • TopBanner 補上缺失的 useRef 引入
  • 修正部落格分類過濾回傳值,避免型別為 null

介面文案與社群更新

  • 更新每日一牌 CTA 文案,社群提示改成單色圖示
  • 頁腳社群順序調整並更新 Threads/Instagram/LINE 連結
  • 頁首 CTA 圖標改為支援的 Lucide 圖示,避免問號 fallback
  • SmartIcon 加入 Threads 圖標
  • 補上 About 頁新增區塊的英文文案,避免英語頁面缺字
  • About 頁隱私圖示改用支援的鑰匙盾牌圖標
  • About 頁文字顯示移除粗體標記,避免出現 ** 符號
  • 取消全域 content-visibility 包裹,恢復滑動漸入效果

內容語系檔名標準化

  • zh-TW 為預設語系:.mdx 表示繁中,.en.mdx 表示英文
  • 對齊 docs/logs/pages 的檔名規範,避免語系與檔名混用

無障礙與效能

  • 評價區塊改為局部 content-visibility,降低首屏負擔
  • 頁腳欄位標題改為 h3,避免標題層級跳級
  • 瀏覽器語系偵測補上 zh-*zh-TW 映射
  • 語系提示橫幅在 zh-TW 瀏覽器改為顯示中文文案
  • 生產建置改用 webpack,避免 Turbopack 在 Vercel 缺少 middleware 追蹤檔案

SEO 與政策頁面

  • Sitemap 暫時移除英文部落格連結,避免未翻譯頁面被索引
  • 隱私權政策與服務條款改為朱莉安塔羅品牌版本

內容資產

  • 將部落格圖片加入版本控管(public/images/blog),避免部署缺檔

清理

  • 移除未使用的本地腳本(add_dates.jsscripts/validate-locale-detection.ts

首頁數字修正

  • 補上 /api/stats/readings-count 供首頁使用者數量統計

相關文件

  • src/lib/language-detector.ts
  • src/lib/ai-gemini.ts
  • src/lib/ai-prompts.ts
  • src/lib/safety.ts
  • src/app/api/reading/interpret/route.ts
  • src/app/api/intuitive/route.ts
  • src/app/[locale]/(default)/reading/ai-result/page.tsx
  • src/app/[locale]/(default)/reading/result/page.tsx
  • src/app/[locale]/(flow)/reading/prepare/page.tsx
  • src/components/reading/CardMeaningDisplay.tsx
  • src/shared/blocks/common/top-banner.tsx
  • src/app/[locale]/(default)/daily-card/page.tsx
  • src/app/[locale]/(landing)/about/page.tsx
  • src/config/locale/messages/en/pages/daily-card.json
  • src/config/locale/messages/zh-TW/pages/daily-card.json
  • src/config/locale/messages/en/landing.json
  • src/config/locale/messages/zh-TW/landing.json
  • src/config/locale/messages/en/pages/about.json
  • src/shared/blocks/common/smart-icon.tsx
  • src/themes/default/blocks/testimonials.tsx
  • src/themes/default/blocks/footer.tsx
  • src/themes/default/pages/dynamic-page.tsx
  • src/shared/blocks/common/locale-detector.tsx
  • src/app/sitemap.ts
  • content/pages/privacy-policy.mdx
  • content/pages/terms-of-service.mdx
  • content/pages/privacy-policy.en.mdx
  • content/pages/terms-of-service.en.mdx
  • src/app/api/stats/readings-count/route.ts
  • public/images/blog/ziwei-vs-tarot/*.webp
v2.1.2

首屏性能架构优化 - 朱莉安塔羅

性能首屏动画

调整首页渲染结构,降低首屏 JS 与水合成本,同时保留动效与视觉质感。

性能架构

  • Hero 拆为 Server 结构 + Client 交互岛(输入、验证、提示)
  • 星空背景改为 Server 渲染并保留纯 CSS 动画
  • landing 动画改为轻量 Reveal/CSS 过渡,替代 framer-motion

互动体验调整

  • 牌阵入口改为链接跳转,折叠区改为原生 details
  • 统计数字保留客户端小组件更新
  • 验证弹窗与提示轮播改为 CSS 动画

相关文件

  • src/themes/default/blocks/tarot-hero.tsx
  • src/themes/default/blocks/tarot-hero-client.tsx
  • src/themes/default/blocks/feature-showcase.tsx
  • src/themes/default/blocks/feature-showcase-count.tsx
  • src/themes/default/blocks/trust-features.tsx
  • src/themes/default/blocks/comparison.tsx
  • src/themes/default/blocks/testimonials.tsx
  • src/themes/default/blocks/cta-line.tsx
  • src/shared/components/ui/reveal.tsx
  • src/components/tarot-ui/StarBackground.tsx
  • src/components/ui/RotatingHint.tsx
  • src/components/ui/QuestionValidationModal.tsx
  • src/config/style/global.css
v2.1.1

部落格后台优化 - 朱莉安塔羅

后台部落格内容管理脚本

强化部落格内容管理与呈现,补齐后台功能,并加入内容维护脚本。

后台功能

  • 文章与分类新增关键词搜索
  • 文章新增/编辑支持标签(tags)

详情页版式

  • 作者名称与发布时间放在同一行
  • 移除右侧作者卡片,阅读区域更集中

内容维护

  • 新增导入、日期重排、同步回文件的脚本
  • 文章发布时间分散到过去 6 个月,含 2026 的内容集中在 2025 年 12 月

相关文件

  • src/app/[locale]/(admin)/admin/posts/page.tsx
  • src/app/[locale]/(admin)/admin/posts/add/page.tsx
  • src/app/[locale]/(admin)/admin/posts/[id]/edit/page.tsx
  • src/app/[locale]/(admin)/admin/categories/page.tsx
  • src/shared/models/post.tsx
  • src/shared/models/taxonomy.ts
  • src/themes/default/blocks/blog-detail.tsx
  • scripts/import-blog.ts
  • scripts/redistribute-blog-dates.ts
  • scripts/sync-blog-dates-to-files.ts
v2.1.0

生产环境部署 - 朱莉安塔羅

部署VercelEdge Runtime问题修复

成功将朱莉安塔羅部署到 Vercel 生产环境,配置自定义域名。

部署概要

  • 域名: juliantarot.com (Namecheap)
  • 平台: Vercel Edge Runtime
  • AI 服务: OpenRouter (Gemini 2.5 Flash)

主要变更

Edge Runtime API 密钥修复

修复了生产环境 AI 功能无法使用的关键问题。根本原因是环境变量在模块加载时(构建时)被读取,导致 Edge Runtime 中 API 密钥为空。

修复前(错误):

export const OPENROUTER_API_KEY = process.env.OPENROUTER_API_KEY || "";

修复后(正确):

export const getOpenRouterApiKey = () => process.env.OPENROUTER_API_KEY || "";

修改的文件

  • src/lib/ai-gemini.ts - 改为运行时函数导出
  • src/app/api/reading/interpret/route.ts - 运行时读取 API 密钥
  • src/app/api/reading/followup/route.ts - 运行时读取 API 密钥
  • src/app/api/validate-question/route.ts - 运行时读取 API 密钥

环境变量配置

生产环境必需的环境变量:

  • OPENROUTER_API_KEY - AI 服务 API 密钥
  • DATABASE_URL - PostgreSQL 连接字符串
  • AUTH_SECRET - 认证加密密钥
  • NEXT_PUBLIC_APP_URL - 生产环境 URL (https://juliantarot.com)

验证结果

  • 本地和云端代码已确认完全一致
  • 环境变量是两个环境之间的唯一差异
  • AI 流式响应功能已在生产环境确认正常工作
v2.0.0

ShipAny Two 发布

ShipAny TwoNext.js 16AI SaaSBoilerplate

ShipAny Two 基于最新的 Next.js 16,在编译性能方面有很大提升,本地开发更快、内存占用更小。

快速开始

git clone git@github.com:shipanyai/shipany-template-two.git

ShipAny Two 文档

v1.0.0

ShipAny One 发布

ShipAny OneNext.js 15AI SaaSBoilerplate

ShipAny 是一个基于 NextJS 的 AI SaaS 开发框架,内置丰富的组件和 AI SDK,帮助你快速完成 AI SaaS 项目开发。

快速开始

git clone git@github.com:shipanyai/shipany-template-one.git

ShipAny One 文档