页面跳转方法、装置、电子设备和存储介质与流程

文档序号:18642075发布日期:2019-09-11 23:33阅读:236来源:国知局
页面跳转方法、装置、电子设备和存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种页面跳转方法、装置、电子设备和存储介质。



背景技术:

移动应用开发技术的发展为终端用户提供日益丰富的第三方应用程序(application,简称app),几乎每个智能终端的系统平台中都安装有多个app,通过app访问互联网已成为当下最普遍的上网方式。为了使用户的app体验更友好,终端系统内部涉及大量页面跳转场景,如app内部的跳转、不同app间的跳转等。

移动应用的页面跳转功能通常基于页面跳转文件来实现。具体来说,针对每一个允许跳转的页面,可以在本地配置一个对应的页面跳转文件,文件包括实现特定页面跳转的特定代码和页面描述信息等;app则可以响应于用户点击,读取本地配置的页面跳转文件,并执行文件中的特定代码以跳转到相应的页面。

可见,基于页面跳转文件来实现页面跳转功能,当需要实现跳转功能的页面较多或场景较为复杂时,需要预先在app中配置大量的页面跳转文件,而大量的页面跳转文件之间则可能会存在各种关联,这使得app内部代码耦合严重,不便于新增页面跳转或修改跳转方式,因此很难实现任意页面、任意场景的灵活跳转。



技术实现要素:

本申请提供一种页面跳转方法、装置、电子设备和存储介质,以解决现有app内部代码耦合严重,不便于新增页面跳转或修改跳转方式,因此很难实现任意页面、任意场景的灵活跳转的问题。

第一方面,本申请提供了一种页面跳转方法,该方法包括:

应用程序启动时,获取跳转规则更新参数;

根据所述跳转规则更新参数对本地跳转规则进行更新;

使用更新后的本地跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,所述跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成;

根据所述路由跳转信息获取目标页面数据,以跳转到目标页面。

进一步的,所述根据跳转规则更新参数对本地跳转规则进行更新,包括:

使用跳转规则更新参数中每个key对应的value值替换本地跳转规则相同key对应的value值。

进一步的,所述方法还包括:

所述应用程序启动时,获取当前页面数据,所述当前页面数据包括至少一个页面跳转控件,所述页面跳转控件的数据中包括url链接,所述url链接由当前页面服务器根据包含所述跳转规则更新参数的跳转规则生成。

进一步的,所述获取当前页面数据后,所述方法还包括:

响应于用户对当前页面中页面跳转控件的点击操作,生成跳转指令。

进一步的,所述应用程序启动前,所述方法还包括:

接收应用程序通知消息或外部消息,所述外部消息中包括页面跳转控件;

响应于用户对所述应用程序通知消息或所述外部消息中页面跳转控件的点击操作,生成跳转指令,并启动所述应用程序。

进一步的,所述使用更新后的本地跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,包括:

使用更新后的本地跳转规则,从所述url链接中拆分出用于指向目标应用程序的字符串、用于指向目标应用程序中目标应用模块的字符串、用于指向所述目标应用模块中目标页面的字符串和包含所述目标页面待载入参数的字符串。

进一步的,所述根据路由跳转信息获取目标页面数据,包括:

向目标页面服务器或当前页面服务器请求包含所述待载入参数的目标页面数据,接收目标页面服务器或当前页面服务器返回的所述目标页面数据。

进一步的,所述接收目标页面服务器返回的所述目标页面数据之前,所述方法还包括:

接收目标页面服务器根据预设拦截策略下发的预设页面数据;

如果所述预设页面设置有输入项,则在所述输入项中输入信息并提交。

进一步的,所述跳转到目标页面之后,所述方法还包括:

检测目标页面的参数变化,获得变化后参数;

如果所述变化后参数符合预设回传条件,则将所述变化后参数回传到上一页。

第二方面,本申请提供一种页面跳转装置,该装置包括:

获取单元,用于应用程序启动时,获取跳转规则更新参数;

规则更新单元,用于根据所述跳转规则更新参数对本地跳转规则进行更新;

解析单元,用于使用更新后的本地跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,所述跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成;

跳转单元,用于根据所述路由跳转信息获取目标页面数据,以跳转到目标页面。

进一步的,所述规则更新单元具体用于:

