LFRouter
描述
区块链化的路由组件,支持 URL 路由到指定界面。
- 可以使用 path 传参,使用【:变量名】来捕获参数。例如:http://app.pvp.run/:userId/profile (参数捕获方式参考了 HHRouter)。
- 可以使用 query 传参。例如:http://app.pvp.run/:userId/profile?sort=1。
- 可以使用 app 原生来传参,参考 Demo 中的
[Router open:RouterPush params:@{@"name":@"AAA"}];
- 当三种传参方式重名时,优先使用的参数为 path > query > app
- 对应的 Controller,需要外部传入参数时,需要声明 LFRouterParamsRequired 或者 LFRouterParamsOption,如果声明为 Required,则框架会自动检查该参数是否存在。不存在则有错误回调,或控制台打印警告。如果没有声明这个属性是参数,则框架不会自动填充。
- 所有路由模块的跳转逻辑由对应的 block 处理,可以自定义跳转逻辑。参考 demo。
想法未实现
- 插件系统,比如自定义一个登录插件。当路由框架启动该插件之后,插件会过滤出需要登录的路径,当对这些路径进行跳转时,如果未登录会打开登录页。或者密码隐私全局保护等。
- 路由优先级和生命周期管理
示例
要运行示例项目,请先复制仓库,然后在 Example 目录中运行 pod install
需求
安装
CocoaPods
LFRouter可以通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中:
pod 'LFRouter' , :git =>'https://github.com/v39lfy/LFRouter.git'
Carthage
github "v39lfy/LFRouter"
作者
lify, [email protected]
许可证
LFRouter许可协议为MIT。有关更多信息,请参阅LICENSE文件。