50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
# Tasks
|
||
|
||
## 后端实现
|
||
|
||
- [x] Task 1: 创建 air_quality Django应用
|
||
- [x] SubTask 1.1: 创建 `air_quality/` 目录结构(`__init__.py`, `apps.py`, `views.py`, `urls.py`, `tests.py`, `admin.py`, `models.py`, `migrations/`)
|
||
- [x] SubTask 1.2: 配置 `apps.py` 应用元数据
|
||
|
||
- [x] Task 2: 实现空气质量查询API视图
|
||
- [x] SubTask 2.1: 实现 `AirQualityView` 类(GET和POST方法)
|
||
- [x] SubTask 2.2: 实现城市名称地理编码(复用 Open-Meteo Geocoding API)
|
||
- [x] SubTask 2.3: 调用 Open-Meteo 空气质量API获取数据
|
||
- [x] SubTask 2.4: 解析并格式化AQI数据(PM2.5, PM10, O3, NO2, SO2, CO, 等级)
|
||
- [x] SubTask 2.5: 添加参数校验和错误处理
|
||
- [x] SubTask 2.6: 添加Swagger文档装饰器
|
||
|
||
- [x] Task 3: 注册URL路由和应用
|
||
- [x] SubTask 3.1: 配置 `air_quality/urls.py` 路由
|
||
- [x] SubTask 3.2: 在 `api/urls.py` 中添加 `path('air-quality/', include('air_quality.urls'))`
|
||
- [x] SubTask 3.3: 在 `settings.py` 的 `INSTALLED_APPS` 中添加 `air_quality`
|
||
|
||
## 前端实现
|
||
|
||
- [x] Task 4: 创建AQIDetails页面组件
|
||
- [x] SubTask 4.1: 创建 `pages/AQIDetails/` 目录
|
||
- [x] SubTask 4.2: 实现 `AQIDetails.tsx` 桌面端页面(Hero + Tabs + 文档 + 测试)
|
||
- [x] SubTask 4.3: 实现 `AQIDetailsMobile.tsx` 移动端页面
|
||
- [x] SubTask 4.4: 创建 `AQIDetails.css` 样式文件(复用ApiDetail设计风格)
|
||
|
||
- [x] Task 5: 添加路由和翻译
|
||
- [x] SubTask 5.1: 在 `App.tsx` 中添加 `/api/air-quality-details` 路由
|
||
- [x] SubTask 5.2: 在 `locales/zh.json` 中添加中文翻译键
|
||
- [x] SubTask 5.3: 在 `locales/en.json` 中添加英文翻译键
|
||
- [x] SubTask 5.4: 在 `locales/ja.json`, `locales/ko.json`, `locales/zh-TW.json`, `locales/ru.json` 中添加翻译
|
||
|
||
## 集成与验证
|
||
|
||
- [x] Task 6: 端到端测试
|
||
- [x] SubTask 6.1: 验证后端API可通过 `/api/air-quality/?city=北京` 访问
|
||
- [x] SubTask 6.2: 验证Swagger文档包含新API
|
||
- [x] SubTask 6.3: 验证前端页面可通过 `/api/air-quality-details` 访问
|
||
- [x] SubTask 6.4: 验证前端测试功能可正确调用后端API
|
||
|
||
# Task Dependencies
|
||
|
||
- Task 2 依赖 Task 1(需要先创建应用结构)
|
||
- Task 3 依赖 Task 2(需要先实现视图)
|
||
- Task 5 依赖 Task 4(需要先实现页面)
|
||
- Task 6 依赖 Task 3 和 Task 5(需要前后端都完成)
|