使用跳转规则更新参数中每个key对应的value值替换本地跳转规则相同key对应的value值。

进一步的,所述获取单元还用于:

所述应用程序启动时,获取当前页面数据,所述当前页面数据包括至少一个页面跳转控件,所述页面跳转控件的数据中包括url链接,所述url链接由当前页面服务器根据包含所述跳转规则更新参数的跳转规则生成。

进一步的,所述装置还包括:

指令生成单元,用于响应于用户对当前页面中页面跳转控件的点击操作,生成跳转指令。

进一步的,所述装置还包括:

信息接收单元,用于接收应用程序通知消息或外部消息,所述外部消息中包括页面跳转控件;

所述指令生成单元,还用于响应于用户对所述应用程序通知消息或所述外部消息中页面跳转控件的点击操作,生成跳转指令,并启动所述应用程序。

进一步的,所述解析单元具体用于:

使用更新后的本地跳转规则,从所述url链接中拆分出用于指向目标应用程序的字符串、用于指向目标应用程序中目标应用模块的字符串、用于指向所述目标应用模块中目标页面的字符串和包含所述目标页面待载入参数的字符串。

进一步的,所述跳转单元具体用于:

向目标页面服务器或当前页面服务器请求包含所述待载入参数的目标页面数据,接收目标页面服务器或当前页面服务器返回的所述目标页面数据。

进一步的,所述跳转单元还用于:

接收目标页面服务器根据预设拦截策略下发的预设页面数据;

如果所述预设页面设置有输入项,则在所述输入项中输入信息并提交。

进一步的,所述装置还包括:

检测单元,用于检测目标页面的参数变化,获得变化后参数;

回传单元,用于如果所述变化后参数符合预设回传条件,则将所述变化后参数回传到上一页。

第三方面,本申请提供一种电子设备,包括:

存储器,用于存储程序指令;

处理器,用于调用并执行所述存储器中的程序指令,以实现本申请第一方面所述的页面跳转方法。

第四方面,本申请提供一种存储介质,所述存储介质中存储有计算机程序,当页面跳转装置的至少一个处理器执行所述计算机程序时,页面跳转装置执行本申请第一方面所述的页面跳转方法。

由以上技术方案可知,本申请实施例提供一种页面跳转方法、装置、电子设备及存储介质,在应用程序启动时,获取跳转规则更新参数,根据跳转规则更新参数对本地跳转规则进行更新,使用更新后的跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,其中,跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成,最后根据路由跳转信息获取目标页面数据,以跳转到目标页面,从而可以通过在服务端修改跳转规则更新参数实现对本地跳转规则的自动修改,无需在应用程序本地配置大量页面跳转文件,进而降低应用程序内部代码耦合,并且无需通过修改页面跳转文件中的代码来新增页面跳转或修改跳转方式。本申请提供的页面跳转方法方法、装置、电子设备及存储介质,在降低应用程序内部代码耦合的同时,可以实现任意页面、任意场景的灵活跳转。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请页面跳转方法的一个实施例流程图;

图2为本申请页面跳转方法的另一个实施例流程图;

图3为本申请页面跳转装置的一个实施例示意图;

图4为本申请页面跳转装置的另一个实施例示意图;

图5为本申请实施例提供的电子设备的硬件结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1为本申请页面跳转方法的一个实施例,该方法应用于客户端。如图1所示,该方法可以包括:

步骤110,应用程序启动时,获取跳转规则更新参数。

在客户端本地存储有跳转规则,用于为客户端应用程序的页面跳转提供一个路由规则。其中,客户端内的页面跳转场景繁多,例如一个应用程序内部的跳转、从一个应用程序跳转到webview,从webview、外部短信或通知消息跳转到一个应用程序等等。

跳转规则更新参数存储于服务端,用于对本地跳转规则进行修改和更新。应用程序每次启动时,客户端向当前页面服务器发送用于获取跳转规则更新参数第一请求,当前页面服务器根据第一请求返回最新的跳转规则更新参数给客户端,从而可以通过在服务端修改跳转规则更新参数实现对本地跳转规则的自动修改,无需在应用程序本地配置大量页面跳转文件,进而降低应用程序内部代码耦合,并且无需通过修改页面跳转文件中的代码来新增页面跳转或修改跳转方式。

