AI 接入 V1.0

UI更新
This commit is contained in:
2026-09-24 14:24:34 +08:00
parent 34bc2e04b0
commit 9a144f159f
65 changed files with 1195 additions and 196 deletions
+2 -1
View File
@@ -4,6 +4,7 @@ import '../../../models/bill.dart';
import '../../../utils/amount_util.dart';
import '../../../utils/bill_grouping.dart';
import '../../../utils/date_util.dart';
import '../../../widgets/cute_icon.dart';
/// 单日分组卡:组头(日期 + 分开的支出/收入小计)+ 账单条目
class BillGroupCard extends StatelessWidget {
@@ -91,7 +92,7 @@ class _BillTile extends StatelessWidget {
color: Color(0xFFFBEEDD),
),
alignment: Alignment.center,
child: Text(bill.categoryIcon, style: const TextStyle(fontSize: 19)),
child: CuteIcon(bill.categoryIcon, size: 21),
),
const SizedBox(width: 12),
Expanded(
+5 -2
View File
@@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../../models/budget.dart';
import '../../../utils/amount_util.dart';
import '../../../widgets/cute_icon.dart';
import '../../../widgets/donut_chart.dart';
import '../../../widgets/state_views.dart';
@@ -30,7 +31,7 @@ class BudgetCard extends StatelessWidget {
Widget _noBudget() {
return const EmptyView(
icon: '🎯',
icon: 'target',
title: '本月未设置预算',
tip: '可在「我的 → 预算设置」中设置',
padding: EdgeInsets.symmetric(vertical: 20),
@@ -110,7 +111,9 @@ class BudgetCard extends StatelessWidget {
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text('💰 日均可用 ', style: TextStyle(fontSize: 13, color: Color(0xFF6D4C41))),
const CuteIcon('target', size: 15),
const SizedBox(width: 5),
const Text('日均可用 ', style: TextStyle(fontSize: 13, color: Color(0xFF6D4C41))),
Text(
'¥${formatAmount(info.remainingDaily)}',
style: const TextStyle(
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import '../../../models/statistics_response.dart';
import '../../../utils/amount_util.dart';
import '../../../widgets/cute_icon.dart';
/// 分类排行:emoji + 名称 + 进度条 + 金额 + 占比
class CategoryRankList extends StatelessWidget {
@@ -50,7 +51,7 @@ class CategoryRankList extends StatelessWidget {
children: [
Row(
children: [
Text(item.categoryIcon, style: const TextStyle(fontSize: 16)),
CuteIcon(item.categoryIcon, size: 18),
const SizedBox(width: 8),
Expanded(
child: Text(