ops-console v1.0.2 (versionCode 8) 源码入库
This commit is contained in:
33
lib/providers/devices_provider.dart
Normal file
33
lib/providers/devices_provider.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../models/alert.dart';
|
||||
import '../models/device.dart';
|
||||
import '../services/device_service.dart';
|
||||
|
||||
/// DeviceService 提供者。
|
||||
final deviceServiceProvider =
|
||||
Provider<DeviceService>((ref) => DeviceService());
|
||||
|
||||
/// 设备列表提供者(下拉刷新时调用 [ProviderRef.refresh] 即可)。
|
||||
final devicesProvider = FutureProvider<List<Device>>((ref) {
|
||||
return ref.watch(deviceServiceProvider).fetchDevices();
|
||||
});
|
||||
|
||||
/// 按门店筛选的设备列表提供者(参数为门店 orgId,null 表示全部门店)。
|
||||
final devicesByStoreProvider =
|
||||
FutureProvider.family<List<Device>, String?>((ref, storeOrgId) {
|
||||
return ref
|
||||
.watch(deviceServiceProvider)
|
||||
.fetchDevices(storeOrgId: storeOrgId);
|
||||
});
|
||||
|
||||
/// 设备详情提供者(按设备 ID 参数化)。
|
||||
final deviceDetailProvider =
|
||||
FutureProvider.family<Device, String>((ref, deviceId) {
|
||||
return ref.watch(deviceServiceProvider).fetchDeviceById(deviceId);
|
||||
});
|
||||
|
||||
/// 告警列表提供者。
|
||||
final alertsProvider = FutureProvider<List<Alert>>((ref) {
|
||||
return ref.watch(deviceServiceProvider).fetchAlerts();
|
||||
});
|
||||
Reference in New Issue
Block a user