同一片樹葉只能變成一張卡,而且照片不進伺服器

約 2 分鐘

Wildcard 的牌不是畫出來的。你拍到一個東西,它才有資格變成一張卡。牌組最多 20 張。同一張圖不該進兩次。

這聽起來像儲存策略。它其實是紀念的規則:一次接觸,一張卡。拍兩次同一塊石頭,不會變成兩段回憶。


我若照相簿 app 的做法,會把原圖上傳,伺服器當主人。模型也很會這樣寫,順便做一個縮圖 CDN。那樣每張卡都在雲上有一份,換手機方便,也再也不像「我口袋裡帶回來的東西」。

所以檔案的 SHA-256 當成文件 id,同一張圖全平台只進得了一次。圖的本體留在這台裝置的 IndexedDB,Firestore 只留 metadata 和那個雜湊。長邊先壓過,免得一張石頭的原圖把人的流量吃掉。伺服器知道有這張卡,看不到你撿到的那一顆。

辨識不出來的圖要擋。重複的雜湊要擋。這兩件事都是這張圖自己的問題。牌組滿了則是另一件事:多出來的那些是 skipped,要告訴你「因為滿了所以沒加」,不能跟「這張圖有問題」混成同一句錯誤。滿,是你已經帶夠紀念了。認不出,是這張照片還沒有成為一個東西。

虛擬紀念要還認得出當時摸到的那個,而且一份就夠。

收尾

雲端相簿收集的是檔案。這個牌組收集的是你真的遇到過的東西。兩件事的資料結構幾乎一樣,差在誰被允許留著那張照片。

先不說了,我得去確認雜湊撞在一起的時候,第二張是安靜消失,還是有人話跟你說這塊石頭已經在牌組裡。

這件事發生於 2026 年 4 月到 5 月,文章整理於 2026 年 10 月。