其中,当前页面服务器即应用程序服务器。当然,对于一个从webview执行跳转的场景,当webview运行时,客户端便获取跳转规则更新参数。

需要说明的是,上述应用程序启动时,是指应用程序启动成功的同时或者在启动成功后的足够短时间内。

步骤120,根据所述跳转规则更新参数对本地跳转规则进行更新。

本地跳转规则包括若干key-value值,这些键值对相互嵌套进行形成复杂的路由跳转逻辑。

跳转规则更新参数中包括原有本地跳转规则中的至少部分key-value值,其中,本地跳转规则中某一key对应的value值与跳转规则更新参数中该key对应的value值可能不同。根据跳转规则更新参数对本地跳转规则进行更新,即,使用跳转规则更新参数中每个key对应的value值替换本地跳转规则中该key对应的value值。

此外,跳转规则更新参数中还可以包括原有本地跳转规则中不存在的key-value值。此时,需要将这些新的key-value值添加到本地跳转规则中以实现对本地跳转规则的更新。

步骤130,使用更新后的本地跳转规则,从跳转指令携带的url(uniformresourcelocator,统一资源定位符)链接中解析出路由跳转信息,所述跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成。

在一种场景中,应用程序用户页面上提供至少一个页面跳转控件,客户端响应于用户对页面中页面跳转控件的点击操作,生成携带有目标页面url链接的跳转指令。

例如,58同城app首页的“全职招聘”、“兼职”、“租房”,或者登录页的其他登陆方式“微信”、“qq”等,均为页面跳转控件。用户点击“全职招聘”,客户端响应用户点击生成一个跳转到“全职招聘”页面的跳转指令,属于app内部跳转,用户点击“微信”,客户端响应用户点击生成一个跳转到“微信”页面的跳转指令,属于app间的跳转。

在另一种场景中,客户端接收到应用程序通知消息或外部消息,外部消息文本内容中包括可点击的页面跳转控件,客户端响应于用户对应用程序通知消息或外部消息文本内容中页面跳转控件的点击操作,生成携带有目标页面url链接的跳转指令,并启动所述应用程序。

例如,客户端接收到58同城app推送的通知消息如“hi,有人在您的发布下留言。-点击查看-”,或者,客户端接收到外部短信如“【58同城】手慢无!仅需1元,优质二手好物拍回家,链接戳此”,用户点击通知消息或外部短信中的链接,客户端响应用户点击生成一个跳转到58同城app指定页面的跳转指令,并启动58同城app。

跳转指令中携带有目标页面的url链接,该url链接由当前页面服务器根据包含上述跳转规则更新参数的跳转规则生成。

作为一种可能的实现方式,客户端每次更新本地跳转规则后,将最新的跳转规则备份到应用程序服务器。

当应用程序启动时,客户端除了需要向服务器请求跳转规则更新参数以外,还需要向当前页面服务器发送用户获取当前页面数据的第二请求。当前页面服务器接收第二请求,根据跳转规则更新参数和所备份的跳转规则生成一个新的规则作为url链接规则,用于生成url链接,再生成包含url链接的页面跳转控件数据,最后将包含页面跳转控件数据的页面数据返回给客户端。

上述url链接规则用于规定url链接结构组成、组成各部分的字符串所代表的含义及定义用于区分各部分组成的标识符等等。使用url链接规则生成一个特定页面的url链接,与使用本地跳转规则从url链接中解析出路由跳转信息可以理解为两个可逆的过程。

作为一种可能的实现方式,使用更新的本地跳转规则,从url链接中解析出路由跳转信息,即,从url链接中拆分出用于指向目标页面地址的字符串,具体可以包括用于指向目标应用程序的字符串、用于指向目标应用程序中目标应用模块的字符串、用于指向所述目标应用模块中目标页面的字符串和包含所述目标页面待载入参数的字符串。

例如,在下述url链接中:

https://m.58.com/bj/shouji/36627248608268x.shtml?isself=1&707&utps=1381740504000

包括五个部分,依次为“https://m.58.com”/“bj”/“shouji”/“36627248608268x.shtml”?“isself=1&707&utps=1381740504000”,其中,“https://m.58.com”指向目标应用程序,“bj”和“shouji”指向目标应用程序中的目标应用模块,“bj”指向一级应用模块,“shouji”指向一级应用模块下二级应用模块,“36627248608268x.shtml”指向目标应用模块中的目标页面,“isself=1&707&utps=1381740504000”包含目标页面的待载入参数,各部分字符串之间的标识符诸如“/”和“?”则用于区分和间隔各部分组成。

