From d576b8ba8fa7dbf5cb3bda59838e26c00e06b24c Mon Sep 17 00:00:00 2001 From: iven Date: Thu, 21 May 2026 13:44:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(mp):=20=E7=A9=BA=20catch=20=E5=9D=97?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20console.warn=20=E6=97=A5=E5=BF=97=EF=BC=88?= =?UTF-8?q?82=20=E5=A4=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 55 个文件中 82 处空 catch 块添加模块前缀日志输出: - stores: auth/health/points (7 处) - services: request/ai-chat/health/ble/* (10 处) - hooks: useLongPolling/usePagination (3 处) - pages: 核心+子包共 35 个页面 (62 处) 保留静默的 catch: secure-storage fallback、Storage 恢复、 analytics 防洪、BLE 断连清理、用户拒绝订阅等合理忽略场景 --- apps/miniprogram/src/hooks/useLongPolling.ts | 3 ++- apps/miniprogram/src/hooks/usePagination.ts | 8 ++++---- .../src/pages/ai-report/detail/index.tsx | 3 ++- apps/miniprogram/src/pages/ai-report/list/index.tsx | 3 ++- .../src/pages/appointment/create/index.tsx | 7 ++++--- .../src/pages/appointment/detail/index.tsx | 3 ++- apps/miniprogram/src/pages/appointment/index.tsx | 3 ++- apps/miniprogram/src/pages/article/detail/index.tsx | 3 ++- apps/miniprogram/src/pages/article/index.tsx | 6 ++++-- .../src/pages/consultation/create/index.tsx | 6 ++++-- apps/miniprogram/src/pages/consultation/index.tsx | 6 ++++-- apps/miniprogram/src/pages/health/index.tsx | 9 +++++---- apps/miniprogram/src/pages/health/useHealthData.ts | 6 ++++-- apps/miniprogram/src/pages/index/index.tsx | 3 ++- apps/miniprogram/src/pages/index/useHomeData.ts | 5 +++-- apps/miniprogram/src/pages/login/index.tsx | 3 ++- apps/miniprogram/src/pages/mall/index.tsx | 3 ++- apps/miniprogram/src/pages/messages/index.tsx | 3 ++- .../src/pages/pkg-consultation/detail/index.tsx | 6 ++++-- .../pkg-doctor-clinical/alerts/detail/index.tsx | 12 ++++++++---- .../src/pages/pkg-doctor-clinical/alerts/index.tsx | 3 ++- .../pkg-doctor-clinical/dialysis/create/index.tsx | 6 ++++-- .../pkg-doctor-clinical/dialysis/detail/index.tsx | 12 ++++++++---- .../pages/pkg-doctor-clinical/dialysis/index.tsx | 6 ++++-- .../prescription/create/index.tsx | 3 ++- .../prescription/detail/index.tsx | 9 ++++++--- .../pkg-doctor-clinical/prescription/index.tsx | 6 ++++-- .../pkg-doctor-clinical/report/detail/index.tsx | 6 ++++-- .../src/pages/pkg-doctor-clinical/report/index.tsx | 6 ++++-- .../pages/pkg-doctor-core/action-inbox/index.tsx | 9 ++++++--- .../pkg-doctor-core/consultation/detail/index.tsx | 9 ++++++--- .../pages/pkg-doctor-core/consultation/index.tsx | 3 ++- .../pages/pkg-doctor-core/followup/detail/index.tsx | 9 ++++++--- .../src/pages/pkg-doctor-core/followup/index.tsx | 3 ++- .../miniprogram/src/pages/pkg-doctor-core/index.tsx | 4 ++-- .../pages/pkg-doctor-core/patients/detail/index.tsx | 3 ++- .../src/pages/pkg-doctor-core/patients/index.tsx | 3 ++- .../src/pages/pkg-health/alerts/index.tsx | 3 ++- .../src/pages/pkg-health/trend/index.tsx | 3 ++- .../miniprogram/src/pages/pkg-mall/detail/index.tsx | 3 ++- .../src/pages/pkg-mall/exchange/index.tsx | 6 ++++-- .../miniprogram/src/pages/pkg-mall/orders/index.tsx | 3 ++- .../src/pages/pkg-mall/product/index.tsx | 7 ++++--- .../src/pages/pkg-profile/consents/index.tsx | 6 ++++-- .../src/pages/pkg-profile/diagnoses/index.tsx | 3 ++- .../dialysis-prescriptions/detail/index.tsx | 3 ++- .../pkg-profile/dialysis-prescriptions/index.tsx | 3 ++- .../pkg-profile/dialysis-records/detail/index.tsx | 3 ++- .../pages/pkg-profile/dialysis-records/index.tsx | 3 ++- .../src/pages/pkg-profile/events/index.tsx | 3 ++- .../src/pages/pkg-profile/family-add/index.tsx | 3 ++- .../src/pages/pkg-profile/family/index.tsx | 3 ++- .../pages/pkg-profile/followups/detail/index.tsx | 3 ++- .../src/pages/pkg-profile/followups/index.tsx | 3 ++- .../src/pages/pkg-profile/health-records/index.tsx | 3 ++- .../src/pages/pkg-profile/medication/index.tsx | 12 ++++++++---- .../src/pages/pkg-profile/notifications/index.tsx | 3 ++- .../src/pages/pkg-profile/reports/detail/index.tsx | 3 ++- .../src/pages/pkg-profile/reports/index.tsx | 3 ++- apps/miniprogram/src/services/ai-chat.ts | 5 +++-- apps/miniprogram/src/services/ble/BLEManager.ts | 8 ++++---- apps/miniprogram/src/services/ble/DataBuffer.ts | 13 ++++++++----- .../src/services/ble/DataSyncScheduler.ts | 6 ++++-- apps/miniprogram/src/services/health.ts | 3 ++- apps/miniprogram/src/services/request.ts | 4 ++-- apps/miniprogram/src/stores/auth.ts | 10 ++++++---- apps/miniprogram/src/stores/health.ts | 6 ++++-- apps/miniprogram/src/stores/points.ts | 6 ++++-- 68 files changed, 223 insertions(+), 124 deletions(-) diff --git a/apps/miniprogram/src/hooks/useLongPolling.ts b/apps/miniprogram/src/hooks/useLongPolling.ts index ea998f7..289b929 100644 --- a/apps/miniprogram/src/hooks/useLongPolling.ts +++ b/apps/miniprogram/src/hooks/useLongPolling.ts @@ -55,7 +55,8 @@ export function useLongPolling({ onDataRef.current(data); } failCount = 0; - } catch { + } catch (err) { + console.warn('[long-polling] 轮询失败:', err); failCount++; } if (gen !== generation.current || !mountedRef.current) return; diff --git a/apps/miniprogram/src/hooks/usePagination.ts b/apps/miniprogram/src/hooks/usePagination.ts index 008221d..5ad44ba 100644 --- a/apps/miniprogram/src/hooks/usePagination.ts +++ b/apps/miniprogram/src/hooks/usePagination.ts @@ -32,8 +32,8 @@ export function usePagination( setTotal(res.total); setHasMore(items.length >= pageSize); pageRef.current += 1; - } catch { - // 错误由调用方处理 + } catch (err) { + console.warn('[pagination] 加载分页数据失败:', err); } finally { loadingRef.current = false; setLoading(false); @@ -53,8 +53,8 @@ export function usePagination( setTotal(res.total); setHasMore(items.length >= pageSize); pageRef.current = 2; - } catch { - // 错误由调用方处理 + } catch (err) { + console.warn('[pagination] 加载分页数据失败:', err); } finally { loadingRef.current = false; setLoading(false); diff --git a/apps/miniprogram/src/pages/ai-report/detail/index.tsx b/apps/miniprogram/src/pages/ai-report/detail/index.tsx index 5b2fb4f..10ae9f6 100644 --- a/apps/miniprogram/src/pages/ai-report/detail/index.tsx +++ b/apps/miniprogram/src/pages/ai-report/detail/index.tsx @@ -44,7 +44,8 @@ export default function AiReportDetail() { try { const data = await getAiAnalysisDetail(id); setAnalysis(data); - } catch { + } catch (err) { + console.warn('[ai-report] 加载分析详情失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/ai-report/list/index.tsx b/apps/miniprogram/src/pages/ai-report/list/index.tsx index dc22685..50a794d 100644 --- a/apps/miniprogram/src/pages/ai-report/list/index.tsx +++ b/apps/miniprogram/src/pages/ai-report/list/index.tsx @@ -40,7 +40,8 @@ export default function AiReportList() { setPage(p); setHasMore(items.length >= 20); - } catch { + } catch (err) { + console.warn('[ai-report] 加载分析列表失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/appointment/create/index.tsx b/apps/miniprogram/src/pages/appointment/create/index.tsx index 790c481..b5c1824 100644 --- a/apps/miniprogram/src/pages/appointment/create/index.tsx +++ b/apps/miniprogram/src/pages/appointment/create/index.tsx @@ -64,7 +64,8 @@ export default function AppointmentCreate() { try { const res = await listDoctors(dept); setDoctors(res.data || []); - } catch { + } catch (err) { + console.warn('[appointment] 加载医生列表失败:', err); Taro.showToast({ title: '加载医生失败', icon: 'none' }); } }, []); @@ -79,8 +80,8 @@ export default function AppointmentCreate() { const fmt = (d: Date) => `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`; const res = await calendarView(fmt(today), fmt(endDate), doctor.id); setSchedules(res || []); - } catch { - // 日历加载失败不阻塞 + } catch (err) { + console.warn('[appointment] 加载日历排班失败:', err); } finally { setLoading(false); } diff --git a/apps/miniprogram/src/pages/appointment/detail/index.tsx b/apps/miniprogram/src/pages/appointment/detail/index.tsx index 769ff05..f6c554f 100644 --- a/apps/miniprogram/src/pages/appointment/detail/index.tsx +++ b/apps/miniprogram/src/pages/appointment/detail/index.tsx @@ -61,7 +61,8 @@ export default function AppointmentDetail() { await cancelAppointment(appointment.id, appointment.version); Taro.showToast({ title: '已取消预约', icon: 'success' }); safeSetTimeout(() => Taro.navigateBack(), 1500); - } catch { + } catch (err) { + console.warn('[appointment] 取消预约失败:', err); Taro.showToast({ title: '取消失败', icon: 'none' }); } finally { setCancelling(false); diff --git a/apps/miniprogram/src/pages/appointment/index.tsx b/apps/miniprogram/src/pages/appointment/index.tsx index b50acb3..1adb867 100644 --- a/apps/miniprogram/src/pages/appointment/index.tsx +++ b/apps/miniprogram/src/pages/appointment/index.tsx @@ -47,7 +47,8 @@ export default function AppointmentList() { } setTotal(res.total); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[appointment] 加载预约列表失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/article/detail/index.tsx b/apps/miniprogram/src/pages/article/detail/index.tsx index 8d43858..1db086a 100644 --- a/apps/miniprogram/src/pages/article/detail/index.tsx +++ b/apps/miniprogram/src/pages/article/detail/index.tsx @@ -34,7 +34,8 @@ export default function ArticleDetail() { const fetcher = user ? getArticleDetail(id) : getPublicArticleDetail(id); const data = await fetcher; setArticle(data); - } catch { + } catch (err) { + console.warn('[article] 加载文章详情失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/article/index.tsx b/apps/miniprogram/src/pages/article/index.tsx index 97892b4..7039ab9 100644 --- a/apps/miniprogram/src/pages/article/index.tsx +++ b/apps/miniprogram/src/pages/article/index.tsx @@ -54,7 +54,8 @@ export default function ArticleList() { setArticles(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[article] 加载文章列表失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { @@ -67,7 +68,8 @@ export default function ArticleList() { try { const cats = await listCategories(); setCategories(cats || []); - } catch { + } catch (err) { + console.warn('[article] 加载分类失败:', err); setCategories([]); } await fetchData(1); diff --git a/apps/miniprogram/src/pages/consultation/create/index.tsx b/apps/miniprogram/src/pages/consultation/create/index.tsx index 420889d..8957373 100644 --- a/apps/miniprogram/src/pages/consultation/create/index.tsx +++ b/apps/miniprogram/src/pages/consultation/create/index.tsx @@ -36,7 +36,8 @@ export default function ConsultationCreate() { const items = (res.data || []).map((d: any) => ({ id: d.id, name: d.name })); setDoctorList(items); setDoctorsLoaded(true); - } catch { + } catch (err) { + console.warn('[consultation] 加载医生列表失败:', err); Taro.showToast({ title: '加载医生列表失败', icon: 'none' }); } }; @@ -58,7 +59,8 @@ export default function ConsultationCreate() { setTimeout(() => { Taro.redirectTo({ url: `/pages/pkg-consultation/detail/index?id=${session.id}` }); }, 500); - } catch { + } catch (err) { + console.warn('[consultation] 创建会话失败:', err); Taro.showToast({ title: '创建失败,请重试', icon: 'none' }); } finally { setSubmitting(false); diff --git a/apps/miniprogram/src/pages/consultation/index.tsx b/apps/miniprogram/src/pages/consultation/index.tsx index a328501..832c884 100644 --- a/apps/miniprogram/src/pages/consultation/index.tsx +++ b/apps/miniprogram/src/pages/consultation/index.tsx @@ -29,7 +29,8 @@ function getQueryParams(): Record { } } return result; - } catch { + } catch (err) { + console.warn('[consultation] 解析查询参数失败:', err); return {}; } } @@ -93,7 +94,8 @@ export default function Consultation() { } setTotal(resp.total || 0); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[consultation] 加载会话列表失败:', err); if (isRefresh) { setSessions([]); setTotal(0); diff --git a/apps/miniprogram/src/pages/health/index.tsx b/apps/miniprogram/src/pages/health/index.tsx index ad918a1..8fb17c9 100644 --- a/apps/miniprogram/src/pages/health/index.tsx +++ b/apps/miniprogram/src/pages/health/index.tsx @@ -148,7 +148,8 @@ export default function Health() { Taro.showToast({ title: '保存成功', icon: 'success' }); refreshToday(true); loadTrend(activeTab); - } catch { + } catch (err) { + console.warn('[health] 保存体征数据失败:', err); Taro.showToast({ title: '保存失败', icon: 'none' }); } finally { setSaving(false); @@ -200,7 +201,7 @@ export default function Health() { await submitSuggestionFeedback(s.id, 'adopt'); Taro.showToast({ title: '已采纳', icon: 'success' }); fetchData(); - } catch { Taro.showToast({ title: '操作失败', icon: 'none' }); } + } catch (err) { console.warn('[health] AI建议反馈失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }}> 采纳 @@ -209,7 +210,7 @@ export default function Health() { await submitSuggestionFeedback(s.id, 'ignore'); Taro.showToast({ title: '已忽略', icon: 'success' }); fetchData(); - } catch { Taro.showToast({ title: '操作失败', icon: 'none' }); } + } catch (err) { console.warn('[health] AI建议反馈失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }}> 忽略 @@ -217,7 +218,7 @@ export default function Health() { try { await submitSuggestionFeedback(s.id, 'consult'); safeNavigateTo('/pages/consultation/index'); - } catch { Taro.showToast({ title: '操作失败', icon: 'none' }); } + } catch (err) { console.warn('[health] AI建议反馈失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }}> 咨询医生 diff --git a/apps/miniprogram/src/pages/health/useHealthData.ts b/apps/miniprogram/src/pages/health/useHealthData.ts index 7d76a04..7170210 100644 --- a/apps/miniprogram/src/pages/health/useHealthData.ts +++ b/apps/miniprogram/src/pages/health/useHealthData.ts @@ -44,7 +44,8 @@ export function useHealthData() { }; const points = await fetchTrend(indicatorMap[type], '7d'); setTrendData(points); - } catch { + } catch (err) { + console.warn('[health] 加载趋势数据失败:', err); setTrendData([]); } finally { setTrendLoading(false); @@ -55,7 +56,8 @@ export function useHealthData() { try { const items = await listPendingSuggestions(); setAiSuggestions(items.slice(0, 3)); - } catch { + } catch (err) { + console.warn('[health] 加载 AI 建议失败:', err); setAiSuggestions([]); } }; diff --git a/apps/miniprogram/src/pages/index/index.tsx b/apps/miniprogram/src/pages/index/index.tsx index 540e6a7..1cbe4f3 100644 --- a/apps/miniprogram/src/pages/index/index.tsx +++ b/apps/miniprogram/src/pages/index/index.tsx @@ -75,7 +75,8 @@ function GuestHome({ modeClass }: { modeClass: string }) { if (articleData.status === 'fulfilled' && articleData.value?.data?.length > 0) { setArticles(articleData.value.data); } - } catch { + } catch (err) { + console.warn('[home] 加载首页数据失败:', err); setBanners(FALLBACK_SLIDES); Taro.showToast({ title: '内容加载失败', icon: 'none' }); } diff --git a/apps/miniprogram/src/pages/index/useHomeData.ts b/apps/miniprogram/src/pages/index/useHomeData.ts index e9c2db8..9d76758 100644 --- a/apps/miniprogram/src/pages/index/useHomeData.ts +++ b/apps/miniprogram/src/pages/index/useHomeData.ts @@ -69,7 +69,7 @@ export function useHomeData() { const res = await notificationService.getUnreadCount() as { data?: { count?: number } | number }; const d = res.data; setUnreadCount(typeof d === 'object' && d ? (d.count ?? 0) : 0); - } catch { /* ignore */ } + } catch (err) { console.warn('[home] 获取未读消息数失败:', err); } }; const loadReminders = async (patientId: string) => { @@ -110,7 +110,8 @@ export function useHomeData() { } } setReminders(items.slice(0, 3)); - } catch { + } catch (err) { + console.warn('[home] 加载提醒列表失败:', err); setReminders([]); } finally { setRemindersLoading(false); diff --git a/apps/miniprogram/src/pages/login/index.tsx b/apps/miniprogram/src/pages/login/index.tsx index f88951d..322c583 100644 --- a/apps/miniprogram/src/pages/login/index.tsx +++ b/apps/miniprogram/src/pages/login/index.tsx @@ -64,7 +64,8 @@ export default function Login() { } else { Taro.showToast({ title: '账号或密码错误', icon: 'none' }); } - } catch { + } catch (err) { + console.warn('[login] 登录失败:', err); Taro.showToast({ title: '登录失败,请重试', icon: 'none' }); } }; diff --git a/apps/miniprogram/src/pages/mall/index.tsx b/apps/miniprogram/src/pages/mall/index.tsx index fc0fb45..48864cb 100644 --- a/apps/miniprogram/src/pages/mall/index.tsx +++ b/apps/miniprogram/src/pages/mall/index.tsx @@ -62,7 +62,8 @@ export default function Mall() { } setTotal(res.total); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[mall] 加载商品列表失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/messages/index.tsx b/apps/miniprogram/src/pages/messages/index.tsx index 2fc8ad9..9488627 100644 --- a/apps/miniprogram/src/pages/messages/index.tsx +++ b/apps/miniprogram/src/pages/messages/index.tsx @@ -82,7 +82,8 @@ export default function Messages() { setMessages(updated); scrollToBottom(updated); saveLocalHistory(updated); - } catch { + } catch (err) { + console.warn('[ai-chat] 发送消息失败:', err); const errMsg: AiChatMessage = { id: genId(), role: 'assistant', diff --git a/apps/miniprogram/src/pages/pkg-consultation/detail/index.tsx b/apps/miniprogram/src/pages/pkg-consultation/detail/index.tsx index eb181c1..fd94810 100644 --- a/apps/miniprogram/src/pages/pkg-consultation/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-consultation/detail/index.tsx @@ -71,7 +71,8 @@ export default function ConsultationDetail() { messagesRef.current = msgs; scrollViewRef.current = `msg-${msgs.length}`; setDataLoaded(true); - } catch { + } catch (err) { + console.warn('[consultation] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -97,7 +98,8 @@ export default function ConsultationDetail() { scrollViewRef.current = `msg-${next.length}`; return next; }); - } catch { + } catch (err) { + console.warn('[consultation] 发送失败:', err); Taro.showToast({ title: '发送失败', icon: 'none' }); setInputText(text); } finally { diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/detail/index.tsx index 7e03921..86ecdf7 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/detail/index.tsx @@ -39,7 +39,8 @@ export default function AlertDetail() { try { const data = await getAlert(alertId); setAlert(data); - } catch { + } catch (err) { + console.warn('[doctor-alert] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -55,7 +56,8 @@ export default function AlertDetail() { const updated = await acknowledgeAlert(alert.id, alert.version); setAlert(updated); Taro.showToast({ title: '已确认', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-alert] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } finally { setActionLoading(false); @@ -69,7 +71,8 @@ export default function AlertDetail() { const updated = await dismissAlert(alert.id, alert.version); setAlert(updated); Taro.showToast({ title: '已忽略', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-alert] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } finally { setActionLoading(false); @@ -83,7 +86,8 @@ export default function AlertDetail() { const updated = await resolveAlert(alert.id, alert.version); setAlert(updated); Taro.showToast({ title: '已恢复', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-alert] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } finally { setActionLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/index.tsx index 594740c..5c010a4 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/alerts/index.tsx @@ -71,7 +71,8 @@ export default function AlertList() { }); setAlerts(res.data || []); setTotal(res.total || 0); - } catch { + } catch (err) { + console.warn('[doctor-alert] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx index 1f856e7..aa46372 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx @@ -113,7 +113,8 @@ export default function DialysisCreate() { ultrafiltration_volume: r.ultrafiltration_volume != null ? String(r.ultrafiltration_volume) : '', complication_notes: r.complication_notes || '', }); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -167,7 +168,8 @@ export default function DialysisCreate() { Taro.showToast({ title: '创建成功', icon: 'success' }); } safeSetTimeout(() => Taro.navigateBack(), 1000); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 操作失败:', err); Taro.showToast({ title: isEdit ? '更新失败' : '创建失败', icon: 'none' }); } finally { setSubmitting(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/detail/index.tsx index cbf22fb..5593a2b 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/detail/index.tsx @@ -30,7 +30,8 @@ export default function DialysisDetail() { try { const r = await getDialysisRecord(id); setRecord(r); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -46,7 +47,8 @@ export default function DialysisDetail() { const updated = await reviewDialysisRecord(id, record.version); setRecord(updated); Taro.showToast({ title: '审核完成', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 审核失败:', err); Taro.showToast({ title: '审核失败', icon: 'none' }); } finally { setSubmitting(false); @@ -60,7 +62,8 @@ export default function DialysisDetail() { const updated = await updateDialysisRecord(id, { status: 'completed' }, record.version); setRecord(updated); Taro.showToast({ title: '已标记完成', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } finally { setSubmitting(false); @@ -79,7 +82,8 @@ export default function DialysisDetail() { await deleteDialysisRecord(id, record.version); Taro.showToast({ title: '已删除', icon: 'success' }); safeSetTimeout(() => Taro.navigateBack(), 1000); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 删除失败:', err); Taro.showToast({ title: '删除失败', icon: 'none' }); setSubmitting(false); } diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/index.tsx index 97a2b0a..f03e07a 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/index.tsx @@ -57,7 +57,8 @@ export default function DialysisList() { setRecords(res.data || []); setTotal(res.total || 0); setPage(p); - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { @@ -89,7 +90,8 @@ export default function DialysisList() { } else { Taro.showToast({ title: '未找到患者', icon: 'none' }); } - } catch { + } catch (err) { + console.warn('[doctor-dialysis] 搜索失败:', err); Taro.showToast({ title: '搜索失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx index 63cbc71..4f70295 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx @@ -97,7 +97,8 @@ export default function PrescriptionCreate() { await createDialysisPrescription(payload); Taro.showToast({ title: '创建成功', icon: 'success' }); safeSetTimeout(() => Taro.navigateBack(), 1000); - } catch { + } catch (err) { + console.warn('[doctor-prescription] 创建处方失败:', err); Taro.showToast({ title: '创建失败', icon: 'none' }); } finally { setSubmitting(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/detail/index.tsx index 25c0491..1f29f8b 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/detail/index.tsx @@ -28,7 +28,8 @@ export default function PrescriptionDetail() { try { const data = await getDialysisPrescription(id); setRx(data); - } catch { + } catch (err) { + console.warn('[doctor-prescription] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -49,7 +50,8 @@ export default function PrescriptionDetail() { const updated = await updateDialysisPrescription(id, { status: 'inactive' }, rx.version); setRx(updated); Taro.showToast({ title: '已停用', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-prescription] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } finally { setSubmitting(false); @@ -68,7 +70,8 @@ export default function PrescriptionDetail() { await deleteDialysisPrescription(id, rx.version); Taro.showToast({ title: '已删除', icon: 'success' }); safeSetTimeout(() => Taro.navigateBack(), 1000); - } catch { + } catch (err) { + console.warn('[doctor-prescription] 删除失败:', err); Taro.showToast({ title: '删除失败', icon: 'none' }); setSubmitting(false); } diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/index.tsx index 6e83942..bb9f5f8 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/index.tsx @@ -55,7 +55,8 @@ export default function PrescriptionList() { setPrescriptions(res.data || []); setTotal(res.total || 0); setPage(p); - } catch { + } catch (err) { + console.warn('[doctor-prescription] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { @@ -85,7 +86,8 @@ export default function PrescriptionList() { } else { Taro.showToast({ title: '未找到患者', icon: 'none' }); } - } catch { + } catch (err) { + console.warn('[doctor-prescription] 搜索失败:', err); Taro.showToast({ title: '搜索失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/report/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/report/detail/index.tsx index a6fa309..e05a5f0 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/report/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/report/detail/index.tsx @@ -26,7 +26,8 @@ export default function ReportDetail() { const r = await getLabReport(patientId, reportId); setReport(r); setDoctorNotes(r.doctor_notes || ''); - } catch { + } catch (err) { + console.warn('[doctor-report] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -45,7 +46,8 @@ export default function ReportDetail() { }); setReport(updated); Taro.showToast({ title: '审核完成', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[doctor-report] 审核失败:', err); Taro.showToast({ title: '审核失败', icon: 'none' }); } finally { setSubmitting(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/report/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/report/index.tsx index a395937..1f678ca 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/report/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/report/index.tsx @@ -35,7 +35,8 @@ export default function ReportList() { const res = await listLabReports(currentPatientId, { page: 1, page_size: 50 }); setReports(res.data || []); setTotal(res.total || 0); - } catch { + } catch (err) { + console.warn('[doctor-report] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { @@ -64,7 +65,8 @@ export default function ReportList() { } else { Taro.showToast({ title: '未找到患者', icon: 'none' }); } - } catch { + } catch (err) { + console.warn('[doctor-report] 搜索失败:', err); Taro.showToast({ title: '搜索失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/action-inbox/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/action-inbox/index.tsx index c9c6ed4..ae7c697 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/action-inbox/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/action-inbox/index.tsx @@ -75,7 +75,8 @@ export default function ActionInboxPage() { } else { setItems((prev) => [...prev, ...list]); } - } catch { + } catch (err) { + console.warn('[action-inbox] 加载待办列表失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { @@ -103,7 +104,8 @@ export default function ActionInboxPage() { const data = await getActionThread(item.source_ref); setThreadData(data); setShowDetail(true); - } catch { + } catch (err) { + console.warn('[action-inbox] 加载待办详情失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } }; @@ -119,7 +121,8 @@ export default function ActionInboxPage() { Taro.showToast({ title: '操作成功', icon: 'success' }); setShowDetail(false); fetchItems(1, FILTER_MAP[activeFilter], true); - } catch { + } catch (err) { + console.warn('[action-inbox] 执行操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }; diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/consultation/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/consultation/detail/index.tsx index 1f35790..04d8ffb 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/consultation/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/consultation/detail/index.tsx @@ -67,7 +67,8 @@ export default function ConsultationDetail() { messagesRef.current = msgs; scrollViewRef.current = `msg-${msgs.length}`; dataLoadedRef.current = true; - } catch { + } catch (err) { + console.warn('[doctor-consult] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -93,7 +94,8 @@ export default function ConsultationDetail() { scrollViewRef.current = `msg-${next.length}`; return next; }); - } catch { + } catch (err) { + console.warn('[doctor-consult] 发送失败:', err); Taro.showToast({ title: '发送失败', icon: 'none' }); setInputText(text); } finally { @@ -111,7 +113,8 @@ export default function ConsultationDetail() { await closeSession(sessionId, session?.version ?? 0); Taro.showToast({ title: '已关闭', icon: 'success' }); loadData(); - } catch { + } catch (err) { + console.warn('[doctor-consult] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } } diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/consultation/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/consultation/index.tsx index baaff75..d9e3cb3 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/consultation/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/consultation/index.tsx @@ -42,7 +42,8 @@ export default function ConsultationList() { status: activeTab || undefined, }); setSessions(res.data || []); - } catch { + } catch (err) { + console.warn('[doctor-consult] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/followup/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/followup/detail/index.tsx index 65a857e..35af690 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/followup/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/followup/detail/index.tsx @@ -46,7 +46,8 @@ export default function FollowUpDetail() { ]); setTask(t); setRecords(r.data || []); - } catch { + } catch (err) { + console.warn('[doctor-followup] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -74,7 +75,8 @@ export default function FollowUpDetail() { setMedicalAdvice(''); setNextDate(''); loadData(); - } catch { + } catch (err) { + console.warn('[doctor-followup] 提交失败:', err); Taro.showToast({ title: '提交失败', icon: 'none' }); } finally { setSubmitting(false); @@ -87,7 +89,8 @@ export default function FollowUpDetail() { await updateFollowUpTask(taskId, { status: 'in_progress' }, task.version); Taro.showToast({ title: '已开始', icon: 'success' }); loadData(); - } catch { + } catch (err) { + console.warn('[doctor-followup] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }; diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/followup/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/followup/index.tsx index bf63322..bf195ef 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/followup/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/followup/index.tsx @@ -48,7 +48,8 @@ export default function FollowUpList() { }); setTasks(res.data || []); setTotal(res.total || 0); - } catch { + } catch (err) { + console.warn('[doctor-followup] 加载随访列表失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/index.tsx index deb58d5..a99fcb4 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/index.tsx @@ -57,8 +57,8 @@ export default function DoctorHome() { try { const data = await getDashboard(); setDashboard(data); - } catch { - // 静默失败 + } catch (err) { + console.warn('[doctor] 加载工作台数据失败:', err); } finally { setLoading(false); } diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/patients/detail/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/patients/detail/index.tsx index 67b639b..d26bfb4 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/patients/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/patients/detail/index.tsx @@ -28,7 +28,8 @@ export default function PatientDetail() { ]); setPatient(p); setSummary(s); - } catch { + } catch (err) { + console.warn('[doctor-patient] 加载患者详情失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-doctor-core/patients/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-core/patients/index.tsx index 724ad7e..a64e8d4 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-core/patients/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-core/patients/index.tsx @@ -38,7 +38,8 @@ export default function PatientList() { setPatients(prev => isRefresh ? list : [...prev, ...list]); setTotal(res.total || 0); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[doctor-patients] 加载患者列表失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx b/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx index 9d47625..858307a 100644 --- a/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx +++ b/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx @@ -57,7 +57,8 @@ export default function PatientAlerts() { } setTotal(res.total); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[alert] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-health/trend/index.tsx b/apps/miniprogram/src/pages/pkg-health/trend/index.tsx index 116f35b..759ca2e 100644 --- a/apps/miniprogram/src/pages/pkg-health/trend/index.tsx +++ b/apps/miniprogram/src/pages/pkg-health/trend/index.tsx @@ -45,7 +45,8 @@ export default function Trend() { try { const data = await getTrend(indicator, range); setPoints(data); - } catch { + } catch (err) { + console.warn('[trend] 加载数据失败:', err); setError(true); setPoints([]); } finally { diff --git a/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx b/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx index f241ce5..56dc816 100644 --- a/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx @@ -46,7 +46,8 @@ export default function PointsDetail() { } setTotal(res.total); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[mall] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx b/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx index 5bbf675..b9e9647 100644 --- a/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx @@ -53,7 +53,8 @@ export default function ExchangeConfirm() { let found: PointsProduct | null = null; try { found = await getProduct(productId); - } catch { + } catch (err) { + console.warn('[exchange] 单商品接口失败,降级列表查找:', err); const productRes = await listProducts({ page: 1, page_size: 100 }); found = productRes.data.find((p) => p.id === productId) || null; } @@ -64,7 +65,8 @@ export default function ExchangeConfirm() { } setProduct(found); await refreshPoints(); - } catch { + } catch (err) { + console.warn('[exchange] 加载兑换页面失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); safeSetTimeout(() => Taro.navigateBack(), 1500); } finally { diff --git a/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx b/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx index 199143c..a1f2851 100644 --- a/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx @@ -57,7 +57,8 @@ export default function MallOrders() { } setTotal(res.total); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[orders] 加载订单列表失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-mall/product/index.tsx b/apps/miniprogram/src/pages/pkg-mall/product/index.tsx index 5b95d0f..1b25e27 100644 --- a/apps/miniprogram/src/pages/pkg-mall/product/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/product/index.tsx @@ -33,14 +33,15 @@ export default function ProductDetail() { try { const data = await getProduct(productId); setProduct(data); - } catch { - // 降级:从列表接口查找 + } catch (err) { + console.warn('[product] 单商品接口失败,降级列表查找:', err); try { const { listProducts } = await import('../../../services/points'); const res = await listProducts({ page: 1, page_size: 100 }); const found = res.data.find((p) => p.id === productId); if (found) setProduct(found); - } catch { + } catch (fallbackErr) { + console.warn('[product] 降级列表查找也失败:', fallbackErr); Taro.showToast({ title: '加载失败', icon: 'none' }); } } finally { diff --git a/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx b/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx index 94a96b2..3a07eb1 100644 --- a/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx @@ -49,7 +49,8 @@ export default function ConsentList() { setConsents(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[consent] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -75,7 +76,8 @@ export default function ConsentList() { const updated = await revokeConsent(consent.id, consent.version); setConsents((prev) => prev.map((c) => c.id === updated.id ? updated : c)); Taro.showToast({ title: '已撤回', icon: 'success' }); - } catch { + } catch (err) { + console.warn('[consent] 撤回失败:', err); Taro.showToast({ title: '撤回失败', icon: 'none' }); } finally { setRevoking(null); diff --git a/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx b/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx index 7b3ed00..e708640 100644 --- a/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx @@ -45,7 +45,8 @@ export default function Diagnoses() { setRecords(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[diagnosis] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/detail/index.tsx b/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/detail/index.tsx index e3ce70c..28244f7 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/detail/index.tsx @@ -29,7 +29,8 @@ export default function DialysisPrescriptionDetail() { try { const data = await getDialysisPrescription(id); setRx(data); - } catch { + } catch (err) { + console.warn('[prescription] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx b/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx index 04f3e6b..9a5d7e2 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx @@ -41,7 +41,8 @@ export default function DialysisPrescriptionList() { setPrescriptions(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[prescription] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/dialysis-records/detail/index.tsx b/apps/miniprogram/src/pages/pkg-profile/dialysis-records/detail/index.tsx index 6def8ea..62dfaea 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-records/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-records/detail/index.tsx @@ -35,7 +35,8 @@ export default function DialysisRecordDetail() { try { const data = await getDialysisRecord(id); setRecord(data); - } catch { + } catch (err) { + console.warn('[dialysis] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx b/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx index c9546cc..5ea6410 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx @@ -47,7 +47,8 @@ export default function DialysisRecordList() { setRecords(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[dialysis] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/events/index.tsx b/apps/miniprogram/src/pages/pkg-profile/events/index.tsx index 918480b..cf80b30 100644 --- a/apps/miniprogram/src/pages/pkg-profile/events/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/events/index.tsx @@ -27,7 +27,8 @@ export default function EventsPage() { try { const res = await pointsApi.listOfflineEvents({ page: 1, page_size: 50, status: 'published' }); setEvents(res.data || []); - } catch { + } catch (err) { + console.warn('[event] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx b/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx index e6444f7..2ede573 100644 --- a/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx @@ -58,7 +58,8 @@ export default function FamilyAdd() { Taro.showToast({ title: '添加成功', icon: 'success' }); } safeSetTimeout(() => Taro.navigateBack(), 1000); - } catch { + } catch (err) { + console.warn('[family] 操作失败:', err); Taro.hideLoading(); Taro.showToast({ title: editId ? '修改失败' : '添加失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-profile/family/index.tsx b/apps/miniprogram/src/pages/pkg-profile/family/index.tsx index e74e70b..e37c3ac 100644 --- a/apps/miniprogram/src/pages/pkg-profile/family/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/family/index.tsx @@ -34,7 +34,8 @@ export default function FamilyList() { try { const res = await listPatients(); setPatients(res.data || []); - } catch { + } catch (err) { + console.warn('[family] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx b/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx index 33e454c..afc757a 100644 --- a/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx @@ -58,7 +58,8 @@ export default function FollowUpDetail() { try { await (Taro.requestSubscribeMessage as any)({ tmplIds: [tmplId] }); } catch { /* 用户拒绝 */ } } setContent(''); - } catch { + } catch (err) { + console.warn('[followup] 提交失败:', err); Taro.showToast({ title: '提交失败', icon: 'none' }); } finally { setSubmitting(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx b/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx index 44fb89e..65d8e04 100644 --- a/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx @@ -30,7 +30,8 @@ export default function MyFollowUps() { try { const res = await listTasks(status); setTasks(res.data || []); - } catch { + } catch (err) { + console.warn('[followup] 加载数据失败:', err); setError(true); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { diff --git a/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx b/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx index a98d955..c5dc890 100644 --- a/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx @@ -39,7 +39,8 @@ export default function HealthRecords() { setRecords(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[health-records] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx b/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx index 36effee..30a28d2 100644 --- a/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx @@ -28,7 +28,8 @@ export default function MedicationReminder() { try { const res = await listReminders(); setReminders(res.data ?? []); - } catch { + } catch (err) { + console.warn('[medication] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); @@ -44,7 +45,8 @@ export default function MedicationReminder() { version: r.version, }); fetchReminders(); - } catch { + } catch (err) { + console.warn('[medication] 操作失败:', err); Taro.showToast({ title: '操作失败', icon: 'none' }); } }; @@ -59,7 +61,8 @@ export default function MedicationReminder() { await deleteReminder(r.id, r.version); Taro.showToast({ title: '已删除', icon: 'success' }); fetchReminders(); - } catch { + } catch (err) { + console.warn('[medication] 删除失败:', err); Taro.showToast({ title: '删除失败', icon: 'none' }); } } @@ -90,7 +93,8 @@ export default function MedicationReminder() { setShowForm(false); Taro.showToast({ title: '添加成功', icon: 'success' }); fetchReminders(); - } catch { + } catch (err) { + console.warn('[medication] 添加失败:', err); Taro.showToast({ title: '添加失败', icon: 'none' }); } }; diff --git a/apps/miniprogram/src/pages/pkg-profile/notifications/index.tsx b/apps/miniprogram/src/pages/pkg-profile/notifications/index.tsx index 811fd4e..6c00aae 100644 --- a/apps/miniprogram/src/pages/pkg-profile/notifications/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/notifications/index.tsx @@ -48,7 +48,8 @@ export default function Notifications() { setItems((prev) => (isRefresh ? list : [...prev, ...list])); setTotal(res.total || 0); setPage(pageNum); - } catch { + } catch (err) { + console.warn('[notification] 加载数据失败:', err); setError('加载失败'); if (isRefresh) setItems([]); } finally { diff --git a/apps/miniprogram/src/pages/pkg-profile/reports/detail/index.tsx b/apps/miniprogram/src/pages/pkg-profile/reports/detail/index.tsx index 8661221..f0b31ff 100644 --- a/apps/miniprogram/src/pages/pkg-profile/reports/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/reports/detail/index.tsx @@ -35,7 +35,8 @@ export default function ReportDetail() { try { const data = await getReportDetail(patientId, id); setReport(data); - } catch { + } catch (err) { + console.warn('[report] 加载失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx b/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx index 321879b..1cb8364 100644 --- a/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx @@ -34,7 +34,8 @@ export default function MyReports() { setReports(append ? (prev) => [...prev, ...list] : list); setTotal(res.total); setPage(p); - } catch { + } catch (err) { + console.warn('[reports] 加载报告列表失败:', err); Taro.showToast({ title: '加载失败', icon: 'none' }); } finally { setLoading(false); diff --git a/apps/miniprogram/src/services/ai-chat.ts b/apps/miniprogram/src/services/ai-chat.ts index 5822c4d..11ba8f4 100644 --- a/apps/miniprogram/src/services/ai-chat.ts +++ b/apps/miniprogram/src/services/ai-chat.ts @@ -79,7 +79,8 @@ export function getLocalHistory(): AiChatMessage[] { try { const raw = wx.getStorageSync('ai_chat_history'); return raw ? JSON.parse(raw) : []; - } catch { + } catch (err) { + console.warn('[ai-chat] 读取本地聊天历史失败:', err); return []; } } @@ -88,5 +89,5 @@ export function getLocalHistory(): AiChatMessage[] { export function saveLocalHistory(messages: AiChatMessage[]): void { try { wx.setStorageSync('ai_chat_history', JSON.stringify(messages.slice(-100))); - } catch { /* ignore */ } + } catch (err) { console.warn('[ai-chat] 保存本地聊天历史失败:', err); } } diff --git a/apps/miniprogram/src/services/ble/BLEManager.ts b/apps/miniprogram/src/services/ble/BLEManager.ts index e186e24..6d19104 100644 --- a/apps/miniprogram/src/services/ble/BLEManager.ts +++ b/apps/miniprogram/src/services/ble/BLEManager.ts @@ -236,8 +236,8 @@ export class BLEManager { serviceId: svc.uuid, characteristicId: charUUID, }); - } catch { - // 某些特征值可能不支持读取 + } catch (err) { + console.warn('[ble] 读取特征值失败:', err); } } @@ -347,8 +347,8 @@ export class BLEManager { try { const uploaded = await uploadFn(batch); return uploaded; - } catch { - // 失败时放回 + } catch (err) { + console.warn('[ble] 上传待处理读数失败:', err); this.dataBuffer.push(batch); return 0; } diff --git a/apps/miniprogram/src/services/ble/DataBuffer.ts b/apps/miniprogram/src/services/ble/DataBuffer.ts index 13e973f..446047d 100644 --- a/apps/miniprogram/src/services/ble/DataBuffer.ts +++ b/apps/miniprogram/src/services/ble/DataBuffer.ts @@ -83,7 +83,8 @@ export class DataBuffer { let raw: string; try { raw = Taro.getStorageSync(key) as string; - } catch { + } catch (err) { + console.warn('[ble-buffer] 读取 Storage 失败:', err); break; } if (!raw) break; @@ -96,7 +97,8 @@ export class DataBuffer { } total += parsed.length; } - } catch { + } catch (err) { + console.warn('[ble-buffer] 解析 Storage 数据失败:', err); break; } idx++; @@ -145,8 +147,8 @@ export class DataBuffer { const key = `${this.config.storageKeyPrefix}_${this.currentBucketIndex}`; try { Taro.setStorageSync(key, JSON.stringify(this.buckets[this.currentBucketIndex])); - } catch { - // Storage 写入失败不影响主流程 + } catch (err) { + console.warn('[ble-buffer] 持久化当前桶失败:', err); } } @@ -157,7 +159,8 @@ export class DataBuffer { let raw: string; try { raw = Taro.getStorageSync(key) as string; - } catch { + } catch (err) { + console.warn('[ble-buffer] 清理 Storage 读取失败:', err); break; } if (!raw) break; diff --git a/apps/miniprogram/src/services/ble/DataSyncScheduler.ts b/apps/miniprogram/src/services/ble/DataSyncScheduler.ts index 47ecbd8..300f6ed 100644 --- a/apps/miniprogram/src/services/ble/DataSyncScheduler.ts +++ b/apps/miniprogram/src/services/ble/DataSyncScheduler.ts @@ -85,7 +85,8 @@ export class DataSyncScheduler { const raw = Taro.getStorageSync(this.config.storageKey) as string; if (!raw) return null; return JSON.parse(raw) as SyncRecord; - } catch { + } catch (err) { + console.warn('[ble-sync] 数据加载失败:', err); return null; } } @@ -93,7 +94,8 @@ export class DataSyncScheduler { private saveRecord(record: SyncRecord): void { try { Taro.setStorageSync(this.config.storageKey, JSON.stringify(record)); - } catch { + } catch (err) { + console.warn('[ble-sync] Storage 操作失败:', err); // Storage 写入失败不影响主流程 } } diff --git a/apps/miniprogram/src/services/health.ts b/apps/miniprogram/src/services/health.ts index 8e41177..80f9622 100644 --- a/apps/miniprogram/src/services/health.ts +++ b/apps/miniprogram/src/services/health.ts @@ -159,7 +159,8 @@ export async function getHealthThresholds(): Promise { const data = await api.get('/health/critical-value-thresholds/public'); Taro.setStorageSync(THRESHOLD_CACHE_KEY, { data, ts: Date.now() }); return data; - } catch { + } catch (err) { + console.warn('[health] 数据加载失败:', err); return []; } } diff --git a/apps/miniprogram/src/services/request.ts b/apps/miniprogram/src/services/request.ts index 711dc7e..2d61df4 100644 --- a/apps/miniprogram/src/services/request.ts +++ b/apps/miniprogram/src/services/request.ts @@ -204,8 +204,8 @@ async function doRefresh(): Promise { invalidateHeadersCache(); return true; } - } catch { - // token 刷新失败 + } catch (err) { + console.warn('[request] Token 刷新失败:', err); } isLoggingOut = true; secureRemove('access_token'); diff --git a/apps/miniprogram/src/stores/auth.ts b/apps/miniprogram/src/stores/auth.ts index 60e4c93..37ac420 100644 --- a/apps/miniprogram/src/stores/auth.ts +++ b/apps/miniprogram/src/stores/auth.ts @@ -154,7 +154,8 @@ export const useAuthStore = create((set, get) => ({ secureSet('wechat_openid', resp.openid); set({ loading: false }); return false; - } catch { + } catch (err) { + console.warn('[auth] 微信登录失败:', err); set({ loading: false }); return false; } @@ -183,7 +184,8 @@ export const useAuthStore = create((set, get) => ({ // 登录成功后自动加载患者档案(如果有的话) get().loadPatients(); return true; - } catch { + } catch (err) { + console.warn('[auth] 账号密码登录失败:', err); set({ loading: false }); return false; } @@ -239,8 +241,8 @@ export const useAuthStore = create((set, get) => ({ if (patients.length > 0 && !get().currentPatient) { get().setCurrentPatient(patients[0]); } - } catch { - // 患者列表加载失败不阻塞流程 + } catch (err) { + console.warn('[auth] 患者列表加载失败:', err); } }, diff --git a/apps/miniprogram/src/stores/health.ts b/apps/miniprogram/src/stores/health.ts index 7cffe3c..2daa81d 100644 --- a/apps/miniprogram/src/stores/health.ts +++ b/apps/miniprogram/src/stores/health.ts @@ -43,7 +43,8 @@ export const useHealthStore = create((set, get) => ({ || undefined; const data = await healthApi.getTodaySummary(patientId); set({ todaySummary: data, todaySummaryFetchedAt: Date.now(), loading: false, _refreshingToday: false }); - } catch { + } catch (err) { + console.warn('[health] 刷新今日摘要失败:', err); set({ loading: false, _refreshingToday: false }); } }, @@ -69,7 +70,8 @@ export const useHealthStore = create((set, get) => ({ return { trendData: updated }; }); return points; - } catch { + } catch (err) { + console.warn('[health] 获取趋势数据失败:', err); return []; } }, diff --git a/apps/miniprogram/src/stores/points.ts b/apps/miniprogram/src/stores/points.ts index 207a806..f2a2adb 100644 --- a/apps/miniprogram/src/stores/points.ts +++ b/apps/miniprogram/src/stores/points.ts @@ -28,7 +28,8 @@ export const usePointsStore = create((set, get) => ({ pointsApi.getCheckinStatus(), ]); set({ account, checkinStatus, loading: false, lastFetched: Date.now() }); - } catch { + } catch (err) { + console.warn('[points] 刷新积分数据失败:', err); set({ loading: false }); } }, @@ -42,7 +43,8 @@ export const usePointsStore = create((set, get) => ({ const account = await pointsApi.getAccount(); set({ account }); return true; - } catch { + } catch (err) { + console.warn('[points] 签到失败:', err); return false; } },