docs(wiki): 更新 setTimeout 修复记录 + 新增 2 条症状导航

This commit is contained in:
iven
2026-05-15 00:40:23 +08:00
parent fed1759985
commit 0f58af245d
2 changed files with 3 additions and 0 deletions

View File

@@ -68,6 +68,8 @@
| 小程序 DevTools 卡死(所有 API ERR_SSL_PROTOCOL_ERROR | [[miniprogram]] request.ts | `process.env.NODE_ENV === 'production'` 时 http→https 自动转换 | **已修复:** 移除 `getHeaders` 中自动 http→https 升级URL 以 `.env` 为唯一来源 |
| 小程序 Tab 切换卡死(并发请求阻塞 30s | [[miniprogram]] request.ts | `getHeaders()``await tryRefreshToken()` 预检查 | **已修复:** 移除 getHeaders 中的同步 Token 刷新预检查,仅依赖 401 重试路径 |
| 小程序患者端登录后卡死Tab 切换频繁卡死) | [[miniprogram]] §5 审查 | 并发请求超微信 10 限制排队 + 长轮询重叠 + 防重入缺失 | **已修复:** 全局并发限制 MAX_CONCURRENT=8 + generation counter 长轮询 + loadingRef 防重入 |
| 小程序咨询页闭会话崩溃pollingRef is not defined | [[miniprogram]] 审计第二轮 | generation counter 重构后 loadData 残留 pollingRef 引用 | **已修复:** 移除 loadData 中 `pollingRef.current = false` 残余行 |
| 小程序深层页面导航失败(页栈超 10 层) | [[miniprogram]] navigate.ts | `navigateTo` 超微信 10 层限制 | **已修复:** 新增 `safeNavigateTo`栈≥9 自动降级为 `redirectTo` |
| 小程序登录卡死getPhoneNumber 无响应) | [[miniprogram]] login 页 | DevTools 中 `openType='getPhoneNumber'` 不弹窗 | **已修复:** dev 模式新增"开发模式快速登录"按钮绕过手机号授权 |
| 轮播图图片 500 | [[erp-health]] banner_handler | 媒体文件不在磁盘上 | 测试数据问题,生产环境不影响 |
| 设备同步内存无限增长 | [[miniprogram]] §5 审查 | BLE 模块单例 + readings 无上限 | **已修复:** useRef 懒初始化 + MAX_LIVE_READINGS=200 |

View File

@@ -892,6 +892,7 @@ node scripts/audit-pages.mjs --role doctor --batch-size 8
|------|------|
| 2026-05-15 | **患者端登录后卡死深度审查3 专家组)**:根因 — 全局并发请求超微信 10 限制排队阻塞;端点可达性验证 33/33 全部存在Tab 切换请求链路分析(最坏 13 并发);修复 HIGH×3doRefresh 状态清理 + 401 跳转登录页 + 全局并发限制 MAX_CONCURRENT=8+ MEDIUM×3长轮询 generation counter + 首页/健康页 loadingRef 防重入 + refreshToday 去重) |
| 2026-05-15 | **全量审计修复(第二轮)**:修复 CRITICAL×1pollingRef 未定义回归,咨询详情页 loadData 引用已删除的 pollingRef → 闭会话时 ReferenceError 崩溃HIGH×3 — 401 重试递归占用双 slot 改为循环结构释放后重入、4 个医生端列表页consultation/alerts/dialysis/prescription添加 loadingRef 防重入、safeNavigateTo 页栈溢出保护栈≥9 自动 redirectTo新增 `safeNavigateTo` 工具函数(`utils/navigate.ts` |
| 2026-05-15 | **setTimeout 无清理修复**:新增 `useSafeTimeout` hook页面隐藏时自动 clearTimeout10 个页面接入 — daily-monitoring2、exchange4、family-add、health/input、prescription detail/create、dialysis detail/create、appointment detail/create所有 fire-and-forget 定时器替换为 safeSetTimeout |
| 2026-05-14 | **全页面性能与稳定性审查5 专家组)**:审查 58 页面 + 基础设施层;修复 CRITICAL×3长轮询紧密递归、BLE 模块单例、TrendChart 同步 API+ HIGH×6原生 HTML input、客户端过滤→服务端、Storage 渲染路径、messagesRef 同步、工作台刷新、告警单条查询);新增 §5 审查发现章节 + 架构建议 |
| 2026-05-13 | **T40 UI 设计系统合规审计+修复**60 页面全覆盖审计PASS 31 / PASS_WITH_ISSUES 27 / NEEDS_WORK 2修复 HIGH×2 + MEDIUM×6 + LOW×67新增 `$white` 变量 + `--tk-font-display` Token44 处 `#fff` 统一为 `$white`14 处圆角硬编码统一为变量3 处 TSX inline 颜色提取为 SCSS 类ErrorBoundary 重构为 SCSS2 处静默 catch 修复2 处离调色板颜色修正 |
| 2026-05-10 | **访客首页改造**:轮播图接入 `/public/banners` API + `wx.downloadFile` 下载图片到本地临时路径;文章列表接入 `/public/articles` API文章详情页根据登录状态选择认证/公开 API`getPublicArticleDetail``.env` 新增 `TARO_APP_DEFAULT_TENANT_ID`;集成契约新增 4 个公开端点 |