first commit

This commit is contained in:
2026-09-21 17:37:53 +08:00
commit 67d4dd5b7c
141 changed files with 8558 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../api/budget_api.dart';
import '../models/budget.dart';
/// 当月预算(后端只提供当月数据)。
///
/// 做成 AsyncNotifier 而不是 FutureProvider,是为了能直接调用
/// [BudgetNotifier.setMonthBudget] 修改预算并拿到后端返回的最新值。
class BudgetNotifier extends AsyncNotifier<BudgetInfo> {
@override
Future<BudgetInfo> build() => ref.watch(budgetApiProvider).getBudget();
/// 设置/修改当月预算(立即生效,可随时修改)
Future<void> setMonthBudget(double amount) async {
final updated = await ref.read(budgetApiProvider).setCurrentBudget(amount);
state = AsyncData(updated);
}
}
final budgetProvider = AsyncNotifierProvider<BudgetNotifier, BudgetInfo>(BudgetNotifier.new);