从分享的网页跳转到app对应页面是一种非常常见的需求,这个时候采用schema跳转,是一种非常方便的方式。
在微信平台,安卓和iOS的schema跳转默认会被屏蔽,上传到腾讯应用宝可以解决一些问题。在iOS9以上系统支持通用链接(Universal Link)技术可以突破封锁,无缝衔接APP源生页面,这时用wap站网址解析出各类参数和页面类型都是可以的,当然,如果采用schema作为参数不失为一个更方便的写法。
schema可以带路径和参数,一般都是这样的:xxxapp://activuty?title=标题code=344,通过对其解析可以获取需要跳转的页面名及参数。在需要跳转的页面较少的情况下可以针对每个页面名参数做对应的处理,但是一旦当页面增多就会导致代码臃肿,拓展性降低。于是针对这种业务需求,我封装了一个页面处理路由。
XTRouter就是用来处理多类型多参数的schema跳转目标获取的工具。该工具通过配置文件,获取不同路径对应的控制器名字,根据默认数据,参数映射为控制器赋值。在获取到控制器之后便可以进行各种跳转操作。
GitHub: https://github.com/dingpuyu/XTRouter