🚀
jhm5-4
Cloudflare Worker 專案展示
現代化的全端應用程式集合
使用 Cloudflare Workers + KV 打造
按右鍵繼續 →
📋 專案概述
- 6 個完整的 Web 應用程式
- 使用 Cloudflare Workers 提供靜態資源
- 整合 Cloudflare KV 實現資料持久化
- 純前端應用與全端應用的完美結合
- 所有介面使用繁體中文
- 自訂網域:jhm5-4.oooooooo.io
- 簡潔、極簡、現代化的設計風格
⚙️ 技術堆疊
後端技術
- Cloudflare Workers
- TypeScript
- Cloudflare KV
- RESTful API
前端技術
- 純 HTML/CSS/JavaScript
- 響應式設計
- LocalStorage API
- Fetch API
🏗️ 專案架構
jhm5-4/
├── src/
│ ├── index.ts # Worker 主程式
│ └── apps/ # API 端點模組
│ ├── todo-cloud.ts # 待辦事項 API
│ └── mathgame.ts # 數學遊戲 API
├── public/
│ ├── index.html # 主頁
│ ├── style.css # 全域樣式
│ └── apps/ # 應用程式頁面
│ ├── tictactoe.html
│ ├── todo-local.html
│ ├── todo-cloud.html
│ ├── mathgame.html
│ ├── presentation.html
│ └── tutorial.html
├── package.json
└── wrangler.jsonc # Cloudflare 配置
⭕️❌ App 1: 井字遊戲
功能特色
- 單人模式(AI 對戰)
- 雙人模式
- 使用 Minimax 演算法
- 遊戲狀態儲存/載入
- 勝利動畫效果
技術亮點
- 完整的 AI 邏輯
- 遊戲狀態管理
- LocalStorage 持久化
- 流暢的互動體驗
🤖 Minimax 演算法
為井字遊戲 AI 實作無敵的決策邏輯
function minimax(board, depth, isMaximizing) {
// 檢查遊戲狀態
if (勝利) return 評分;
if (平局) return 0;
if (isMaximizing) {
// AI 回合:找最大分數
return Math.max(...所有可能走法的分數);
} else {
// 玩家回合:找最小分數
return Math.min(...所有可能走法的分數);
}
}
📝 App 2: 本地待辦事項
功能特色
- 新增/編輯/刪除待辦
- 標記完成狀態
- 篩選顯示
- 清除已完成項目
- 統計資訊
技術亮點
- 純前端實作
- LocalStorage 儲存
- 即時更新 UI
- 優雅的動畫效果
☁️ App 3: 雲端待辦事項
功能特色
- 多使用者支援
- 雲端資料同步
- 跨裝置存取
- 完整的 CRUD 操作
- 即時同步狀態
技術亮點
- Cloudflare KV 儲存
- RESTful API 設計
- 使用者隔離
- 非同步操作處理
🔌 API 端點設計
模組化 API 架構
src/apps/todo-cloud.ts # 待辦事項 API 模組
src/apps/mathgame.ts # 數學遊戲 API 模組
src/index.ts # 主路由器
├─> /api/todos/* → handleTodoAPI()
└─> /api/mathgame/* → handleMathGameAPI()
API 端點
# Todo Cloud API
GET /api/todos/{userId} # 取得待辦清單
PUT /api/todos/{userId} # 更新待辦清單
DELETE /api/todos/{userId} # 刪除待辦清單
# Math Game API
GET /api/mathgame/scores # 取得排行榜
POST /api/mathgame/scores # 提交新分數
# KV Binding: JHM5_4_KV
jhm5_4_todos_{userId}
jhm5_4_mathgame_scores
🧮 App 4: 限時數學遊戲
功能特色
- 三種難度級別
- 限時挑戰
- 連續答對加分
- 四則運算題目
- 全球排行榜
技術亮點
- 動態題目生成
- 計時器管理
- 分數系統設計
- KV 排行榜儲存
🎮 遊戲計分機制
分數計算
- 答對一題:10 分
- 連續答對加成:+2 分/連續
- 答錯扣分:-5 分
- 連續中斷:重新計算
難度設定
- 😊 簡單:1-20 範圍,30 秒
- 🤔 中等:1-50 範圍,45 秒
- 😤 困難:1-100 範圍,60 秒
📊 資料流程圖
使用者 ──────> 前端應用
│
│ Fetch API
▼
Cloudflare Worker
│
├──> 靜態資源 (Assets)
│
└──> API 路由
│
▼
Cloudflare KV
(資料儲存)
採用 Edge Computing 架構,
全球分散式部署,低延遲高效能
📐 開發規範
- 程式碼風格:簡潔、極簡、乾淨
- 專案名稱:jhm5-4
- KV 命名規則:jhm5_4_*
- 部署方式:直接部署到 Cloudflare
- 介面語言:繁體中文
- 設計風格:現代簡約極簡
- 色彩運用:克制優雅
- 特效原則:強化功能體驗
🚢 部署流程
1. 安裝依賴
npm install
2. 設定 KV Namespace
npx wrangler kv namespace create JHM5_4_KV
npx wrangler kv namespace create JHM5_4_KV --preview
# 更新 wrangler.jsonc 中的 namespace ID
3. 設定自訂網域
# 在 Cloudflare Dashboard 設定自訂網域
jhm5-4.oooooooo.io
4. 部署到 Cloudflare
npm run deploy
⚡ 效能優化
前端優化
- 最小化 DOM 操作
- CSS 動畫加速
- 事件委派處理
- LocalStorage 快取
後端優化
- KV 快速讀寫
- 邊緣運算部署
- CORS 優化
- 資料壓縮傳輸
🔒 安全性設計
- CORS 跨域控制
- 輸入驗證與過濾
- 資料大小限制
- 使用者資料隔離
- 防止 XSS 攻擊
- API 錯誤處理
採用 Cloudflare 的全球安全防護,
包含 DDoS 防護、SSL/TLS 加密等企業級安全特性
🔮 未來展望
功能擴充
- 使用者認證系統
- 社交分享功能
- 即時多人對戰
- 成就系統
技術升級
- WebSocket 支援
- PWA 離線功能
- Durable Objects
- Analytics 分析
✨
專案總結
jhm5-4 展示了如何使用 Cloudflare Workers
打造現代化的全端應用程式。從簡單的遊戲到雲端儲存,
涵蓋了前端互動、模組化 API、資料持久化等完整技術棧。
✨ 核心技術
模組化 API 設計 • KV 儲存
自訂網域部署 • 全端開發
簡潔 · 高效 · 現代
🙏
感謝觀看
jhm5-4
Cloudflare Worker 專案
🌐 https://jhm5-4.oooooooo.io
按 Esc 返回首頁或重新觀看