diff --git a/apps/miniprogram/src/services/health.ts b/apps/miniprogram/src/services/health.ts index 8d7b108..4e996f8 100644 --- a/apps/miniprogram/src/services/health.ts +++ b/apps/miniprogram/src/services/health.ts @@ -1,5 +1,5 @@ -import Taro from '@tarojs/taro'; import { api, getCachedPatientId } from './request'; +import { secureGet, secureSet } from '@/utils/secure-storage'; export interface VitalSignInput { indicator_type: string; @@ -147,17 +147,18 @@ const THRESHOLD_TTL = 24 * 60 * 60 * 1000; // 24h /** 从缓存或 API 获取健康阈值列表 */ export async function getHealthThresholds(): Promise { try { - const cached = Taro.getStorageSync(THRESHOLD_CACHE_KEY) as - | { data: HealthThreshold[]; ts: number } - | undefined; - if (cached && Date.now() - cached.ts < THRESHOLD_TTL) { - return cached.data; + const cachedRaw = secureGet(THRESHOLD_CACHE_KEY); + if (cachedRaw) { + const cached = JSON.parse(cachedRaw) as { data: HealthThreshold[]; ts: number }; + if (cached && Date.now() - cached.ts < THRESHOLD_TTL) { + return cached.data; + } } } catch { /* cache miss */ } try { const data = await api.get('/health/critical-value-thresholds/public'); - Taro.setStorageSync(THRESHOLD_CACHE_KEY, { data, ts: Date.now() }); + secureSet(THRESHOLD_CACHE_KEY, JSON.stringify({ data, ts: Date.now() })); return data; } catch (err) { console.warn('[health] 数据加载失败:', err);