38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# 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] 移动端响应式布局正常
|