步骤140,根据所述路由跳转信息获取目标页面数据,以跳转到目标页面。

作为一种可能的实现方式,根据路由跳转信息,可以确定目标应用程序是否为当前页面所属的应用程序,如果不是,则首先启动目标应用程序,然后向目标页面服务器发送用于获取包含待载入参数的目标页面数据的第三请求,目标页面服务器根据第三请求,返回目标页面数据,则目标应用程序加载目标页面完成,跳转到目标页面过程结束。如果目标应用程序是当前页面所属的应用程序,则客户端向当前页面服务器发送第三请求。

在本实现方式中,目标页面服务预设有针对跳转的拦截策略,以用于对跳转进行过滤和拦截。例如,将接收到的请求的内容与预设拦截策略进行匹配,若匹配,则返回目标页面数据,若不匹配,则丢弃该请求消息,或者,对访问目标页面服务器的客户端用户进行预处理,以使其与预设拦截策略相匹配。例如,判断接收到的请求内容中是否包含用户id和密码,如果不包括,则返回预设页面数据,可以为登录页面数据或者注册页面数据,也可以为错误信息提示页面。根据预设页面数据的具体内容,客户端显示的预设页面上可能设置有有输入项,例如用户名输入,则客户端将用户的输入信息提交给目标页面服务器。目标页面服务器可以根据客户端提交的信息再次判断其与预设拦截策略是否匹配,如果匹配,则返回目标页面数据。

另外,对于跳转成功后目标页面参数发生变化的情况,为了使用户对页面跳转功能的体验更加友好,需要将目标页面参数回传给上一页。具体的,在步骤150中,检测目标页面的参数变化,获得变化后参数;如果所述变化后参数符合预设回传条件,则将所述变化后参数回传到上一页。

预设回传条件可以是在应用程序开发阶段开发人员设计的用于判断是否需要进行参数回传的条件。例如在一些购物类应用程序中,从“商品详情”页点击控件“进入购物车”,将跳转到“购物车”页,如果用户在“购物车”页修改之前加购的商品类别,则可以将关于商品类别的参数变化回传给“商品详情”页,以便返回“商品详情”页时,显示修改后商品类别后的商品详情,进而提升用户体验。

由以上技术方案可知,本实施例提供的页面跳转方法,在应用程序启动时,获取跳转规则更新参数,根跳转规则更新参数对本地跳转规则进行更新,使用更新后的跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,其中,跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成,最后根据路由跳转信息获取目标页面数据,以跳转到目标页面,从而可以通过在服务端修改跳转规则更新参数实现对本地跳转规则的自动修改,无需在应用程序本地配置大量页面跳转文件,进而降低应用程序内部代码耦合,并且无需通过修改页面跳转文件中的代码来新增页面跳转或修改跳转方式。本申请提供的页面跳转方法,在降低应用程序内部代码耦合的同时,可以实现任意页面、任意场景的灵活跳转。

图2为本申请页面跳转方法的另一个实施例示意图,示出了本申请页面跳转方案客户端与服务端的交互过程。本申请中,客户端可以为手机、平板电脑等便携式终端,也可以pc。客户端安装有各类应用程序。

如图2所示,本申请页面跳转方法可以包括:

客户端启动应用程序时,生成用于获取跳转规则更新参数的第一请求并发送给当前页面服务器,以及,生成用于获取当前页面数据的第二请求并发送给当前页面服务器。当前页面服务器接收第一请求和第二请求,根据第一请求将预置的跳转规则更新参数返回给客户端,以及根据第二请求将当前页面数据返回给客户端。其中,当前页面数据包括至少一个页面跳转控件,页面跳转控件的数据中包括url链接,url链接由应用程序服务器根据包含所述跳转规则更新参数的跳转规则生成。

客户端根据接收到的跳转规则更新参数对本地跳转规则进行更新,并根据接收的当前页面数据显示当前页面。

客户端响应用户在当前页面的点击操作,生成携带有目标页面url链接的跳转指令;使用更新后的本地跳转规则从url链接中解析出路由跳转信息,生成用于获取目标页面数据的第三请求并发送给目标页面服务器。

