iOS路由跳转(二)之需求分析
iOS路由跳转(二)之需求分析,我们了解了URL的组成,以及我们想通过URL的各个部分来实现路由跳转的功能,接下来我们就分析下我们要达到的目标。
能够在推送时跳转到任意页面
??我们都知道有时候我们为了发布某些通知给到用户,用户点开通知,当让最希望看到的就是通知所说的页面,但是通知携带信息有限,所以为相关的module起一个名字moduleID就能满足H5,iOS,android根据moduleID跳转到指定的页面。
能够在活动页面唤醒我们的app
??产品经理常常会给我们开发者提出要求:用户用手机打开活动的网页,点击参加活动,如果安装了相关app就可以参加活动,如果没有安装app那么就跳转到相对应的app下载页面。为了满足这个需求,要求我们的app支持自定义URL跳转到指定的页面
能够在满足本地H5页面与Native页面之间的相互跳转
??要实现 H5模块能够通过自定义URL跳转到Native的相关页面,并可以携带参数,同时Native通过自定义URL跳转到Native指定的页面,而且也可以携带参数。
能够在跳转的时候携带参数
?? 能够在push/pop时携带参数,并赋值给要跳转的页面
支持特殊形式的跳转
?? 在我们的app中不仅有,正常的push,还有present,或者是带有动画形式的跳转操作,要求我们的框架在未来是可以扩展的,可以满足特殊跳转的扩展。
能够返回指定的页面
?? 在已打开的页面中,可以根据ModuleID返回指定的页面。
支持根据权限来跳转指定的页面
??在实际的开发过程中,我们常常遇到某些页面需要达到相应的权限才可以打开,比如是否登陆,是否绑定银行卡,是否是VIP会员等等,这些都需要我们在页面跳转的时候进行权限的判断,然后执行相应的跳转。
支持下发路由表改变跳转逻辑
??由于目前JSPatch被禁止,要求我们的路由跳转框架能够支持从后台下发路由表改变我们的跳转路径,快速的将我们的本地H5模块切换为web站点的H5模块,达到快速修复bug的能力。
能够防止通过URL对app进行攻击
?? 既然实现了URL跳转相关指定的页面,那么我们必须要有一定的安全措施,来防止不怀好意者,通过URL对我们的app进行攻击。