本專案是一個基於 GitHub倉庫 + Cloudflare Pages 部署的靜態網站,提供隨機圖片 API 功能。
圖片依據 mobile
和 desktop
分類存放,並動態生成 images.json
文件以供前端隨機返回圖片。
-
隨機圖片 API
- 支援
mobile
和desktop
類型的圖片。 - 使用
?deviceType=mobile
或?deviceType=desktop
請求隨機圖片。
- 支援
-
自動生成圖片清單
- 使用 GitHub Actions,掃描
images/
目錄並動態生成images.json
文件。 - 確保每次新增或刪除圖片時清單自動更新。
- 使用 GitHub Actions,掃描
-
輕量部署
- 無需後端,完全靜態網站架構。
- 支援 Cloudflare Pages 快速部署。
project/
├── images/ # 圖片目錄
│ ├── mobile/ # mobile 類型圖片
│ └── desktop/ # desktop 類型圖片
├── images.json # 動態生成的圖片清單
├── index.html # 主頁入口
├── script.js # 隨機圖片邏輯
├── scripts/ # 工具腳本
│ └── generate-json.js # 自動生成 images.json 的腳本
└── .github/
└── workflows/
└── generate-images-json.yml # GitHub Actions 工作流程
git clone https://github.com/your-username/random-image-api.git
cd random-image-api
將圖片放置於 images/mobile/
或 images/desktop/
目錄。
每次推送圖片到 GitHub 倉庫時,GitHub Actions 會自動執行生成腳本,更新 images.json
。
- 推送專案到 GitHub 倉庫。
- 前往 Cloudflare Pages,連結此 GitHub 倉庫。
- 部署完成後,使用以下 API 測試功能。
GET https://your-cloudflare-pages-site.com?deviceType={type}
deviceType
:mobile
:返回一張隨機的 mobile 類型圖片。desktop
:返回一張隨機的 desktop 類型圖片。
{
"url": "images/mobile/image1.jpg",
"type": "mobile"
}
- 啟動簡單的 HTTP 伺服器:
python3 -m http.server 8000
- 在瀏覽器中訪問
http://localhost:8000
。
若需手動生成,執行以下命令:
node scripts/generate-json.js
歡迎提交 Issue 或 Pull Request 來改進本專案!
本專案採用 GPLv3