diff --git a/apps/miniprogram/src/components/TrendChart/index.tsx b/apps/miniprogram/src/components/TrendChart/index.tsx index 441c779..1389122 100644 --- a/apps/miniprogram/src/components/TrendChart/index.tsx +++ b/apps/miniprogram/src/components/TrendChart/index.tsx @@ -3,6 +3,10 @@ import { Canvas, View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import './index.scss'; +/** Canvas 2D 上下文类型 — 微信小程序 Canvas 2d 接口 */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +type CanvasRenderingContext2D = any; + interface TrendChartProps { data: { date: string; value: number }[]; referenceMin?: number; @@ -181,7 +185,6 @@ export default React.memo(function TrendChart({ if (!node) return; canvasRef.current = node; const sysInfo = Taro.getSystemInfoSync(); - const canvasW = (sysInfo.windowWidth * 750) / sysInfo.windowWidth; node.width = sysInfo.windowWidth * getDPR(); node.height = ((height / 750) * sysInfo.windowWidth) * getDPR(); draw(); diff --git a/apps/miniprogram/src/components/ui/ChatBubble/index.tsx b/apps/miniprogram/src/components/ui/ChatBubble/index.tsx index 0f77278..8eb4144 100644 --- a/apps/miniprogram/src/components/ui/ChatBubble/index.tsx +++ b/apps/miniprogram/src/components/ui/ChatBubble/index.tsx @@ -1,4 +1,4 @@ -import React, { ReactNode } from 'react'; +import React from 'react'; import { View, Text } from '@tarojs/components'; import './index.scss'; diff --git a/apps/miniprogram/src/pages/ai-report/detail/index.tsx b/apps/miniprogram/src/pages/ai-report/detail/index.tsx index 10ae9f6..30a0fc0 100644 --- a/apps/miniprogram/src/pages/ai-report/detail/index.tsx +++ b/apps/miniprogram/src/pages/ai-report/detail/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text, RichText } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/ai-report/list/index.tsx b/apps/miniprogram/src/pages/ai-report/list/index.tsx index 50a794d..7373ab7 100644 --- a/apps/miniprogram/src/pages/ai-report/list/index.tsx +++ b/apps/miniprogram/src/pages/ai-report/list/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text, ScrollView } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; diff --git a/apps/miniprogram/src/pages/appointment/create/index.tsx b/apps/miniprogram/src/pages/appointment/create/index.tsx index ad8ed48..71895e3 100644 --- a/apps/miniprogram/src/pages/appointment/create/index.tsx +++ b/apps/miniprogram/src/pages/appointment/create/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback, useMemo } from 'react'; +import { useState, useCallback, useMemo } from 'react'; import { View, Text, Input } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { listDoctors, createAppointment, calendarView } from '../../../services/appointment'; diff --git a/apps/miniprogram/src/pages/appointment/detail/index.tsx b/apps/miniprogram/src/pages/appointment/detail/index.tsx index f6c554f..cf4cecc 100644 --- a/apps/miniprogram/src/pages/appointment/detail/index.tsx +++ b/apps/miniprogram/src/pages/appointment/detail/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { getAppointment, cancelAppointment } from '../../../services/appointment'; diff --git a/apps/miniprogram/src/pages/appointment/index.tsx b/apps/miniprogram/src/pages/appointment/index.tsx index 1adb867..95edd85 100644 --- a/apps/miniprogram/src/pages/appointment/index.tsx +++ b/apps/miniprogram/src/pages/appointment/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; @@ -38,7 +38,7 @@ export default function AppointmentList() { const fetchData = useCallback(async (pageNum: number, isRefresh = false) => { setLoading(true); try { - const res = await listAppointments(pageNum); + const res = await listAppointments(undefined, pageNum); const list = res.data || []; if (isRefresh) { setAppointments(list); diff --git a/apps/miniprogram/src/pages/article/detail/index.tsx b/apps/miniprogram/src/pages/article/detail/index.tsx index 1db086a..e7fbf9b 100644 --- a/apps/miniprogram/src/pages/article/detail/index.tsx +++ b/apps/miniprogram/src/pages/article/detail/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text, RichText } from '@tarojs/components'; import Taro, { useRouter, useShareAppMessage } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/article/index.tsx b/apps/miniprogram/src/pages/article/index.tsx index 7039ab9..449db3d 100644 --- a/apps/miniprogram/src/pages/article/index.tsx +++ b/apps/miniprogram/src/pages/article/index.tsx @@ -34,8 +34,8 @@ interface ArticleCategory { export default function ArticleList() { const modeClass = useElderClass(); const [articles, setArticles] = useState([]); - const [page, setPage] = useState(1); - const [total, setTotal] = useState(0); + const [, setPage] = useState(1); + const [, setTotal] = useState(0); const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const [categories, setCategories] = useState([]); diff --git a/apps/miniprogram/src/pages/consultation/create/index.tsx b/apps/miniprogram/src/pages/consultation/create/index.tsx index e552b32..de624c5 100644 --- a/apps/miniprogram/src/pages/consultation/create/index.tsx +++ b/apps/miniprogram/src/pages/consultation/create/index.tsx @@ -84,7 +84,7 @@ export default function ConsultationCreate() { const typeLabels = CONSULTATION_TYPES.map((t) => TYPE_LABELS[t] || t); return ( - + 咨询类型 diff --git a/apps/miniprogram/src/pages/health/index.tsx b/apps/miniprogram/src/pages/health/index.tsx index 1e3760b..b98623f 100644 --- a/apps/miniprogram/src/pages/health/index.tsx +++ b/apps/miniprogram/src/pages/health/index.tsx @@ -35,7 +35,7 @@ export default function Health() { const currentPatient = useAuthStore((s) => s.currentPatient); const modeClass = useElderClass(); const { - user, todaySummary, loading, error, activeTab, trendData, trendLoading, + user, todaySummary: _todaySummary, loading: _loading, error, activeTab, trendData, trendLoading, aiSuggestions, thresholds, handleTabChange, loadTrend, refreshToday, fetchData, } = useHealthData(); diff --git a/apps/miniprogram/src/pages/health/useHealthData.ts b/apps/miniprogram/src/pages/health/useHealthData.ts index 7170210..2749982 100644 --- a/apps/miniprogram/src/pages/health/useHealthData.ts +++ b/apps/miniprogram/src/pages/health/useHealthData.ts @@ -1,8 +1,8 @@ -import { useState, useRef } from 'react'; +import { useState } from 'react'; import { useHealthStore } from '@/stores/health'; import { useAuthStore } from '@/stores/auth'; import { usePageData } from '@/hooks/usePageData'; -import { getTrend, getHealthThresholds, DEFAULT_THRESHOLDS, type HealthThreshold } from '@/services/health'; +import { getHealthThresholds, DEFAULT_THRESHOLDS, type HealthThreshold } from '@/services/health'; import { listPendingSuggestions, type AiSuggestionItem } from '@/services/ai-analysis'; export type VitalType = 'blood_pressure' | 'heart_rate' | 'blood_sugar' | 'weight'; diff --git a/apps/miniprogram/src/pages/index/index.tsx b/apps/miniprogram/src/pages/index/index.tsx index 05ae3d3..3a84ac2 100644 --- a/apps/miniprogram/src/pages/index/index.tsx +++ b/apps/miniprogram/src/pages/index/index.tsx @@ -6,14 +6,14 @@ import { useAuthStore } from '../../stores/auth'; import { useUIStore } from '../../stores/ui'; import { navigateToLogin } from '../../utils/navigate'; import { usePageData } from '@/hooks/usePageData'; -import { useThrottledDidShow } from '@/hooks/useThrottledDidShow'; +// useThrottledDidShow removed — unused import import { api } from '@/services/request'; import type { Article } from '@/services/article'; import ProgressRing from '@/components/ui/ProgressRing'; import Loading from '../../components/Loading'; import PageShell from '@/components/ui/PageShell'; import ContentCard from '@/components/ui/ContentCard'; -import { useHomeData, type ReminderItem } from './useHomeData'; +import { useHomeData } from './useHomeData'; import './index.scss'; interface PublicBanner { @@ -27,9 +27,9 @@ interface PublicBanner { } const FALLBACK_SLIDES = [ - { id: 'slide-1', title: '专业血透中心', desc: '三甲级医护团队全程守护', image_url: '' }, - { id: 'slide-2', title: '智慧健康管理', desc: 'AI 驱动个性化健康方案', image_url: '' }, - { id: 'slide-3', title: '温馨就医环境', desc: '舒适安全的治疗体验', image_url: '' }, + { id: 'slide-1', title: '专业血透中心', subtitle: '', desc: '三甲级医护团队全程守护', image_url: '' }, + { id: 'slide-2', title: '智慧健康管理', subtitle: '', desc: 'AI 驱动个性化健康方案', image_url: '' }, + { id: 'slide-3', title: '温馨就医环境', subtitle: '', desc: '舒适安全的治疗体验', image_url: '' }, ]; // ─── 访客首页 ─── diff --git a/apps/miniprogram/src/pages/index/useHomeData.ts b/apps/miniprogram/src/pages/index/useHomeData.ts index 9d76758..ba8d263 100644 --- a/apps/miniprogram/src/pages/index/useHomeData.ts +++ b/apps/miniprogram/src/pages/index/useHomeData.ts @@ -83,7 +83,7 @@ export function useHomeData() { ]); if (suggestRes.status === 'fulfilled') { - for (const s of suggestRes.value.data.slice(0, 1)) { + for (const s of suggestRes.value.slice(0, 1)) { items.push({ id: s.id, text: buildSuggestionText(s), type: 'ai', tag: 'AI 建议' }); } } diff --git a/apps/miniprogram/src/pages/login/index.tsx b/apps/miniprogram/src/pages/login/index.tsx index f43ec59..f99ca4b 100644 --- a/apps/miniprogram/src/pages/login/index.tsx +++ b/apps/miniprogram/src/pages/login/index.tsx @@ -5,8 +5,10 @@ import { safeNavigateTo } from '@/utils/navigate'; import { useAuthStore } from '../../stores/auth'; import './index.scss'; +declare const __wxConfig: Record | undefined; + const IS_DEV = process.env.NODE_ENV !== 'production'; -const IS_SIMULATOR = typeof __wxConfig !== 'undefined' && (__wxConfig as any).envVersion === 'develop'; +const IS_SIMULATOR = typeof __wxConfig !== 'undefined' && (__wxConfig as Record)?.envVersion === 'develop'; export default function Login() { const [username, setUsername] = useState(''); diff --git a/apps/miniprogram/src/pages/mall/index.tsx b/apps/miniprogram/src/pages/mall/index.tsx index f378a3d..f53d7a0 100644 --- a/apps/miniprogram/src/pages/mall/index.tsx +++ b/apps/miniprogram/src/pages/mall/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; diff --git a/apps/miniprogram/src/pages/messages/index.tsx b/apps/miniprogram/src/pages/messages/index.tsx index 9488627..6b37be7 100644 --- a/apps/miniprogram/src/pages/messages/index.tsx +++ b/apps/miniprogram/src/pages/messages/index.tsx @@ -1,4 +1,4 @@ -import { useState, useRef, useEffect } from 'react'; +import { useState, useRef } from 'react'; import { View, Text, Input, ScrollView } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { 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 5593a2b..787725e 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 @@ -7,6 +7,7 @@ import { getDialysisRecord, reviewDialysisRecord, updateDialysisRecord, deleteDialysisRecord, type DialysisRecord, + type UpdateDialysisRecordReq, } from '@/services/doctor/dialysis'; import Loading from '@/components/Loading'; import PageShell from '@/components/ui/PageShell'; @@ -59,7 +60,8 @@ export default function DialysisDetail() { if (!record) return; setSubmitting(true); try { - const updated = await updateDialysisRecord(id, { status: 'completed' }, record.version); + const req = { status: 'completed' } as UpdateDialysisRecordReq; + const updated = await updateDialysisRecord(id, req, record.version); setRecord(updated); Taro.showToast({ title: '已标记完成', icon: 'success' }); } catch (err) { 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 4f70295..cc6c338 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 @@ -2,7 +2,6 @@ import { useState } from 'react'; import { View, Text, Input, Textarea, Picker } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { createDialysisPrescription } from '@/services/doctor/dialysis'; -import Loading from '@/components/Loading'; import PageShell from '@/components/ui/PageShell'; import ContentCard from '@/components/ui/ContentCard'; import { useDoctorClass } from '@/hooks/useDoctorClass'; 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 ae7c697..ade6a9c 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 @@ -1,4 +1,4 @@ -import React, { useState, useCallback, useRef } from 'react'; +import { useState, useCallback, useRef } from 'react'; import { View, Text, ScrollView } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx b/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx index daf3716..a180bba 100644 --- a/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx +++ b/apps/miniprogram/src/pages/pkg-health/alerts/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; @@ -33,7 +33,7 @@ export default function PatientAlerts() { const currentPatient = useAuthStore((s) => s.currentPatient); const [alerts, setAlerts] = useState([]); const [total, setTotal] = useState(0); - const [page, setPage] = useState(1); + const [_page, setPage] = useState(1); const [status, setStatus] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(false); @@ -76,7 +76,7 @@ export default function PatientAlerts() { try { const tmplId = process.env.TARO_APP_WX_TEMPLATE_CRITICAL_ALERT || ''; if (tmplId) { - await Taro.requestSubscribeMessage({ tmplIds: [tmplId] }); + await (Taro.requestSubscribeMessage as (option: { tmplIds: string[] }) => Promise)({ tmplIds: [tmplId] }); } } catch { // 用户拒绝或已订阅,不阻塞页面 diff --git a/apps/miniprogram/src/pages/pkg-health/daily-monitoring/index.tsx b/apps/miniprogram/src/pages/pkg-health/daily-monitoring/index.tsx index 17c74de..9514484 100644 --- a/apps/miniprogram/src/pages/pkg-health/daily-monitoring/index.tsx +++ b/apps/miniprogram/src/pages/pkg-health/daily-monitoring/index.tsx @@ -15,7 +15,7 @@ import ContentCard from '@/components/ui/ContentCard'; import { BP_RANGE, WEIGHT_RANGE, SUGAR_RANGE, VOLUME_RANGE, checkAbnormal, formatDate, FIELD_LABELS, - type SectionKey, type AbnormalResult, + type SectionKey, } from './constants'; import './index.scss'; diff --git a/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx b/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx index 56dc816..bb97afe 100644 --- a/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/detail/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx b/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx index b9e9647..af2d50b 100644 --- a/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/exchange/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx b/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx index a1f2851..1c25509 100644 --- a/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/orders/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-mall/product/index.tsx b/apps/miniprogram/src/pages/pkg-mall/product/index.tsx index 1b25e27..7d2b48b 100644 --- a/apps/miniprogram/src/pages/pkg-mall/product/index.tsx +++ b/apps/miniprogram/src/pages/pkg-mall/product/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx b/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx index 3a07eb1..e3bb2db 100644 --- a/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/consents/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx b/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx index e708640..af79b11 100644 --- a/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/diagnoses/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; 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 28244f7..32e0350 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 @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; 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 9a5d7e2..5102c3c 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-prescriptions/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; 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 62dfaea..9708db5 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 @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; 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 5ea6410..e8310fe 100644 --- a/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/dialysis-records/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; diff --git a/apps/miniprogram/src/pages/pkg-profile/events/index.tsx b/apps/miniprogram/src/pages/pkg-profile/events/index.tsx index cf80b30..93e725c 100644 --- a/apps/miniprogram/src/pages/pkg-profile/events/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/events/index.tsx @@ -1,5 +1,5 @@ import { useState, useCallback } from 'react'; -import { View, Text, ScrollView } from '@tarojs/components'; +import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import * as pointsApi from '@/services/points'; import Loading from '@/components/Loading'; 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 6b68de1..22656e5 100644 --- a/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/family-add/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { View, Text, Input, Picker } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { createPatient, updatePatient, Patient } from '../../../services/patient'; diff --git a/apps/miniprogram/src/pages/pkg-profile/family/index.tsx b/apps/miniprogram/src/pages/pkg-profile/family/index.tsx index 1e77a63..140a5f0 100644 --- a/apps/miniprogram/src/pages/pkg-profile/family/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/family/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; 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 afc757a..b51d7d9 100644 --- a/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/followups/detail/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text, Textarea } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx b/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx index 65d8e04..d4fb6bf 100644 --- a/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/followups/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; 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 c5dc890..8c763c6 100644 --- a/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/health-records/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx b/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx index 30a28d2..fdd240f 100644 --- a/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/medication/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text, Input, Picker } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { usePageData } from '@/hooks/usePageData'; diff --git a/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx b/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx index 1cb8364..90e34df 100644 --- a/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/reports/index.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import { View, Text } from '@tarojs/components'; import Taro, { useReachBottom } from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; diff --git a/apps/miniprogram/src/pages/pkg-profile/settings/index.tsx b/apps/miniprogram/src/pages/pkg-profile/settings/index.tsx index 5a10cfb..d08b63f 100644 --- a/apps/miniprogram/src/pages/pkg-profile/settings/index.tsx +++ b/apps/miniprogram/src/pages/pkg-profile/settings/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { safeNavigateTo } from '@/utils/navigate'; diff --git a/apps/miniprogram/src/services/auth.ts b/apps/miniprogram/src/services/auth.ts index 2801dd2..ea610a1 100644 --- a/apps/miniprogram/src/services/auth.ts +++ b/apps/miniprogram/src/services/auth.ts @@ -15,7 +15,7 @@ export interface LoginResp { access_token: string; refresh_token: string; expires_in: number; - user: { id: string; username: string; display_name?: string; phone?: string; avatar_url?: string }; + user: { id: string; username: string; display_name?: string; phone?: string; avatar_url?: string; tenant_id?: string }; }; } diff --git a/apps/miniprogram/src/services/ble/adapters/XiaomiBandAdapter.ts b/apps/miniprogram/src/services/ble/adapters/XiaomiBandAdapter.ts index 4d972e0..91594ee 100644 --- a/apps/miniprogram/src/services/ble/adapters/XiaomiBandAdapter.ts +++ b/apps/miniprogram/src/services/ble/adapters/XiaomiBandAdapter.ts @@ -19,19 +19,12 @@ const RACP_CHARACTERISTIC = '00002A52-0000-1000-8000-00805F9B34FB'; // RACP 操作码 const RACP_OPCODE_REPORT_STORED_RECORDS = 0x01; -const RACP_OPCODE_DELETE_STORED_RECORDS = 0x02; -const RACP_OPCODE_ABORT_OPERATION = 0x03; const RACP_OPCODE_REPORT_NUMBER_OF_RECORDS = 0x04; const RACP_OPCODE_NUMBER_OF_STORED_RECORDS_RESPONSE = 0x05; const RACP_OPCODE_RESPONSE_CODE = 0x06; // RACP 操作符 const RACP_OPERATOR_ALL = 0x01; -const RACP_OPERATOR_LESS_THAN = 0x04; -const RACP_OPERATOR_GREATER_THAN = 0x05; - -// RACP 过滤器类型 -const RACP_FILTER_TYPE_TIME = 0x01; /** 解析心率测量值(Heart Rate Measurement 格式) */ function parseHeartRate(data: ArrayBuffer): number | null { @@ -118,14 +111,11 @@ export const XiaomiBandAdapter: DeviceAdapter = { const opcode = view.getUint8(0); if (opcode === RACP_OPCODE_NUMBER_OF_STORED_RECORDS_RESPONSE) { - const count = view.getUint16(2, true); // 不返回 reading,仅用于日志/调试 return []; } if (opcode === RACP_OPCODE_RESPONSE_CODE) { - const reqOpcode = view.getUint8(1); - const status = view.getUint8(2); // status: 0x01=成功, 0x02=不支持的操作码, 等 // 不返回 reading,仅用于日志 return []; @@ -162,7 +152,7 @@ export function buildRACPReportAll(): ArrayBuffer { export function buildRACPReportCount(): ArrayBuffer { const buffer = new ArrayBuffer(2); const view = new DataView(buffer); - view.setUint8(0, RACP_OPCODE_REPORT_NUMBER_OF_STORED_RECORDS); + view.setUint8(0, RACP_OPCODE_REPORT_NUMBER_OF_RECORDS); view.setUint8(1, RACP_OPERATOR_ALL); return buffer; } diff --git a/apps/miniprogram/src/services/device-sync.ts b/apps/miniprogram/src/services/device-sync.ts index 6294af9..873d75d 100644 --- a/apps/miniprogram/src/services/device-sync.ts +++ b/apps/miniprogram/src/services/device-sync.ts @@ -6,7 +6,7 @@ interface BatchReadingRequest { device_model?: string; readings: { device_type: string; - values: Record; + values: Record; measured_at: string; }[]; } diff --git a/apps/miniprogram/src/services/doctor/actionInbox.ts b/apps/miniprogram/src/services/doctor/actionInbox.ts index efd44be..dd7938a 100644 --- a/apps/miniprogram/src/services/doctor/actionInbox.ts +++ b/apps/miniprogram/src/services/doctor/actionInbox.ts @@ -40,10 +40,13 @@ export async function listActionItems(params?: { assigned_to_me?: boolean; patient_id?: string; }) { - return api.get( - '/health/action-inbox', - params as Record, - ); + const query: Record = {}; + if (params) { + for (const [k, v] of Object.entries(params)) { + if (v !== undefined) query[k] = typeof v === 'boolean' ? String(v) : v; + } + } + return api.get('/health/action-inbox', query); } export async function getActionThread(sourceRef: string) { @@ -55,7 +58,7 @@ export async function getActionThread(sourceRef: string) { export async function getWorkbenchStats(assignedToMe?: boolean) { return api.get( '/health/action-inbox/stats', - assignedToMe !== undefined ? { assigned_to_me: assignedToMe } : undefined, + assignedToMe !== undefined ? { assigned_to_me: String(assignedToMe) } as Record : undefined, ); } diff --git a/apps/miniprogram/src/services/doctor/dialysis.ts b/apps/miniprogram/src/services/doctor/dialysis.ts index a73ff0e..b385b0f 100644 --- a/apps/miniprogram/src/services/doctor/dialysis.ts +++ b/apps/miniprogram/src/services/doctor/dialysis.ts @@ -28,7 +28,9 @@ export interface CreateDialysisRecordReq { complication_notes?: string; } -export type UpdateDialysisRecordReq = Omit; +export type UpdateDialysisRecordReq = Omit & { + status?: string; +}; export interface CreateDialysisPrescriptionReq { patient_id: string; @@ -52,7 +54,9 @@ export interface CreateDialysisPrescriptionReq { notes?: string; } -export type UpdateDialysisPrescriptionReq = Omit; +export type UpdateDialysisPrescriptionReq = Omit & { + status?: string; +}; export interface DialysisStatistics { total_records: number; diff --git a/apps/miniprogram/src/services/notification.ts b/apps/miniprogram/src/services/notification.ts index 50cb0e9..9a2bf72 100644 --- a/apps/miniprogram/src/services/notification.ts +++ b/apps/miniprogram/src/services/notification.ts @@ -1,8 +1,8 @@ import { api } from './request'; export const notificationService = { - list: (params?: { page?: number; page_size?: number }) => - api.get('/messages', params as Record), + list: (params?: { page?: number; page_size?: number }) => + api.get('/messages', params as Record), markRead: (id: string) => api.put(`/messages/${id}/read`), markAllRead: () => diff --git a/apps/miniprogram/src/stores/auth.ts b/apps/miniprogram/src/stores/auth.ts index ecd4f57..fbfa4f8 100644 --- a/apps/miniprogram/src/stores/auth.ts +++ b/apps/miniprogram/src/stores/auth.ts @@ -18,13 +18,6 @@ let cachedRolesObj: string[] = []; let cachedPatientJson = ''; let cachedPatientObj: authApi.PatientInfo | null = null; -interface BindPhoneResp { - access_token: string; - refresh_token: string; - expires_in?: number; - user: { id: string; username: string; display_name?: string; phone?: string; tenant_id?: string }; -} - interface AuthState { user: { id: string; username: string; display_name?: string; phone?: string; tenant_id?: string } | null; roles: string[]; @@ -221,7 +214,7 @@ export const useAuthStore = create((set, get) => ({ clearLoggingOut(); get().loadPatients(); return true; - } catch (err: any) { + } catch (err: unknown) { secureRemove('wechat_openid'); set({ loading: false }); throw err;