多级页面路由跳转方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29132396 阅读:17 留言:0更新日期:2021-07-02 22:27
本发明专利技术公开了一种多级页面路由跳转方法、装置、计算机设备及存储介质,应用在基于iOS的App上,所述方法包括中心管理路由类和模块管理路由类:当获取页面的跳转请求时,中心管理路由类根据预设URL格式从跳转请求中解析出模块路由管理类id;中心管理路由类以标识符为索引条件,从预设路由表中检索到处理跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至目标模块路由管理类;目标模块路由管理类根据上下文参数实例化,并根据预设的配置文件查找与跳转请求对应的配置项;App调用与配置项对应的处理函数执行跳转请求。本发明专利技术的技术方案使得页面跳转能够实现完全互通,各代码模块耦合度低,并可面向切面处理公共逻辑。

【技术实现步骤摘要】
多级页面路由跳转方法、装置、计算机设备及存储介质
本专利技术涉及信息处理领域,尤其涉及一种多级页面路由跳转方法、装置、计算机设备及存储介质。
技术介绍
随着现在移动App的功能越来越强大,组件化是当前App开发中的一个热门话题。对于模块间解耦、模块重用、提高团队协作开发效率,以及方便单元测试等问题,开发者不得不在面对不同实际需求时去权衡和取舍。目前,基于iOS系统的App上所实现的页面路由管理通常为MGJRouter(一个开源的iOSURL路由器)、CTMediator(一个开源的iOS组件化方案)等等方案,但是这些方案主要存在以下几个不足:1)路由管理非常中心化,严重依赖中心路由分发器,无法按功能模块划分,无法做职责分层;2)当需要接入一种新的路由,需要修改中心路由管理器,工作量大且受影响的代码广;3)无法面向切面编程,例如处理一些公共逻辑,例如登录,安全验证、统计等;4)MGJRouter方案需要集中在路由管理里面做硬编码注册,导致代码耦合度很高。
技术实现思路
本专利技术实施例提供一种多级页面路由跳转方法、系统、计算机设备及存储介质,以解决上述现有技术中的不足,使得App页面跳转能够实现完全互通,各代码模块耦合度低,并可面向切面处理公共逻辑。一种多级页面路由跳转方法,应用在基于iOS的App上,其特征在于,所述多级页面路由跳转方法包括中心管理路由类和模块管理路由类,并包括步骤:当获取页面的跳转请求时,所述中心管理路由类根据预设的统一资源定位地址格式从所述跳转请求中解析出所述模块路由管理类的标识符;所述中心管理路由类以所述标识符为索引条件,从预设路由表中检索到处理所述跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至所述目标模块路由管理类;所述目标模块路由管理类根据所述上下文参数实例化,并根据预设的配置文件查找与所述跳转请求对应的配置项;所述App调用与所述配置项对应的处理函数执行所述跳转请求。一种多级页面路由跳转装置,应用在基于iOS的App上,其特征在于,所述多级页面路由跳转装置包括中心管理路由类和模块管理路由类,并包括:URL解析模块,用于当获取页面的跳转请求时,所述中心管理路由类根据预设的统一资源定位地址格式从所述跳转请求中解析出所述模块路由管理类的标识符;索引模块,用于所述中心管理路由类以所述标识符为索引条件,从预设路由表中检索到处理所述跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至所述目标模块路由管理类;跳转模块,用于所述目标模块路由管理类根据所述上下文参数实例化,并根据预设的配置文件查找与所述跳转请求对应的配置项;执行模块,用于所述App调用与所述配置项对应的处理函数执行所述跳转请求。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多级页面路由跳转方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多级页面路由跳转方法的步骤。上述多级页面路由跳转方法、装置、计算机设备及存储介质,构建了两个类分别为中心管理路由类和模块管理路由类,其中,中心管理路由类用于对外统一处理所有页面跳转请求,并将解析的内容传递给模块管理路由类,即,中心管理路由类不直接处理跳转请求,只负责将跳转请求统一分发至模块管理路由类;模块管理路由类则根据跳转请求和具体页面之间的映射关系,负责加载对应的配置文件,将最终的处理函数与跳转请求对应,从而完成页面之间的跳转。整个基于URL(统一资源定位)的多级页面路由跳转过程,借助于两个类的两级/层分发模式,实现了去中心化,代码耦合度非常低;并且,便于扩展新的页面路由和处理公共逻辑,提高团队协作开发效率。与现有技术相比,本技术方案具有如下特点:1)App页面跳转能够完全互通,对于服务器返回的URL或者客户端直接调用的URL,均能够动态打开任何App页面,实现App的内容的动态化;2)不需要硬编码注册页面跳转处理(target-action)动作,解决了传统方案中接入新路由成本高、各模块代码耦合度高、内存占用高的问题;3)解决传统方案无法面向切面处理一些公共逻辑(例如登录、安全验证、埋点统计等)的问题,具有高可扩展性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中多级页面路由跳转方法的流程图;图2是本专利技术另一实施例中多级页面路由跳转方法的流程图;图3是本专利技术一实施例中多级页面路由跳转方法的UML类图;图4是本专利技术一实施例中多级页面路由跳转的模块依赖图;图5是本专利技术一实施例中多级页面路由跳转装置的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供的多级页面路由跳转方法,应用在基于iOS的App上,在一实施例中,如图1所示,提供了一种多级页面路由跳转方法,包括中心管理路由类和模块管理路由类,具体地,中心管理路由类设为HLUrlDispatch,且为单例类;模块管理路由类设为HLModuleUrlDispatch,且为抽象类,并包括如下步骤:S1:当获取页面的跳转请求时,中心管理路由类根据预设的统一资源定位地址格式从跳转请求中解析出模块路由管理类的标识符。统一资源定位地址格式即UniformResourceLocator,URL,用于对应页面的跳转请求。具体地,可为每一个需要能够动态打开的页面配置一个自定义URL,其格式举例如下:hbgj://start?type=***&subtype=***param1=***&param2=***&auth=true&ppv=1;其中,各参数的定义如下表:可见,URL可以根据实际需要自行定义,并一其中某一字段对应模块路由管理类的标识符(即id)。S2:中心管理路由类以标识符为索引条件,从预设路由表中检索到处理跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至目标模块路由管理类。目标模块路由管理类,即与跳转请求对应的模块路由管理类。预设路由表为事先定义的文本文件,其用于映射标识符和模块路由管理类。具体地,HLUrlDispatch以自定义URL中的type作为key(键),从路由表中找到与key对应的HLModuleUrlDisp本文档来自技高网...

