feat: 优化AI报告显示模块

This commit is contained in:
2026-09-04 15:55:09 +08:00
parent 4c6167cf22
commit 89c23058f0
8 changed files with 830 additions and 160 deletions

View File

@@ -1,6 +1,7 @@
import { defineStore } from 'pinia'
import { addBloodPressure, addBloodSugar, addSleep, addSport, addTemperature, addWeight } from '@/utils/record'
import {getDefaultRecordValue} from "@/utils/profile";
import { getDefaultRecordValue } from "@/utils/profile";
import type { IAiReport } from "@/type/report";
export const useRecordStore = defineStore('record', {
state: () => ({
@@ -53,7 +54,58 @@ export const useRecordStore = defineStore('record', {
isAnalyzing: false,
showAIResultPopup: false,
showAIButton: true,
aiResult: ''
aiResult: {
title: "Cxx的健康月报 · 2026年9月",
greeting: "Cxx你好这个月你完成了3天的健康数据记录虽然覆盖还不算全面但坚持记录就是好的开始。当前体重约69.9kgBMI约24.2,略高于标准上限,结合你的均衡饮食目标,可以先从调整饮食和增加活动入手。本月亮点是睡眠达标且空腹血糖正常,但血压呈现升高趋势,需要多加留意。",
sections: [
{
type: "weight",
emoji: "⚖️",
title: "体重",
hasAbnormal: false,
data: "体重从70kg降至69.7kg整体平稳平均69.9kg波动幅度仅0.3kg。根据身高170cm计算BMI约24.2,略超标准范围上限。",
suggestion: "结合均衡饮食目标,继续保持清淡饮食,减少高油高糖食物,并配合适量运动。"
},
{
type: "sleep",
emoji: "😴",
title: "睡眠",
hasAbnormal: false,
data: "本月记录1次睡眠时长8小时达标率100%,睡眠质量表现很好。",
suggestion: "保持规律的作息时间,尽量在固定时间就寝和起床,让好习惯延续下去。"
},
{
type: "sport",
emoji: "🏃",
title: "运动",
hasAbnormal: true,
data: "运动记录7次实际运动1天总时长30分钟运动频率14.3%最长连续不运动2天。考虑到你久坐少动的状态运动量还需要提升。",
suggestion: "建议每周累计至少150分钟中等强度运动可以从快走、跑步等开始每小时起身活动5分钟。"
},
{
type: "bloodPressure",
emoji: "❤️",
title: "血压",
hasAbnormal: true,
data: "收缩压从120升至145mmHg舒张压从70升至97mmHg平均血压约132.5/83.5mmHg异常率50%心率平均80次/分。血压升高明显,需要重视。",
suggestion: "请尽快复测血压并咨询医生,同时注意低盐饮食、避免熬夜、减轻压力,并坚持每日监测。"
},
{
type: "bloodSugar",
emoji: "🩸",
title: "血糖",
hasAbnormal: false,
data: "空腹血糖5.4mmol/L处于正常范围餐前、餐后及睡前血糖暂无记录。",
suggestion: "继续保持均衡饮食,控制精制糖和甜食摄入,后续可完善餐后血糖记录。"
}
],
tips: [
"血压是本月的重点预警项:高压和低压均有明显上升,建议尽快就医复测,并在医生指导下规律监测。",
"结合久坐少动的工作特点每坐1小时就起身活动几分钟下班后安排30分钟快走或慢跑逐渐增加运动频率。",
"把均衡饮食落到实处:减少盐和油,多吃蔬菜水果,少吃腌制食品和外卖,帮助体重和血压一起改善。"
],
ending: "健康管理是一场长跑,不必追求完美,只要持续用心就好。下个月继续一起关注血压和运动,期待你更好的状态!"
} as IAiReport
}),
actions: {
openWeight() {