feat: 新增健康评分弹窗组件,提供详细财务分析及AI智能财务建议服务。

This commit is contained in:
2026-01-30 16:18:00 +08:00
parent dea24a1297
commit 9443ef39f3
2 changed files with 60 additions and 30 deletions

View File

@@ -342,8 +342,12 @@ export async function getFinancialAdvice(context: {
totalAssets: number;
totalLiabilities: number;
score: number;
todaySpend: number;
yesterdaySpend: number;
metrics: {
debtRatio: number;
survivalMonths: number;
budgetHealth: number;
};
tips: string[];
}): Promise<string> {
// Generate a simple hash of the context to detect data changes
const currentHash = JSON.stringify(context);
@@ -360,25 +364,25 @@ export async function getFinancialAdvice(context: {
// Construct a prompt for the AI
const prompt = `System: 你是全能的首席财务官 (CFO) 兼个人财富导师。
Context: 用户希望获得深度、犀利且具有前瞻性的财务洞察。不要说废话,直击痛点或爽点
Context: 用户希望获得深度、犀利且具有前瞻性的财务洞察。基于用户的健康分数据和系统预生成的 Tips给予综合评价
User Financial Data:
- 综合评分: ${context.score} (S级标准: 90+, 警戒线: 60)
- 综合评分: ${context.score}
- 财务结构: 负债率 ${(context.metrics.debtRatio * 100).toFixed(1)}%, 生存期 ${context.metrics.survivalMonths.toFixed(1)} 个月
- 净资产: ¥${(context.totalAssets - context.totalLiabilities).toFixed(2)}
- 资产/负债: ¥${context.totalAssets.toFixed(2)} / ¥${context.totalLiabilities.toFixed(2)}
- 负债杠杆: ${context.totalAssets > 0 ? ((context.totalLiabilities / context.totalAssets) * 100).toFixed(1) : 0}%
- 短期收支: 今日支出 ¥${context.todaySpend.toFixed(2)} (对比昨日: ¥${context.yesterdaySpend.toFixed(2)})
- 预算状态: ${context.metrics.budgetHealth > 0 ? '有结余 (优秀)' : context.metrics.budgetHealth < 0 ? '超支 (警告)' : '正常'}
- 系统 Tips: ${context.tips.join('; ')}
Instruction:
请根据上述数据,运用"第一性原理"分析用户的核心财务健康度
1. 如果负债率过高(>30%),给出一条关于"债务雪崩法"或"债务雪球法"的具体行动建议
2. 如果资产健康但支出波动大,提示"拿铁因子"风险
3. 如果状态完美,建议关注"被动收入"或"抗通胀"配置
请根据上述数据,生成一段简短有力的财务点评
1. 甚至可以引用系统 Tips 中的关键数据来加强说服力
2. 如果生存期 < 3个月必须强调建立应急储备的重要性
3. 语气要像个严厉但负责任的导师
Output Requirements:
- 限制字数: 120字以内。
- 限制字数: 100字以内。
- 风格: 睿智、冷静、一针见血。
- 格式: 纯文本,适当使用Emoji (💡, 🚀, 🛡️) 作为视觉锚点`;
- 格式: 纯文本,不要 markdown 标题`;
try {
// 2. Request from AI