sync from local backup

This commit is contained in:
chunyu
2026-08-05 23:59:22 +08:00
commit a59f46b894
409 changed files with 166027 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
- [ ] AQIDetails桌面端组件文件创建于 `src/pages/AQIDetails/AQIDetails.tsx`
- [ ] AQIDetails桌面端包含Hero区域(标题和副标题)
- [ ] AQIDetails桌面端包含"文档"Tab(接口名称、GET标签、URL、描述、请求参数表、响应示例、错误码表)
- [ ] AQIDetails桌面端包含"测试"Tab(URL输入框默认`/api/air-quality/`、city输入框、发送按钮、响应展示)
- [ ] AQIDetails桌面端使用 `request.public.get` 调用API
- [ ] AQIDetails桌面端使用 useTranslation hook
- [ ] AQIDetails桌面端使用 useNavigate hook
- [ ] AQIDetailsMobile移动端组件文件创建于 `src/pages/AQIDetails/AQIDetailsMobile.tsx`
- [ ] AQIDetailsMobile布局适配移动端(简化布局)
- [ ] AQIDetails.css文件创建于 `src/pages/AQIDetails/AQIDetails.css`
- [ ] AQIDetails.css使用绿色主题配色(如#22c55e, #16a34a)
- [ ] App.tsx中导入AQIDetails和AQIDetailsMobile组件
- [ ] App.tsx中添加路由 `<Route path="/api/air-quality-details" element={isMobile ? <AQIDetailsMobile /> : <AQIDetails />} />`
- [ ] zh.json中添加完整的aqiDetails翻译键
- [ ] en.json中添加完整的aqiDetails翻译键
- [ ] ja.json中添加完整的aqiDetails翻译键
- [ ] ko.json中添加完整的aqiDetails翻译键
- [ ] zh-TW.json中添加完整的aqiDetails翻译键
- [ ] ru.json中添加完整的aqiDetails翻译键
- [ ] tasks.md中Task 1-5复选框已勾选
+75
View File
@@ -0,0 +1,75 @@
# 空气质量指数API详情页 Spec
## Why
用户需要查看空气质量指数API的文档和在线调试功能,当前系统缺少该API的独立详情页面。
## What Changes
- 创建桌面端页面组件 `AQIDetails.tsx`
- 创建移动端页面组件 `AQIDetailsMobile.tsx`
- 创建绿色主题样式文件 `AQIDetails.css`
- 在 `App.tsx` 中添加路由 `/api/air-quality-details`
- 在6个i18n文件中添加 `aqiDetails` 翻译键
- 更新 `tasks.md` 标记任务完成
## Impact
- Affected specs: 无
- Affected code:
- `src/pages/AQIDetails/AQIDetails.tsx` (新建)
- `src/pages/AQIDetails/AQIDetailsMobile.tsx` (新建)
- `src/pages/AQIDetails/AQIDetails.css` (新建)
- `src/App.tsx` (修改)
- `src/locales/zh.json` (修改)
- `src/locales/en.json` (修改)
- `src/locales/ja.json` (修改)
- `src/locales/ko.json` (修改)
- `src/locales/zh-TW.json` (修改)
- `src/locales/ru.json` (修改)
## ADDED Requirements
### Requirement: AQI详情页桌面端组件
系统应提供一个桌面端页面组件,展示空气质量API的文档和测试功能。
#### Scenario: 桌面端页面展示
- **WHEN** 用户访问 `/api/air-quality-details` 且设备为桌面端
- **THEN** 渲染 `AQIDetails` 组件,包含Hero区域和文档/测试两个Tab
#### Scenario: 文档Tab展示
- **WHEN** 用户点击"文档"Tab
- **THEN** 展示接口名称、GET方法标签、URL、接口描述、请求参数表、响应示例、错误码表
#### Scenario: 测试Tab功能
- **WHEN** 用户在"测试"Tab输入城市并点击发送
- **THEN** 使用 `request.public.get` 调用API,展示响应状态码、耗时和响应体
### Requirement: AQI详情页移动端组件
系统应提供一个移动端适配的页面组件。
#### Scenario: 移动端页面展示
- **WHEN** 用户访问 `/api/air-quality-details` 且设备为移动端
- **THEN** 渲染 `AQIDetailsMobile` 组件,布局适配移动屏幕
### Requirement: 绿色主题样式
系统应提供与空气质量相关的绿色主题样式。
#### Scenario: 样式应用
- **WHEN** AQI详情页渲染
- **THEN** 使用绿色主题配色(如 #22c55e, #16a34a 等自然色系)
### Requirement: 路由配置
系统应在App.tsx中配置AQI详情页路由。
#### Scenario: 路由访问
- **WHEN** 用户导航到 `/api/air-quality-details`
- **THEN** 根据设备类型渲染对应的组件
### Requirement: i18n翻译支持
系统应在所有支持的语言文件中添加aqiDetails翻译键。
#### Scenario: 中文展示
- **WHEN** 用户语言设置为中文
- **THEN** 展示中文翻译的aqiDetails内容
#### Scenario: 英文展示
- **WHEN** 用户语言设置为英文
- **THEN** 展示英文翻译的aqiDetails内容
+38
View File
@@ -0,0 +1,38 @@
# Tasks
- [ ] Task 1: 创建AQIDetails桌面端页面组件
- [ ] SubTask 1.1: 创建 `src/pages/AQIDetails/` 目录
- [ ] SubTask 1.2: 实现AQIDetails.tsx,参考ApiDetail.tsx结构
- [ ] SubTask 1.3: 实现Hero区域(标题"空气质量查询API")
- [ ] SubTask 1.4: 实现文档Tab(接口信息、请求参数表、响应示例、错误码)
- [ ] SubTask 1.5: 实现测试Tab(URL输入框、city输入框、发送按钮、响应展示)
- [ ] SubTask 1.6: 使用useTranslation hook支持i18n
- [ ] SubTask 1.7: 使用useNavigate hook
- [ ] Task 2: 创建AQIDetailsMobile移动端页面组件
- [ ] SubTask 2.1: 参考ApiDetailMobile.tsx结构
- [ ] SubTask 2.2: 实现简化布局适配移动端
- [ ] Task 3: 创建AQIDetails.css绿色主题样式
- [ ] SubTask 3.1: 参考ApiDetail.css结构
- [ ] SubTask 3.2: 应用绿色主题配色
- [ ] Task 4: 在App.tsx中添加路由
- [ ] SubTask 4.1: 导入AQIDetails和AQIDetailsMobile组件
- [ ] SubTask 4.2: 添加Route path="/api/air-quality-details"
- [ ] Task 5: 在i18n文件中添加翻译键
- [ ] SubTask 5.1: 在zh.json中添加aqiDetails键
- [ ] SubTask 5.2: 在en.json中添加aqiDetails键
- [ ] SubTask 5.3: 在ja.json中添加aqiDetails键
- [ ] SubTask 5.4: 在ko.json中添加aqiDetails键
- [ ] SubTask 5.5: 在zh-TW.json中添加aqiDetails键
- [ ] SubTask 5.6: 在ru.json中添加aqiDetails键
- [ ] Task 6: 更新tasks.md标记完成
- [ ] SubTask 6.1: 标记Task 1-5为已勾选状态
# Task Dependencies
- Task 2 依赖于 Task 1 (共享组件结构理解)
- Task 4 依赖于 Task 1, Task 2 (需要组件导入)
- Task 5 独立,可并行执行