Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🎸 五月天 阿信相片館 | Mayday Ashin Gallery

V1.2 — 任何人都能直接上傳自己的照片,不需要 IG。

一個輕量、響應式且具備 IG 風格的相片收藏館。支援手機與電腦本機照片上傳、自動壓縮、分類標籤、愛心按讚、下載,以及 Firebase 雲端即時同步。

網頁:https://kaichen0621.github.io/ashin/

License HTML5 JavaScript Firebase


更新內容 ver 1.5

本次更新改善了相片管理、下載品質與使用安全性。

  • 新增「上傳者名稱」欄位,照片資訊可辨識由誰上傳。
  • 照片詳情新增上傳者、日期與圖片品質標示。
  • 刪除照片改為雙重確認機制,需輸入 DELETE 才能刪除,降低誤觸風險。
  • 提升站內高畫質副本至最長邊 2560px。
  • 新增「雲端原始檔下載網址」:可串接 Firebase Storage、Google Drive、S3 或 Cloudflare R2,保留與下載真正原始解析度照片。
  • 「高畫質原圖」按鈕會優先下載雲端原檔;未提供時才下載站內高畫質副本。
  • 優化照片資訊介面與輸入安全性,使用更直覺、資料顯示更清楚。

✨ 核心特色

  • 📷 簡單上傳,不綁定 IG:核心流程只有「選擇照片+文字」。手機或電腦中的照片都能直接加入相片館。
  • 👤 上傳者可追溯:新增照片時必填上傳者名稱,會顯示於照片資訊並記住在該裝置。
  • 🗑️ 防誤刪確認:刪除前須輸入 DELETE,避免在編輯模式誤觸造成資料遺失。
  • ⬇️ 可下載的照片版本:本機照片會產生展示圖與較高畫質副本(最長邊 2560px);可填入 Firebase Storage、S3 等雲端原檔網址,讓「高畫質原圖」下載真正的原始檔。
  • 🔧 IG/網路圖片為進階設定:需要時才展開填寫網路圖片網址或 IG 原始貼文,平常上傳不必接觸這些欄位。
  • ⚡️ 開站同步保護:首次進入會顯示同步畫面,等待照片與標籤資料都完成載入才開放操作,避免讀取中的資料被覆蓋;同步逾時則安全使用本機資料。
  • 🏷️ 更穩定的標籤同步:標籤獨立儲存與同步;新增、重新命名、刪除後會立即更新介面與雲端資料。
  • 👋 首次使用導覽:第一次開啟網站會顯示簡短教學,說明切換編輯模式與新增照片的步驟。
  • ❤️ 愛心按讚與互動:使用者可針對喜愛的照片點擊愛心按讚,愛心數與下載次數均即時廣播並同步儲存於雲端資料庫。
  • 📸 快捷貼上與自動壓縮:支援直接使用鍵盤快捷鍵 (Cmd + V / Ctrl + V) 貼上剪貼簿圖片,並透過 Canvas API 自動將檔案壓縮,兼顧畫質與載入速度。
  • 🌓 深淺色主題切換:內建深色(Dark)與淺色(Light)視覺模式,自動記憶使用者的主題偏好。
  • ✏️ 雙重模式(檢視 / 編輯):可一鍵切換「檢視模式」與「編輯模式」,防止日常瀏覽時誤觸刪除或編輯按鈕。
  • 📱 行動版操作優化:手機底部按鈕採三欄網格,編輯模式會自動換行,支援安全區域並避免按鈕擁擠。
  • 🪟 易讀的檢視視窗:照片說明可獨立捲動,愛心、貼文與下載按鈕固定在底部;可按 Esc 關閉視窗。

🛠️ 技術棧

  • 前端:HTML5, CSS3 (原生變數 & Grid/Flexbox), ES6+ JavaScript
  • 字型:Google Fonts (Plus Jakarta Sans, Noto Sans TC)
  • 雲端資料庫:Firebase Realtime Database (Web SDK v10)
  • 本地儲存 / 圖像處理:LocalStorage + HTML5 Canvas API(用於圖片 Resize 與壓縮)

原始照片儲存建議:Realtime Database 適合存貼文資料與圖片網址,不適合存完整原圖的 Base64。要保留手機原始解析度,請將檔案放到 Firebase Storage(或 S3 / Cloudflare R2),並把下載網址填到「雲端原始檔下載網址」;資料庫只儲存該網址與照片資訊。


📂 專案結構

.
├── index.html       # 主程式碼 (包含 UI、樣式與 JavaScript 邏輯)
├── ashin.jpg        # 大頭貼預設圖片 (或 ashin.png)
└── README.md        # 專案說明文件

使用方式

  1. 開啟網站,等待初始同步完成。
  2. 切換至「編輯模式」。
  3. 按「新增」,選擇照片並輸入文字內容後儲存。
  4. 需要連結 IG 或外部圖片時,再展開「進階設定」。

照片會自動同步至 Firebase;也可使用「☁️ 手動同步」立即寫入目前資料。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages