硬盘价格对比网站,展示来自 Amazon 的 SSD 和 HDD 价格信息。
- 前端:HTML5 + CSS3 + JavaScript
- 后端:Cloudflare Workers
- 数据存储:Cloudflare KV
- 定时任务:Cloudflare Cron Triggers
- API:Amazon Product Advertising API
/
├── src/
│ ├── frontend/ # 前端代码
│ │ ├── index.html
│ │ ├── styles.css
│ │ ├── script.js
│ │ └── data/
│ │ ├── products.json
│ │ └── languages.json
│ └── worker/ # Cloudflare Worker 代码
│ ├── index.ts # Worker 入口文件
│ ├── api.ts # Amazon API 处理
│ └── types.ts # 类型定义
├── dist/ # 构建输出目录
├── .gitignore
├── package.json
├── wrangler.toml
├── tsconfig.json
└── README.md
-
配置 Cloudflare
# 安装 Wrangler CLI npm install -g wrangler # 登录 Cloudflare wrangler login # 创建 KV namespace wrangler kv:namespace create DISK_PRICES
-
配置环境变量
- 在 Cloudflare Dashboard 中设置以下环境变量:
- AMAZON_ACCESS_KEY_ID
- AMAZON_SECRET_ACCESS_KEY
- 在 Cloudflare Dashboard 中设置以下环境变量:
-
部署前端
# 安装依赖 npm install # 构建前端 npm run build:frontend
-
部署 Worker
# 构建并部署 Worker npm run deploy
-
本地开发
# 启动开发服务器 npm run dev -
测试定时任务
# 手动触发定时任务 curl "http://localhost:8787/__scheduled?cron=*+*+*+*+*"
ENVIRONMENT: 运行环境 (development/production)AMAZON_ACCESS_KEY_ID: Amazon API 访问密钥AMAZON_SECRET_ACCESS_KEY: Amazon API 密钥DISK_PRICES: Cloudflare KV namespace 绑定
- 确保已经在 Cloudflare 中设置了正确的环境变量
- Amazon API 调用频率限制为每小时 8640 次
- 产品数据每 6 小时更新一次
- 请替换
wrangler.toml中的 KV namespace ID
MIT