Files
wecom_it_smart_desk/docs/03-测试文档/05-缺陷单/BUG-用户-H5请求超时-002.md
T
Simon 44e77dcb0e chore(docs): docs/ 目录全面重新编号 + 重组
**重构前**(旧编号 02-11):
- docs/02-产品需求/      → 00 产品规划/PRD
- docs/03-技术架构/      → 01-05 子目录散落
- docs/04-原型设计/      → 01-02 产品设计(HTML 原型)
- docs/05-原型设计/      → screens/
- docs/06-测试素材/      → 02-E2E / 03-功能 / 04-版本测试
- docs/07-项目管理/      → 任务说明书/日报/计划
- docs/08-安全审计/      → 审计报告
- docs/09-堡垒运维/      → toolbox / deploy
- docs/10-项目管理/      → 任务说明书(重复)
- docs/11-历史归档/      → deploy-nas-archived

**重构后**(新编号 00-07,语义化):
- docs/00-产品开发流程与文档管理规范.md
- docs/00-版本迭代总览.md
- docs/01-产品文档/      (PRD/原型/认证/会话/AI 服务/坐席/集成)
- docs/02-技术文档/      (技术方案/架构图/重构记录/前端改造/实现配置)
- docs/03-测试文档/      (E2E/功能用例/版本报告/缺陷单)
- docs/04-运维文档/      (部署运维/运维指南)
- docs/05-运营文档/      (品牌推广/用户手册)
- docs/06-安全审计/      (审计报告)
- docs/07-项目管理/      (任务说明书/日报/计划/看板)

**净收益**:
- 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号)
- 消除 02-产品需求 与 10-项目管理 的编号重叠
- 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录)
- 把运维/安全/项目管理从 0X 散落改为 04/06/07

合计 494 文件 + 78495 行 / - 14076 行
2026-08-03 18:46:55 +08:00

115 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 缺陷单:H5用户端请求超时问题
> **缺陷编号**: BUG-用户-002
> **版本**: v1.0
> **状态**: [已修复]
> **优先级**: P1-High
> **发现日期**: 2026-07-26
> **发现人**: Duckula (AI)
> **指派人**: Duckula (AI)
> **修复人**: Duckula (AI)
> **关闭日期**: 2026-07-26
> **处理方式**: 前后端超时参数调优 + 联软降级双重保险
---
## 1. 基本信息
| 字段 | 内容 |
|------|------|
| 缺陷标题 | 用户端不输入任何问题,约15-20秒后自动出现"请求超时,请稍后重试"提示 |
| 影响范围 | H5 员工端 |
| 所属产品 | IT智能服务台 |
| 触发条件 | H5用户端页面初始化时,静置15-20秒后自动出现超时提示 |
| 预期行为 | 页面正常加载,不应出现无故超时提示 |
| 实际行为 | 大约15-20秒后自动弹出"请求超时,请稍后重试" |
---
## 2. 复现步骤
1. 打开 H5 员工端页面
2. 不进行任何操作,静置观察
3. 约 15-20 秒后,页面弹出"请求超时,请稍后重试"提示
---
## 3. 根因分析
### 直接原因
1. 页面初始化时会调用 `/h5/it-health` API 获取 IT 健康信息
2. 该 API 需要调用联软 API 查询设备信息
3. 联软服务器响应慢时可达 30 秒
4. 前端超时设置为 30 秒,不足以覆盖最坏情况
### 代码层面
| 文件 | 问题 |
|------|------|
| `src/frontend-h5/src/api/index.ts` | 超时设置为 30 秒 |
| `src/backend/app/integrations/lianruan/client.py` | 联软 API 超时设置为 30 秒 |
---
## 4. 修复方案
### 前端调整
- 文件:`src/frontend-h5/src/api/index.ts`
- 修改:`timeout: 30000``timeout: 60000`
- 理由:给后端足够的处理时间
### 后端调整
- 文件:`src/backend/app/integrations/lianruan/client.py`
- 修改:`timeout: float = 30.0``timeout: float = 10.0`
- 理由:让后端更快降级到 Mock 数据,避免前端长时间等待
### 双重保险机制
1. 后端 10 秒超时后降级到 Mock 数据(data_source: "mock"
2. 前端 60 秒超时覆盖最坏情况
---
## 5. 验证结果
| 验证项 | 结果 | 验证人 | 验证日期 |
|--------|------|--------|----------|
| H5前端构建 | ✅ 通过 | Duckula | 2026-07-26 |
| 后端重启 | ✅ 通过 | Duckula | 2026-07-26 |
| 用户端测试 | ✅ 通过 | Duckula | 2026-07-26 |
**验证说明**:新 dist 已部署,联软超时 10 秒已生效,超时提示消失。
---
## 6. 关联信息
- **关联需求**: -
- **关联代码文件**:
- `src/frontend-h5/src/api/index.ts` (前端超时配置)
- `src/backend/app/integrations/lianruan/client.py` (联软 API 客户端)
- **关联测试用例**: N/A(配置变更,手动验收)
---
## 7. 经验教训
1. 第三方 API 调用应设置合理的超时时间,既不能太长(影响用户体验),也不能太短(频繁失败)
2. 关键接口应有降级策略(如联软不可用时返回 Mock 数据)
3. 前端超时时间应大于后端所有可能的最大耗时之和
---
## 8. 变更记录
| 日期 | 版本 | 变更内容 | 变更人 | 变更原因 | 影响范围 |
|------|------|----------|--------|----------|----------|
| 2026-07-26 | v1.0 | 创建缺陷单 | Duckula | 首次记录H5超时问题 | H5 员工端 |
| 2026-07-26 | v1.0 | 修复完成:前端 timeout 30s→60s,后端联软 timeout 30s→10s | Duckula | 联软响应慢导致前端超时 | api/index.ts / lianruan client.py |
| 2026-07-28 | v1.0 | 文档规范化整改:命名改为 `BUG-用户-H5请求超时-002.md`、补全头部模板(发现人/指派人/处理方式)、标准化章节编号(1-8)、变更记录增加"版本/变更原因/影响范围"列 | Duckula | 产品文档规范标准化 | 无(仅文档格式) |
---