router_pro 0.2.0
router_pro: ^0.2.0 copied to clipboard
Enhanced Flutter router with lifecycle awareness, launch modes, route guards, and more.
0.2.0 #
🎉 新增功能 #
- 路由启动模式: 支持三种启动模式(Standard、SingleTop、SingleInstance),类似Android Activity启动模式
- 路由导航守卫: 支持路由拦截,可用于权限验证、登录检查等场景
- 命名路由值回传: 支持通过命名路由跳转并接收返回值
- 404错误页面: 支持自定义未找到路由的错误页面
- 生命周期可见性阈值: LifeCycle组件支持自定义可见比例阈值(visibilityThreshold)
- 生命周期调试模式: LifeCycle组件支持调试标签(debugLabel),输出详细日志
- VisibilityInfo便捷属性: 新增
isVisible、isInvisible、isFullyVisible、isPartiallyVisible属性 - 完善文档: 新增完整的使用示例和场景说明,包括可见性检测示例
🔧 改进 #
- 优化路由栈管理逻辑
- 增强
push()和pushNamed()方法,支持launchMode参数 - 改进路由跳转前的守卫检查机制
- 优化 LifeCycle 组件的可见性检测逻辑
- 改进生命周期回调的触发时机
- 优化 VisibilityDetector 代码,移除冗余的 null 检查
- 改进 VisibilityInfo 的 toString 方法,显示更多信息
- 添加 hashCode 和 == 操作符实现
📝 API 变更 #
RouterProxy:
RouterProxy.getInstance()新增notFoundPage参数push()方法新增launchMode参数pushNamed()方法新增launchMode参数- 新增
addRouteGuard()方法 - 新增
removeRouteGuard()方法 - 新增
clearRouteGuards()方法
新增类:
EnhancedParser- 增强的路由解析器RoutePattern- 路由模式匹配类RouteParams- 路由参数辅助类
LifeCycle:
- 新增
visibilityThreshold参数(默认1.0) - 新增
debugLabel参数 - 改进可见性检测逻辑,支持自定义阈值
VisibilityInfo:
- 新增
isVisiblegetter - 新增
isInvisiblegetter - 新增
isFullyVisiblegetter - 新增
isPartiallyVisiblegetter - 改进
toString()方法 - 新增
hashCode和==操作符
⚠️ 破坏性变更 #
无。此版本完全向后兼容 0.1.x 版本。
0.0.1 #
initial release.