目前页面服务器接收第三请求,判断第三请求是否符合预设预设拦截策略,若符合,则返回预设页面数据给客户端或者拦截该跳转,若不符合,则返回目标页面数据给客户端。

客户端如果接收到目标页面数据,则显示目标页面,如果接收到预设页面数据,则显示预设页面,且接收用户在预设页面输入项输入的信息,将输入信息发送给目标页面服务器。

目标页面服务器接收该输入信息并判断其是否符合预设拦截策略,如果符合,则拦截该跳转,如果不符合,则返回目标页面数据给客户端。

图3为本申请提供的页面跳转装置的一个实施例示意图。该装置可以应用于该装置可以应用于pc(个人电脑)、平板电脑、手机等多种设备。如图4所示,本实施例提供的页面跳转装置可以包括:

获取单元310,用于应用程序启动时,获取跳转规则更新参数。在另一些实施例中,获取单元310还用于所述应用程序启动时,获取当前页面数据,所述当前页面数据包括至少一个页面跳转控件,所述页面跳转控件的数据中包括url链接,所述url链接由当前页面服务器根据包含所述跳转规则更新参数的跳转规则生成。

规则更新单元320,用于根据所述跳转规则更新参数对本地跳转规则进行更新。规则更新单元320具体通过使用跳转规则更新参数中每个key对应的value值替换本地跳转规则相同key对应的value值,以更新本地跳转规则。

解析单元330,用于使用更新后的本地跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,所述跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成。具体的,解析单元330使用更新后的本地跳转规则,从所述url链接中拆分出用于指向目标应用程序的字符串、用于指向目标应用程序中目标应用模块的字符串、用于指向所述目标应用模块中目标页面的字符串和包含所述目标页面待载入参数的字符串。

跳转单元340,用于根据所述路由跳转信息获取目标页面数据,以跳转到目标页面。具体的,跳转单元340向目标页面服务器或当前页面服务器请求包含所述待载入参数的目标页面数据,接收目标页面服务器或当前页面服务器返回的所述目标页面数据。在另一些实施例中,跳转单元340还用于接收目标页面服务器根据预设拦截策略下发的预设页面数据;

如果所述预设页面设置有输入项,则在所述输入项中输入信息并提交。

图4为本申请提供的页面跳转装置的另一个实施例示意图,该装置可以应用于pc(个人电脑)、平板电脑、手机等多种设备。如图4所示,本申请页面跳转装置还可以包括:

信息接收单元410,用于接收应用程序通知消息或外部消息,所述外部消息中包括页面跳转控件。

指令生成单元420,用于响应于用户对当前页面中页面跳转控件的点击操作,生成跳转指令。还用于响应于用户对所述应用程序通知消息或所述外部消息中页面跳转控件的点击操作,生成跳转指令,并启动所述应用程序。

检测单元430,用于检测目标页面的参数变化,获得变化后参数。

回传单元440,用于如果所述变化后参数符合预设回传条件,则将所述变化后参数回传到上一页。

由以上技术方案可知,本申请实施例提供的页面跳转装置,在应用程序启动时,获取跳转规则更新参数,根据跳转规则更新参数对本地跳转规则进行更新,使用更新后的跳转规则,从跳转指令携带的url链接中解析出路由跳转信息,其中,跳转指令响应于用户在应用程序启动前或者启动后的点击操作生成,最后根据路由跳转信息获取目标页面数据,以跳转到目标页面,从而可以通过在服务端修改跳转规则更新参数实现对本地跳转规则的自动修改,无需在应用程序本地配置大量页面跳转文件,进而降低应用程序内部代码耦合,并且无需通过修改页面跳转文件中的代码来新增页面跳转或修改跳转方式,在降低应用程序内部代码耦合的同时,可以实现任意页面、任意场景的灵活跳转。

图5为本申请实施例提供的电子设备的硬件结构示意图。如图5所示,该电子设备,可以包括:存储器510,用于存储程序指令;处理器520,用于调用并执行所述存储器中的程序指令,以实现上述页面跳转方法。

本实施例中,处理器510和存储器520可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有计算程序,当页面跳转装置的至少一个处理器执行所述计算机程序时,页面跳转装置执行本申请页面跳转方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1