一、概念

  1. 路由就是URL到函数的映射;对于客户端来说,就是把URL映射到响应的类或者controller。<br /> 如何能把URL映射到我们已经开发的类或者controller中呢,这就需要我们首先要为其添加一个配置表,该配置表定义了URL的规则和映射的目标。

二、路由能解决哪些问题

1、 降低App页面之间的耦合性。随着项目越来越负责,各个组件和页面之间的跳转也变得越来越复杂,他们之间的跳转逻辑也变的越来越紧密,这就造成了各个模块的相互依赖越来越紧密
2、 统一各个端(iOS、Android、Web)之间实现跳转页面的统一性
3、 可以通过动态下发配置表来配置App的跳转逻辑。这样iOS和Android两边只要共用一套配置文件,通过下发修改后配置表也能实现动态的改变映射目标。

三、资源的定义

  1. AndroidiOS系统中,均支持URL Scheme,通过app内协定的Scheme,进行唤醒app和参数的传递。例如QQmqq://)、支付宝(alipay://)等。

四、实现的流程

1、路由的流程实现,如下图所示,我们确定路由需要做哪些事
1.1 A模块调用路由,为表达自己需要调用的是B模块,考虑到H5、推送以及其他App 的外部调用,可以使用URL这种方式来定义目标,也就是说用URL来表示目标B
1.2对一个URL的请求来说,路由需要有统一的回调处理,当然,如果不需要回调也是可以的,回调是需要目标去触发的
1.3路由要有处理URL的功能,并调用其他模块的能力