utils/stormy_utils library
Classes
- AppLifecycleManager
- App 生命周期管理器 - 单例模式
- AppLifecycleStateListener
- App 生命周期状态监听器
- AppUtils
- DependencyGraph
- 依赖分析器 — 封装拓扑排序和循环依赖检测
- FuncUtils
- 函数工具类
-
ImageResult<
T> - 统一的图片操作结果包装器
- ImageSize
- 图片尺寸信息
- ImageUtils
- 图片处理器
- LevelLogFilter
- 日志等级过滤器
-
ListenedListSelectInherited<
T> - 监听 controller 状态变化的 InheritedWidget
-
ListSelectController<
T> - 选择控制器(供父组件使用)
-
ListSelectInherited<
T> - InheritedWidget 封装
-
ListSelectScope<
T> - 父容器组件
-
ListSelectState<
T> - 选择状态管理器
- LogFilter
- 日志过滤器接口
- LogSettings
- 日志配置类
- PermissionUtils
- PermissonTips
- PrefixLogFilter
- 日志前缀过滤器
- PreloadConfig
- 预加载全局配置
- PreloadEngine
- 预加载执行引擎 — 封装任务验证、依赖解析、执行、重试逻辑
- PreloadExecutionResult
- 预加载执行结果
- PreloadManager
- 预加载管理器 — Facade 模式,负责任务注册、状态流转、对外 API
- PreloadProgress
- 预加载进度信息
- PreloadSemaphore
- 并发控制信号量 — 实现真正的并发数限制 修复原设计中 maxConcurrentTasks 定义但从未生效的问题
-
PreloadTask<
T> - 预加载任务 — 通用任务模型
- PreloadTracker
- 进度追踪器 — 监听任务状态变更,计算并推送进度更新
- StormyLog
- 日志工具类
- TaskConfig
- TaskExecutionContext
- 任务执行上下文 — 管理单个任务的执行状态 替代原 PreloadTask 的可变内部状态
- TypeLogFilter
- 日志类型过滤器
- UuidUtils
Enums
- AppLifecycleStatus
- ==================== App 生命周期事件 ==================== App 生命周期状态
- PreloadManagerState
- 预加载管理器整体状态
- PreloadResult
- 预加载结果
- PreloadTaskState
- 预加载状态枚举
- RetryDelayStrategy
- 重试延迟策略
- ThumbnailFormat
- 缩略图输出格式
Extensions
- BoolNullSafety on bool?
- bool空安全扩展
- DoubleNullSafety on double?
- double空安全扩展
- IntNullSafety on int?
- int空安全扩展
- ListNullSafety on List?
- List空安全扩展
- ListSelectContextExtension on BuildContext
- 便捷扩展
- PollUntilExt on Future?
- StringNullSafety on String?
- String空安全扩展
Constants
-
defaultLinearDelays
→ const List<
Duration> - 预定义延迟数组,用于 RetryDelayStrategy.linear
Functions
-
isChineseName(
String value) → bool -
isEmail(
String value) → bool -
isIDCard(
String idCard) → bool -
isNumber(
String value) → bool -
isPhoneNumber(
String phoneNumber) → bool -
recursiveCall<
T> ({required Future< T> fn(), required bool condition(T), int maxRetry = 3, Duration retryDelay = const Duration(seconds: 1), Duration timeout = const Duration(seconds: 10), RetryDelayStrategy delayStrategy = RetryDelayStrategy.fixed, double delayFactor = 0.5, List<Duration> linearDelays = defaultLinearDelays}) → Future<T> -
执行工厂函数
fn,重复创建新实例直到condition满足fn返回 Future 的工厂函数,每次重试都会重新调用condition满足条件,返回 true 时结束重试maxRetry最大重试次数retryDelay重试延迟(用于 RetryDelayStrategy.fixed 和 RetryDelayStrategy.exponential 的初始值)timeout超时时间delayStrategy延迟策略,默认为 RetryDelayStrategy.fixeddelayFactor指数衰减的倍率因子(仅 RetryDelayStrategy.decay 生效),默认 0.5(每次减半)linearDelays线性递增策略使用的延迟数组(仅 RetryDelayStrategy.linear 生效) 返回满足condition的结果
Exceptions / Errors
- CircularDependencyException
- 循环依赖异常
- PreloadConfigException
- 配置异常
- PreloadException
- 预加载相关异常
- PreloadTaskFailedException
- 任务失败异常
- PreloadTimeoutException
- 任务超时异常