// invite_provider.dart — 邀请信息状态装配:复用 apiClientProvider,未登录不打网络。 import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../services/invite_api.dart'; import 'account_providers.dart'; import 'auth_provider.dart'; final inviteApiProvider = Provider((ref) => InviteApi(ref.watch(apiClientProvider))); class InviteNotifier extends AsyncNotifier { @override Future build() async { // 未登录返回 null(不打网络);已登录拉取。 final token = ref.watch(authProvider).accessToken; if (token == null || token.isEmpty) return null; return ref.read(inviteApiProvider).fetch(); } Future refresh() async { state = const AsyncLoading(); state = await AsyncValue.guard(() => ref.read(inviteApiProvider).fetch()); } } final inviteProvider = AsyncNotifierProvider(InviteNotifier.new);