📋 API 文檔

BurnSky 燒天預測系統提供 RESTful API,讓開發者可以輕鬆整合燒天預測功能到自己的應用中。

基本資訊

🔥 核心 API 端點

GET 日落燒天預測

GET /predict/sunset?advance_hours=0

獲取日落時段的燒天預測資訊,包括評分、天氣因子和拍攝建議。

查詢參數

參數 類型 必需 說明
advance_hours integer 提前預測小時數 (0-48, 預設: 0)

GET 日出燒天預測

GET /predict/sunrise?advance_hours=0

獲取日出時段的燒天預測資訊。

POST ML 燒天預測

POST /api/ml-prediction

使用機器學習模型根據自定義天氣參數進行預測。

請求 Body (JSON)

{ "cloud_coverage": 50, "humidity": 70, "wind_speed": 15, "temperature": 20, "time_of_day": 18 }

📊 數據查詢 API

GET 天氣數據

GET /api/weather

獲取當前天氣數據,包括溫度、濕度、風速等。

GET 最佳拍攝地點

GET /api/locations

獲取香港推薦的燒天拍攝地點清單。

GET 日出日落時間

GET /api/astronomy

獲取當日的日出日落時間、黃金時段等天文數據。

📸 照片相關 API

GET 照片案例

GET /api/photo-cases

獲取燒天照片案例數據庫中的記錄。

POST 照片分析

POST /api/analyze-photo

上傳照片進行 AI 分析,獲得燒天品質評分。

Content-Type: multipart/form-data

參數: photo (file), rating (int 1-10)

⚠️ 警告台 API

GET 警告台數據

GET /api/warning-dashboard-data

獲取警告台儀表板所需的統計數據和歷史記錄。

使用範例

JavaScript (Fetch API)

// 獲取日落預測 async function getSunsetPrediction() { try { const response = await fetch('/predict/sunset?advance_hours=0'); const data = await response.json(); console.log('燒天評分:', data.score); console.log('建議:', data.recommendation); } catch (error) { console.error('API 錯誤:', error); } }

Python

import requests def get_sunset_prediction(): try: response = requests.get('http://localhost:5001/predict/sunset?advance_hours=0') data = response.json() return { 'score': data['score'], 'recommendation': data['recommendation'] } except requests.RequestException as e: print(f'API 錯誤: {e}') return None

curl

curl -X GET "http://localhost:5001/predict/sunset?advance_hours=0"

錯誤處理

API 使用標準 HTTP 狀態碼。錯誤回應格式:

{ "error": "錯誤類型", "message": "詳細錯誤信息" }

支援

如有 API 使用問題或建議,請聯絡我們。