【技术保护点】
1.一种多级页面路由跳转方法,应用在基于iOS的App上,其特征在于,所述多级页面路由跳转方法包括中心管理路由类和模块管理路由类,并包括步骤:/n当获取页面的跳转请求时,所述中心管理路由类根据预设的统一资源定位地址格式从所述跳转请求中解析出所述模块路由管理类的标识符;/n所述中心管理路由类以所述标识符为索引条件,从预设路由表中检索到处理所述跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至所述目标模块路由管理类;/n所述目标模块路由管理类根据所述上下文参数实例化,并根据预设的配置文件查找与所述跳转请求对应的配置项;/n所述App调用与所述配置项对应的处理函数执行所述跳转请求。/n

【技术特征摘要】
1.一种多级页面路由跳转方法,应用在基于iOS的App上,其特征在于,所述多级页面路由跳转方法包括中心管理路由类和模块管理路由类,并包括步骤:
当获取页面的跳转请求时,所述中心管理路由类根据预设的统一资源定位地址格式从所述跳转请求中解析出所述模块路由管理类的标识符;
所述中心管理路由类以所述标识符为索引条件,从预设路由表中检索到处理所述跳转请求的目标模块路由管理类,并将解析后所得上下文参数传递至所述目标模块路由管理类;
所述目标模块路由管理类根据所述上下文参数实例化,并根据预设的配置文件查找与所述跳转请求对应的配置项;
所述App调用与所述配置项对应的处理函数执行所述跳转请求。


2.如权利要求1所述的多级页面路由跳转方法,其特征在于,所述中心管理路由类中还包括统一入口函数,所述多级页面路由跳转方法,还包括:
当获取包括所述跳转请求在内的所有页面处理请求时,所述统一入口函数根据所述预设的统一资源定位地址格式从所述页面处理请求中解析预设字段;
若所述预设字段的值与预设值相等,则在处理所述跳转请求之前先执行预设处理逻辑。


3.如权利要求1所述的多级页面路由跳转方法,其特征在于,所述所述多级页面路由跳转方法,还包括:
当新增路由处理路径时,在所述配置文件中新增与所述路由处理路径对应的配置项,并在所述模块管理路由类中新增与所述路由处理路径对应的处理函数。


4.如权利要求1至3任一项所述的多级页面路由跳转方法,其特征在于,所述中心管理路由类为单例类,所述模块管理路由类为抽象类。


5.如权利要求1至3任一项所述的多级页面路由跳转方法,其特征在于,所述配置文件为键值对文件。


6.一种多级页面路由跳转装置,应用在基于iOS的App上,其特征在于,所述多级页面路由跳转装置包括中心...

【专利技术属性】
技术研发人员:陈林茂
申请(专利权)人:深圳市活力天汇科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1