# CakeShare 分享

CakeShare 是蛋日使用的分享格式，用於在裝置之間傳遞生日資料。

## 特定人物分享模式

在好友詳情頁面中，點一下系統分享按鈕會看到 **分享連結** 和 **分享檔案** 子選單：

1. **分享連結：** 產生一個形如 `https://cakeday.wbx1.com/share/<token>` 的編碼連結，包含姓名、日期、曆法類型、閏月標誌、年份（如有）和備註，但不包含頭像和群組資訊。接收者在 Apple 裝置上點一下連結後，蛋日會開啟並顯示 **新增生日** 確認頁面（若已儲存了相符的生日，則顯示 **仍要新增** 按鈕的「已存在」警告）。分享連結有以下限制：姓名最多 200 個字元，備註最多 2,000 個字元，編碼後的總資料不能超過 4 KB。
2. **分享檔案：** 子選單包含 **產生分享檔案**（依你已儲存的欄位選擇匯出這位好友的 `.cakeshare`）和 **分享內容**（先開啟一個面板選擇要包含的欄位）。預設只包含頭像，直到你選擇更多——見下文 **選擇分享內容**。

## 選擇分享內容

**分享內容** 面板讓你精確決定單一好友的 `.cakeshare` 檔案包含哪些內容。

- **一律包含：** 姓名和生日日期。
- **可選欄位**，分為：檔案（頭像、群組）、出生詳情（出生時間、出生地、時區、上升星座）和備註。只有當好友確實有相應資料時，對應開關才會出現。
- **更多資訊：** 好友手動填寫的每個附加欄位（MBTI、星盤位置、身份等）都可以單獨選擇是否包含。

你對檔案、出生詳情和備註的選擇會儲存在本機，並在日後產生分享檔案時沿用；**更多資訊** 的選擇只對目前檔案生效，每次都從關閉開始。點一下 **儲存並產生** 匯出，或點一下 **完成** 只儲存選擇而不匯出。

## 開啟分享連結

接收者點一下分享連結時，行為取決於其裝置和瀏覽器：

- **Apple 裝置（Safari 或系統瀏覽器）：** 連結會自動嘗試開啟蛋日。如果未安裝該應用程式，幾秒後會顯示引導頁面，提供 App Store 下載連結。
- **Apple 裝置（應用程式內瀏覽器）：** 應用程式內瀏覽器（如微信、QQ、LINE、微博）無法直接開啟深層連結。系統會顯示引導頁面，提示使用者點一下選單並選取「在 Safari 中開啟」。
- **非 Apple 裝置：** 頁面會提示該連結需要 iPhone、iPad 或 Mac，並提供 App Store 連結。

## 分享包 (.cakeshare)

iOS 應用程式匯出時**每個 `.cakeshare` 檔案只包含一位好友**。若要將多位好友（包含頭像和群組）打包進單一分享包，請使用 [CakeShare 網頁工具](#cakeshare-網頁工具)；蛋日隨後可一次匯入整個分享包。

分享單一好友時，傳送方可以選擇包含哪些欄位（見上文「選擇分享內容」）；其中 **更多資訊** 欄位（如 MBTI 或星盤位置）預設關閉，且每個檔案都會重置。CakeShare 網頁工具不會建立這些額外欄位，但它產生的檔案仍與同一格式相容。

## 檔案保護

匯出的 `.cakeshare` 檔案在分享前一律會加密——但只有密碼才能提供真正的保護。

- 不設密碼時，加密只是讓內容變得難以辨識，並不能確保其機密性。
- 如有需要，你還可以加入密碼，接收者在匯入前需要先輸入密碼。這是唯一能提供真正保護的模式。
- 請僅透過你信任的管道分享檔案與密碼。

## CakeShare 網頁工具

你可以透過 [https://cakeday.wbx1.com/cakeshare](https://cakeday.wbx1.com/cakeshare) 網頁工具在瀏覽器中建立 `.cakeshare` 分享包，無需 iOS 應用程式。該工具支援：

- 新增好友，包括姓名、日期（公曆或農曆）、群組（顏色和圖示）、頭像和備註。
- 透過可下載的範本從 CSV 匯入。
- 裁剪並壓縮頭像至 1024px WebP 格式（最大 2 MB）。
- 匯出帶有可選密碼保護的 `.cakeshare` 檔案。

資料會在瀏覽器本機處理，不會上傳到伺服器。

## 匯入解碼流程

當接收者開啟 `.cakeshare` 檔案時，蛋日會顯示「匯入分享包」介面。

- 系統會列出所有好友，你可以選擇要匯入哪些。
- 若偵測到重複的好友，系統會提示警告。
