fix(mp): 患者端卡死深度审查修复 — CRITICAL 回归 + 并发保护 + 页栈溢出防护
CRITICAL: - 咨询详情页 loadData 引用已删除的 pollingRef → 移除残余引用 HIGH: - 401 重试递归改循环结构,避免并发限制器双 slot 占用 - 医生端 4 个列表页添加 loadingRef 防重入(consultation/alerts/dialysis/prescription) - 新增 safeNavigateTo 页栈溢出保护(栈≥9 自动 redirectTo) 前期修复一并提交: - 全局并发限制 MAX_CONCURRENT=8 - doRefresh 失败时完整清理 Storage + 重置缓存状态 - 401 跳转登录页修正 - 长轮询 generation counter 模式 - 首页/健康页 loadingRef + refreshToday 去重
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
| 咨询页长轮询 CPU 飙升 | [[miniprogram]] §5 审查 | longPoll delay=0 递归 | **已修复:** 成功路径加 3s 间隔 + 连续失败上限 50 次 |
|
||||
| 小程序 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 防重入 |
|
||||
| 小程序登录卡死(getPhoneNumber 无响应) | [[miniprogram]] login 页 | DevTools 中 `openType='getPhoneNumber'` 不弹窗 | **已修复:** dev 模式新增"开发模式快速登录"按钮绕过手机号授权 |
|
||||
| 轮播图图片 500 | [[erp-health]] banner_handler | 媒体文件不在磁盘上 | 测试数据问题,生产环境不影响 |
|
||||
| 设备同步内存无限增长 | [[miniprogram]] §5 审查 | BLE 模块单例 + readings 无上限 | **已修复:** useRef 懒初始化 + MAX_LIVE_READINGS=200 |
|
||||
|
||||
Reference in New Issue
Block a user