# Checklist ## 后端验证 - [x] air_quality 应用目录结构完整(`__init__.py`, `apps.py`, `views.py`, `urls.py`, `tests.py`, `admin.py`, `models.py`, `migrations/__init__.py`) - [x] `AirQualityView` 类正确实现 GET 和 POST 方法 - [x] 地理编码逻辑正确调用 Open-Meteo Geocoding API - [x] 空气质量数据正确解析(包含 pm2_5, pm10, ozone, nitrogen_dioxide, sulphur_dioxide, carbon_monoxide, air_quality_level) - [x] 参数校验:`city` 为空时返回 400 - [x] 城市不存在时返回 404 - [x] 第三方API超时/异常时返回 502/503 - [x] Swagger 文档装饰器正确配置(tags, operation_summary, parameters, responses) - [x] URL 路由注册正确(`/api/air-quality/`) - [x] `INSTALLED_APPS` 包含 `air_quality` - [x] 响应格式遵循 `{code, message, data}` 标准 ## 前端验证 - [x] `AQIDetails.tsx` 桌面端页面正确渲染 - [x] `AQIDetailsMobile.tsx` 移动端页面正确渲染 - [x] `AQIDetails.css` 样式文件存在且与设计系统一致 - [x] Hero 区域显示页面标题和描述 - [x] "文档" 标签显示:接口描述、请求参数表、响应示例、错误码 - [x] "测试" 标签显示:URL输入框、发送按钮、响应结果区域 - [x] 发送请求功能正确调用 `/api/air-quality/` 后端API - [x] 响应结果正确显示(状态码、耗时、响应体) - [x] 错误处理正确(网络错误、参数错误等) - [x] 路由 `/api/air-quality-details` 正确注册 - [x] i18n 翻译在所有支持的语言中完整 ## 集成验证 - [x] 后端API可通过 `curl` 或 Postman 正常访问 - [x] Swagger UI (`/swagger/`) 显示空气质量API文档 - [x] 前端页面可通过浏览器正常访问 - [x] 前端测试功能可正确调用后端并显示结果 - [x] 移动端响应式布局正常