基于子应用的路由控制方法、装置和计算机设备与流程

文档序号:25037632发布日期:2021-05-11 17:10阅读:190来源:国知局
基于子应用的路由控制方法、装置和计算机设备与流程

本申请涉及计算机技术领域,特别是涉及一种基于子应用的路由控制方法、装置、计算机设备和计算机存储介质。



背景技术:

子应用是指无法独立运行的、需要借助母应用实现运行的应用。子应用由于其轻便的特点,已深受大众喜爱并且被广泛应用。用户可在母应用中点击子应用链接,并跳转至对应的子应用链接。传统的方式更多的是对子应用间的跳转处理,并且处理规则都是写在子应用本地,这样每次更新处理规则都需要走子应用的发版流程,十分的不灵活且效率低下。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于子应用的路由控制方法、装置、计算机设备和存储介质。

一种基于子应用的路由控制方法,所述方法包括:

获取在子应用路由规则配置界面上所配置的路由规则;

将所述路由规则封装为路由方法;

响应于对在母应用中运行的子应用链接的触发操作,调用所述路由方法,在所述母应用中跳转至所述子应用链接所对应的目标子应用链接。

一种基于子应用的路由控制装置,所述装置包括:

获取模块,用于获取在子应用路由规则配置界面上所配置的路由规则;

封装模块,用于将所述路由规则封装为路由方法;

跳转模块,用于响应于对在母应用中运行的子应用链接的触发操作,调用所述路由方法,在所述母应用中跳转至所述子应用链接所对应的目标子应用链接。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取在子应用路由规则配置界面上所配置的路由规则;

将所述路由规则封装为路由方法;

响应于对在母应用中运行的子应用链接的触发操作,调用所述路由方法,在所述母应用中跳转至所述子应用链接所对应的目标子应用链接。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取在子应用路由规则配置界面上所配置的路由规则;

将所述路由规则封装为路由方法;

响应于对在母应用中运行的子应用链接的触发操作,调用所述路由方法,在所述母应用中跳转至所述子应用链接所对应的目标子应用链接。

上述基于子应用的路由控制方法、装置、计算机设备和存储介质,为了方便配置以及方便使用,通过子应用路由规则界面配置的路由规则更加易用、可读性高、极大地减少沟通成本,不需要将路由规则写入子应用中,则更新路由规则时不需要进行子应用发版,提高了子应用的路由规则更新效率;而在子应用路由规则配置界面上的路由规则一般难以直接应用在子应用中,因此需要将路由规则封装为路由方法,那么可直接调用路由方法从而实现子应用的链接跳转,在子应用的基础上增添了路由规则获取、维护以及动态拦截能力。

附图说明

图1为一个实施例中基于子应用的路由控制方法的应用环境图;

图2为一个实施例中基于子应用的路由控制方法的流程示意图;

图3为一个实施例中获取在子应用路由规则配置界面所配置的路由规则的流程示意图;

图4为一个实施例中路由规则配置界面的界面示意图;

图5为一个实施例中路由前缀对应的路由规则配置界面示意图;

图6为一个实施例中页面名对应的路由规则配置界面图;

图7为一个实施例中子应用路由规则发布界面示意图;

图8为一个实施例中调用路由方法跳转至目标子应用链接的流程示意图;

图9为一个实施例中路由规则加载的流程图;

图10为一个实施例中基于子应用的路由控制装置的结构框图;

图11为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,为一个实施例中基于子应用的路由控制方法的应用环境图。本申请实施例中的基于子应用的路由控制方法可以仅由终端设备102执行,也可以由终端设备102和服务器104共同执行。终端设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请对终端设备和服务器的数量不做限制。本方法实施例以该方法由终端设备102执行为例进行说明,终端设备102中安装有母应用,母应用中包含子应用。包括以下步骤:

在一个实施例中,如图2所示,提供了一种基于子应用的路由控制方法,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:

步骤202,获取在子应用路由规则配置界面上所配置的路由规则。

其中,子应用路由规则配置界面用于配置子应用的可视的路由规则。子应用路由规则配置界面中包括通过终端设备输入的子应用链接的前缀、页面名和对应的重写页面名等不限于此。子应用路由规则配置界面还可以包括操作控件,例如修改控件、删除控件、下载控件等。子应用是指无法独立运行的、需要借助母应用实现运行的应用。

具体地,子应用路由规则配置界面可以是以管理员权限登录的界面。在子应用初始化时,终端设备获取在子应用路由规则配置界面上所配置的路由规则。

步骤204,将路由规则封装为路由方法。

其中,路由规则用于子应用相关链接的跳转拦截。路由规则可用于子应用之间的跳转拦截,也可以用于子应用内部链接的跳转拦截。例如,路由规则用于拦截子应用a跳转至子应用b,也可以用于拦截子应用中的链接y跳转至链接z。路由方法是基于路由规则封装而成的、可在子应用中直接调用的且用于链接拦截的方法。

具体地,终端设备将获得的路由规则封装为可在子应用中直接调用的路由方法,并挂载在全局变量中,方便开发者调用。

步骤206,响应于对在母应用中运行的子应用链接的触发操作,调用路由方法,在母应用中,跳转至子应用链接所对应的目标子应用链接。

其中,母应用是承载子应用的应用程序,为子应用的实现提供运行环境。母应用是原生应用程序。原生应用程序是可直接运行于操作系统的应用程序。在母应用中能运行子应用。子应用在子应用运行环境中运行。母应用可以是社交应用程序、专门支持子应用的专用应用程序、文件管理应用程序、邮件应用程序或者游戏应用程序等。社交应用包括即时通信应用、sns(socialnetworkservice,社交网站)应用或者直播应用等。即时通信应用如微信、qq等。

子应用链接在母应用中运行。子应用链接用于跳转至子应用的对应页面。子应用链接目标子应用链接是指子应用最终跳转的链接。目标子应用链接可以与该子应用链接相同,也可以与该子应用链接不相同。当该路由方法中包含该子应用链接的至少一个维度的字符串时,该子应用链接与该目标子应用链接不相同。

具体地,响应于对在母应用中运行的子应用链接的触发操作,终端设备在母应用的原生跳转方法的基础上,从子应用的全局变量中调用路由方法,在母应用中跳转至子应用链接所对应的目标子应用链接。则以子应用原生的路由方法为基础,在其上层加以封装,增添了路由配置自动获取、维护以及路由动态拦截能力,并使用了母应用原生跳转方法进行链接的跳转。对在母应用中运行的子应用链接的触发操作可以是直接点击子应用链接所触发的,也可以是点击子应用链接所对应的图标所触发的。例如,子应用链接为链接a,目标子应用链接为链接b,用户点击链接a,终端设备响应于链接a的触发操作,调用路由方法,确定链接a所对应的目标子应用链接为链接b,在母应用中跳转至链接b。

上述基于子应用的路由控制方法,通过子应用路由规则界面配置的路由规则更加易用、可读性高、极大地减少沟通成本,不需要将路由规则写入子应用中,则更新路由规则时不需要进行子应用发版,提高了子应用的路由规则更新效率;而在子应用路由规则配置界面上的路由规则一般难以直接应用在子应用中,因此需要将路由规则封装为路由方法,那么可直接调用路由方法从而实现子应用的链接跳转,在子应用的基础上增添了路由规则获取、维护以及动态拦截能力。

在一个实施例中,如图3所示,为一个实施例中获取在子应用路由规则配置界面所配置的路由规则的流程示意图,其中:

步骤302,显示子应用路由规则配置界面,子应用路由规则配置界面中包括配置的子应用的路由规则。

其中,显示子应用路由规则界面的终端设备可以与通过与生产环境的数据接口,从生产环境中获取与子应用对应的路由规则的终端设备相同,也可以不相同。

具体地,终端设备显示子应用路由规则配置界面,该路由规则配置界面中包括配置的各维度的路由规则。终端设备生成与配置的路由规则所对应的目标版本号。

步骤304,获取待发布的生产环境标识。

具体地,终端设备显示子应用路由规则发布界面。响应于在子应用路由规则发布界面所触发的生产环境标识选取操作,终端设备获取选中的与目标版本号所对应的待发布的生产环境标识。其中,生产环境标识用于唯一标识生产环境。生产环境标识可以包括数字、文字、字母、符号中至少一种。

步骤306,将路由规则发布至生产环境标识所对应的生产环境。

其中,生产环境,也可以称为线上环境,指面向用户的由已发布软件版本构成的软件环境。生产环境可以在服务器中,也可以在云函数中实现。如果将请求的接口迁移至云函数则可以将全流程都交由前端开发者来维护,可以减少前后端联调带来的成本。

具体地,响应于在子应用路由规则界面所触发的路由规则发布操作,将路由规则发布至生产环境标识所对应的生产环境。

步骤308,通过与生产环境的数据接口,从生产环境中获取与子应用对应的路由规则。

其中,数据接口可以是与服务器进行通信的数据接口,也可以是与云函数进行通信的数据接口。当与生产环境的数据接口是与云函数进行通信的数据接口时,则不需要服务器的参与。

具体地,终端设备通过与该子应用对应的生产环境的数据接口,从生产环境中获取与该子应用对应的路由规则。

本实施例中,显示子应用路由规则配置界面,其中包括配置的子应用的路由规则,获取待发布的生产环境标识,将路由规则发布至生产环境标识所对应的生产环境,并通过与生产环境的数据接口,从生产环境中获取与子应用对应的路由规则,只需要从接口获取发布的路由规则,不需要将路由规则写入子应用中,提高了子应用使用效率,减少子应用发版的资源占用。

在一个实施例中,如图4所示,为一个实施例中路由规则配置界面的界面示意图。其中包括新增文档控件、批量覆盖控件和发布选中最新版控件。并且通过在搜索框输入搜索内容,可搜索到对应的规则。图4中还包括表格,表格中包括路由前缀(prefix)和备注。如图4中备注用于记录备忘信息。如图中路由前缀为/pages/insure/health/,对应的备注为“旧通用框架路由前缀-将会跳转至现通用框架页面”。图中路由前缀为/pages/template/base/,对应的备注为“现通用框架路由前缀”。当子应用端判断到子应用链接中包含路由规则中的路由前缀时,则进入页面名的匹配逻辑。

如图5所示,为一个实施例中路由前缀对应的路由规则配置界面示意图。在图4进入相应的前缀配置之后,可以细化到每个页面的重定向链接,即图5中的重写页面名字段。重写页面名可视为是子应用链接所对应的目标子应用链接。以图中的“productdetail”为例,如果前端匹配到既符合“/pages/insure/health/”规则,且后面紧接着“productdetail”则会拦截本次跳转,进入“/pages/template/base/productdetail/index”页面。图5中以子应用为小程序为例。小程序可以是微信小程序,小程序的一种,英文名wechatminiprogram,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。图5是图4中的路由前缀为“/pages/insure/health/”,备注为“旧通用框架路由前缀-将会跳转至现通用框架页面”的路由规则配置界面示意图。其中包括路由前缀的下一个维度的路由规则,页面名对应的路由规则。路由前缀的下一个维度的页面名可包括“productdetail、renewaldetail和policydetail”。productdetail对应的重写页面名可为“/pages/template/base/productdetail/index”。renewaldetail对应的重写页面名可为“/pages/template/base/renewaldetail/index”。policydetail对应的重写页面名可为“/pages/template/base/policydetail/index”。其中还可以包括小程序最小版本号。操作控件中包括修改控件502、删除控件504、保存控件506、上传控件508和下载控件510。在图5中,通过修改控件502可修改页面名对应的路由规则。通过删除控件504可删除页面名对应的路由规则。通过保存控件506可保存页面名对应的路由规则。通过上传控件508可上传页面名对应的路由规则。通过下载控件510可下载该页面名对应的路由规则。

在一个实施例中,响应于对图5中修改控件502的触发操作,显示如图6的页面名对应的路由规则配置界面图。图6中的选项包括页面名、重写页面名、小程序最小版本号、适用产品、适用用户、测试环境是否禁用和提交控件。页面名为productdetail,重写页面名为/pages/template/base/productdetail/index。适用产品:all(全部)。适用用户:all(全部)。响应于对提交控件的触发操作,保存已修改的路由规则。

在一个实施例中,如图7所示,为一个实施例中子应用路由规则发布界面示意图。图7包括版本号、已发布环境、更新时间、更新人、提交日志和操作。版本号为7,已发布环境包括环境z、环境y、和环境x,更新时间为2020年2月20日,更新人为张三,提交日志为重定向。版本号为6,生产环境还未发布,提交日志为旧通用框架路由待支付页→现通用框架页面待支付页。

在一个实施例中,响应于对当前已发布的路由规则的回滚操作,将已发布的路由规则回滚至当前已发布的路由规则之前的版本。从而使得路由配置的发布更加安全和灵活。

在一个实施例中,获取在子应用路由规则配置界面上所配置的路由规则,包括:获取在子应用路由规则配置界面上所配置的数组类型的路由规则。

将路由规则封装为路由方法,包括:将数组类型的路由规则转换为地图类型的路由规则;将地图类型的路由规则封装为路由方法。

其中,数组(array)是一种数据结构,用来存储同一类型的数据的集合。数组类型的路由规则是以数组类型的数据格式写成的路由规则。地图(map)是一种容器,用来存储若干元素,这些元素由关键值(keyvalue,以下称为key值)和映射值(mappedvalue,以下依旧称为映射值)配对组成的。地图类型(map类型)的路由规则是指以地图类型的数据格式写成的路由规则。

具体地,在子应用初始化时,终端设备获取在子应用路由规则配置界面上所配置的数组类型的路由规则,将数组类型的路由规则转换为地图类型的路由规则,并将地图类型的路由规则封装成路由方法。将封装的路由方法挂载在全局变量中,方便开发者调用。

例如,从后端获取的数组类型的部分路由配置如下:

上述例子为图6的界面图所对应的部分后台代码。上述中的items表示目录,prefix表示路由前缀,remark表示备注,routes表示路由,pagename表示页面名,pagename:“productdetail”表示当前页面名为productdetail,rewritepagename表示重写页面名,disableddev表示图6中的测试环境禁用,true表示开启。minversion是指图6中的小程序最小版本号,此处为空。

上述数组类型的路由规则转换而成的地图类型的路由规则如下:

同样地,上述的prefix表示路由前缀,remark表示备注,routes表示路由,pagename表示页面名,pagename:“productdetail”表示当前页面名为productdetail,rewritepagename表示重写页面名,productcodelist表示图6中的适用产品,userlist表示图6中的适用用户。路由方法可以对象的形式缓存到小程序内存中。

本实施例中,终端设备获取在子应用路由规则配置界面上所配置的路由规则,并进行路由初始化。路由方法挂载在跳转代码之前。跳转代码包括但不限于router.push(url)和router.replace(url)。router.push用于导航到不同的url(uniformresourcelocator,统一资源定位器),根据路由规则进行路径匹配,根据其他维度的规则配置进行跳转拦截。router.push(url)在子应用中对应的代码是wx.navigateto,wx.navigateto用于保留当前页面,跳转到子应用内某个页面,但不能跳转到tabbar页面。tabbar是指如果小程序是一个多tab应用(客户端窗口的底部或顶部有tab栏可以切换页面),可以通过tabbar配置项指定tab栏的表现,以及tab切换时显示的对应页面。router.replace不会向历史(history)中添加新记录,而是替换到当前的历史记录,在子应用中对应的代码为wx.redirectto。wx.redirectto用于关闭当前页面,跳转到另一个页面。

本实施例中,由于在路由规则的配置阶段一般是由产品经理来操作的,因此需要易用的、可读性高的配置界面,为了方便配置方使用,在子应用路由规则配置界面所配置的路由规则是数组类型的路由规则,而在子应用使用的过程中,将数组类型的路由规则转换为地图类型的路由规则,由于地图类型的路由规则中具有明确的对应关系,如代码1对应链接1,将地图类型的路由规则封装为路由方法,子应用调用由地图类型封装的路由方法,则能够快速获得子应用链接所对应的目标子应用链接,提高子应用链接跳转效率。

在一个实施例中,调用路由方法,在母应用中,跳转至子应用链接所对应的目标子应用链接,包括:依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则;基于各维度的字符串所对应的路由规则确定子应用链接对应的目标子应用链接;在母应用中,跳转至目标子应用链接。

其中,子应用链接中包含至少一个维度的字符串。例如子应用链接中的维度包括但不限于路由前缀、页面名、产品字符、用户标识。

具体地,终端设备依据子应用链接中至少一个维度的字符串,确定在路由方法中的各维度的字符串所对应的路由规则。终端设备基于各维度的字符串所对应的路由规则,确定子应用链接对应的目标子应用链接。在母应用中,终端设备跳转至目标子应用链接。以路由方法中包括路由前缀和页面名为例,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则;当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的目标子应用链接。

本实施例中,依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则,基于各维度的字符串所对应的路由规则确定子应用链接对应的目标子应用链接,在母应用中跳转至目标子应用链接,能够基于不同维度的字符串更加精确地确定子应用链接对应的目标子应用链接。

在一个实施例中,依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则,包括:当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则。

基于各维度的字符串所对应路由规则确定子应用链接对应的目标子应用链接,包括:基于路由前缀对应的路由规则,确定子应用链接对应的目标子应用链接。

具体地,当子应用链接中的路由前缀与路由方法的路由前缀相匹配时,确定子应用链接的路由前缀所对应的路由规则。基于路由前缀对应的路由规则,确定路由前缀所对应的子应用链接,将该路由前缀所对应的子应用链接作为目标子应用链接。例如,路由前缀为“/pages/template/base/”,对应的目标子应用链接为“/pages/template/base/index”。

本实施例中,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则,并基于路由前缀对应的路由规则,确定子应用链接对应的目标子应用链接,能够对子应用内的链接跳转进行拦截,提高子应用运行的安全性。

在一个实施例中,基于路由前缀对应的路由规则,确定子应用链接对应的目标子应用链接,包括:

步骤(a1),当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的路由规则。

其中,路由前缀对应的路由规则中包括各页面名对应的路由规则。如图5所示,路由前缀对应的路由规则下包括页面名“productdetail”、“renewaldetail”和“policydetail”,并且各页面名有各自的路由规则。页面名对应的路由规则中包括该页面名的各产品字符所对应的路由规则。

具体地,当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,该页面名可视为应当被拦截的页面名,终端设备确定与该页面名对应的路由规则。

步骤(a2),当子应用链接中的产品字符与页面名对应的路由规则中的产品字符相匹配时,确定与产品字符对应的用户准入规则。

其中,产品字符对应的用户准入规则中可包括用户标识集对应的目标子应用链接。产品字符用于唯一的标识该子应用对应的产品。产品字符中包括但不限于文字、字母、符号、数字。如,子应用中包含产品字符01、02和03,那么每个产品字符可具有对应的用户准入规则。

具体地,当子应用链接中的产品标识与页面名对应的路由规则中的产品字符相匹配时,说明该包含产品字符的子应用链接应当被拦截,因此确定产品字符对应的用户准入规则。

步骤(a3),获取登录子应用的用户标识。

其中,用户标识用于唯一地标识用户。

步骤(a4),当用户标识与产品字符对应的用户准入规则中的用户字符相匹配时,确定用户准入规则中的且与用户标识对应的目标子应用链接。

其中,用户标识用于唯一地标识登录该子应用的唯一标识。用户标识中包括由文字、字母、符号、数字中至少一种。产品字符对应的用户准入规则中包括各用户标识集所对应的目标子应用链接。

具体地,当用户标识与产品字符对应的用户准入规则中的用户字符相匹配时,基于路由规则中各用户标识集对应的目标子应用链接确定该用户标识具有权限访问的目标子应用链接。例如,某些范围的用户如果目标跳转至“pages/productdetail/pm01”如果检测到该用户不允许进入本页面,则会将其重定向到配置好的另一个地址“pages/productdetail/pm02”。

本实施例中,通过设置路由前缀、页面名、产品字符、用户字符四个维度的路由规则,越往后的匹配颗粒度就越细,可适应不同场景的校验,以达到对某个特定用户的跳转加以干预,如在产品详情页做了一次大型的迭代,在正式上线之前若想要通过生产环境进行用户体验测试,此时通过设置产品字符所对应的用户准入规则,能够让特定的体验用户进入到新的产品详情页访问而不影响其他用户的正常访问,等到测试通过之后就可以将用户群体改为全部,从而完成一个页面级的灰度发布。

如图8所示,为一个实施例中调用路由方法跳转至目标子应用链接的流程示意图。其中包括路由前缀匹配、具体页面匹配、产品准入和用户准入。当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,进入与该路由前缀对应的具体页面匹配。当子应用链接中的路由前缀与路由方法中的路由前缀不匹配时,直接跳转至该子应用链接,不进行拦截。

当子应用链接中的页面名与该路由前缀对应的具体页面名相匹配时,进入该具体页面对应的产品准入判断。当子应用链接中的页面名与该路由前缀对应的具体页面名不匹配时,直接跳转至该子应用链接,不进行拦截。

产品准入表示子应用链接中的产品字符与页面名对应的路由规则中的产品字符相匹配。产品不准入表示子应用链接中的产品字符与页面名对应的路由规则中的产品字符不匹配。当子应用链接中的产品字符与具体页面对应的路由规则中的产品字符相匹配时,确定该产品字符对应的用户准入路由规则。获取登录该子应用的用户标识,当登录的该用户标识与用户准入路由规则中的用户标识相匹配时,进入该登录的用户标识所对应的目标子应用链接。

例如,一款医疗险产品,产品字符是ph01,那么它的链接(即子应用链接)应该是:【/pages/insure/health/productdetail/index?productcode=ph01】。本实施例中检测到这个子应用链接时会先根据路由前缀判断其是否需要进入路由地图的匹配。如果符合条件,再判断其页面名是否在配置中体现,这个ph01的链接前两者都符合。

然后就是对【产品准入】、【用户准入】的判断。如果路由规则的productdetail页面没有配置ph01这个值,则代表这个产品不应该被拦截到新的地址,用户还是会跳转到前缀为【/pages/insure/health】的页面。反之,如果路由规则中配置了ph01这款产品,则表示本次跳转需要被拦截到新的地址。但是,如果这个配置还有适用用户的限定,则需要获取用户的用户id(identitydocument,标识),与配置中配置的id进行匹配,如果顺利匹配到则表示本次可以进行跳转拦截并进入新的地址。上述实施例可以看出整个路由匹配分了四个部分,每个部分都是一个匹配维度,越往后颗粒度就越细,理想配置情景下,可以办到对某个特定用户的跳转加以干预。本实施例赋予了子应用跳转拦截的能力,并且配套提供了路由配置以及分布的配置系统。

这样一来可以满足子应用跳转的动态化,原生的子应用跳转是不支持在跳转前后做任何其他的操作,而本申请实施例则拓展出新的跳转方法,在本申请实施例中可以自由的配置路径间的对应关系,且可以根据产品、用户的多重关系,判断本次跳转的最终去向,为子应用的路由跳转赋予无限可能。

在一个实施例中,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则;当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的目标子应用链接。

在一个实施例中,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则;当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的路由规则;当子应用链接中的产品字符与页面名对应的路由规则中的产品字符相匹配时,确定与产品字符对应的目标子应用链接。

在一个实施例中,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则;当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的路由规则;获取登录子应用的用户标识;当用户标识与页面名对应的路由规则中的用户标识相匹配时,确定页面名对应的路由规则中的且与该用户标识对应的目标子应用链接。

在一个实施例中,响应于对在母应用中运行的子应用链接的触发操作,调用路由方法,在母应用中跳转至子应用链接所对应的目标子应用链接,包括:

响应于对第一子应用中的第二子应用链接的触发操作,当第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中,跳转至第二子应用链接;第一子应用和第二子应用均在母应用中运行;第二子应用链接是第二子应用的链接。

其中,第一子应用和第二子应用不相同。第一子应用和第二子应用均运行于该母应用中。例如,第一子应用为保险应用a,第二子应用为保险应用b。保险应用a和保险应用b均运行于微信中;其中微信为母应用。第一子应用链接是第一子应用的链接。第二子应用链接是第二子应用的链接。

具体地,响应于对第一子应用中的第二子应用的第二子应用链接的触发操作,终端设备判断第二子应用链接中的子应用标识与路由方法中的子应用标识是否相匹配。当第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中跳转至该第二子应用链接。当第二子应用链接中的子应用标识与路由方法中的子应用标识不匹配时,拦截该第二子应用链接。以母应用为微信、第一子应用为小程序a、第二子应用b为小程序b为例进行说明,用户在小程序a上触发了小程序b的链接z,那么当小程序b的标识在路由方法中时,在微信中直接跳转至小程序b的链接z。

本实施例中,响应于对第一子应用中的第二子应用链接的触发操作,说明在第一子应用中触发了另一个子应用的链接;当第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,说明该第二子应用链接为可跳转的链接,在母应用中跳转至第二子应用链接,实现跨子应用的链接跳转,以完成子应用间的跳转拦截。

在一个实施例中,如图9所示,为一个实施例中路由规则加载的流程图。终端设备进入子应用中,并初始化子应用,检测子应用本地是否缓存有路由规则。子应用本地缓存的路由规则仅保存预设时长。例如仅保存5分钟。如果有则检测子应用本地中的路由规则是否过期。当子应用本地中的路由规则过期或者子应用本地中不存在路由规则时,重新从生产环境中获取配置的路由规则。当子应用本地中的路由规则未过期时,将该路由规则封装成路由方法。并调用封装的路由方法进行链接跳转。

在一个实施例中,响应于对在母应用中运行的子应用链接的触发操作,调用路由方法,在母应用中跳转至子应用链接所对应的目标子应用链接,包括:

响应于对在母应用中运行的子应用链接的触发操作,当子应用链接中包括子应用前缀且子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中跳转至该子应用链接;

响应于对在母应用中运行的子应用链接的触发操作,当子应用链接中不包含子应用前缀时,依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则;基于各维度的字符串所对应路由规则确定子应用链接对应的目标子应用链接;在母应用中,跳转至目标子应用链接。

本实施例中,子应用前缀用于判断是否进行子应用之间的链接跳转。例如子应用前缀为“app://”。包含子应用前缀说明需要进行子应用之间的链接跳转,不包含子应用前缀说明进行子应用内的链接跳转。

在一个实施例中,响应于对在母应用中运行的子应用链接的触发操作,当子应用链接中包括子应用前缀且子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中跳转至该子应用链接,包括:响应于在第一子应用中的第二子应用链接的触发操作,当子应用链接中包括子应用前缀且第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中跳转至第二子应用链接;第一子应用和第二子应用均在母应用中运行;第二子应用链接是第二子应用的链接。

在一个实施例中,一种基于子应用的路由控制方法,包括:

步骤(b1),显示子应用路由规则配置界面,子应用路由规则配置界面中包括配置的子应用的路由规则。

步骤(b2),获取待发布的生产环境标识。

步骤(b3),将路由规则发布至生产环境标识所对应的生产环境。

步骤(b4),通过与生产环境的数据接口,从生产环境中获取与子应用对应的数组类型的路由规则。

步骤(b5),将数组类型的路由规则转换为地图类型的路由规则。

步骤(b6),将地图类型的路由规则封装为路由方法。

步骤(b7),响应于对在母应用中运行的子应用链接的触发操作,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则。

步骤(b8),当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的路由规则。

步骤(b9),当子应用链接中的产品字符与页面名对应的路由规则中的产品字符相匹配时,确定与产品字符对应的用户准入规则。

步骤(b10),获取登录子应用的用户标识。

步骤(b11),当用户标识与产品字符对应的用户准入规则中的用户字符相匹配时,确定用户准入规则中的且与用户标识对应的目标子应用链接。

步骤(b12),在母应用中,跳转至目标子应用链接。

上述基于子应用的路由控制方法,为了方便配置以及方便使用,一般是由产品经理来操作的,通过子应用路由规则界面配置的路由规则更加易用、可读性高、极大地减少沟通成本,不需要将路由规则写入子应用中,则更新路由规则时不需要进行子应用发版,提高了子应用的路由规则更新效率;而在子应用路由规则配置界面上的路由规则一般难以直接应用在子应用中,因此需要将路由规则封装为路由方法,那么可直接调用路由方法,通过路由前缀、页面名、产品维度、用户维度的路由规则的判断,更加准确地实现子应用的链接跳转,在子应用的基础上增添了路由规则获取、维护以及动态拦截能力。

应该理解的是,虽然图2、3、8和9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、8和9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图10所示,提供了一种基于子应用的路由控制装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1002、封装模块1004和跳转模块1006,其中:

获取模块1002,用于获取在子应用路由规则配置界面上所配置的路由规则;

封装模块1004,用于将所述路由规则封装为路由方法;

跳转模块1006,用于响应于对在母应用中运行的子应用链接的触发操作,调用所述路由方法,在所述母应用中跳转至所述子应用链接所对应的目标子应用链接。

上述基于子应用的路由控制装置,为了方便配置以及方便使用,一般是由产品经理来操作的,通过子应用路由规则界面配置的路由规则更加易用、可读性高、极大地减少沟通成本,不需要将路由规则写入子应用中,则更新路由规则时不需要进行子应用发版,提高了子应用的路由规则更新效率;而在子应用路由规则配置界面上的路由规则一般难以直接应用在子应用中,因此需要将路由规则封装为路由方法,那么可直接调用路由方法从而实现子应用的链接跳转,在子应用的基础上增添了路由规则获取、维护以及动态拦截能力。

在一个实施例中,获取模块1002用于显示子应用路由规则配置界面,子应用路由规则配置界面中包括配置的子应用的路由规则;获取待发布的生产环境标识;将路由规则发布至生产环境标识所对应的生产环境;通过与生产环境的数据接口,从生产环境中获取与子应用对应的路由规则。

本实施例中,显示子应用路由规则配置界面,其中包括配置的子应用的路由规则,获取待发布的生产环境标识,将路由规则发布至生产环境标识所对应的生产环境,并通过与生产环境的数据接口,从生产环境中获取与子应用对应的路由规则,只需要从接口获取发布的路由规则,不需要将路由规则写入子应用中,提高了子应用使用效率,减少子应用发版的资源占用。

在一个实施例中,获取模块1002用于获取在子应用路由规则配置界面上所配置的数组类型的路由规则。封装模块1004用于将数组类型的路由规则转换为地图类型的路由规则;将地图类型的路由规则封装为路由方法。

本实施例中,由于在路由规则的配置阶段一般是由产品经理来操作的,因此需要易用的、可读性高的配置界面,为了方便配置方使用,在子应用路由规则配置界面所配置的路由规则是数组类型的路由规则,而在子应用使用的过程中,将数组类型的路由规则转换为地图类型的路由规则,由于地图类型的路由规则中具有明确的对应关系,如代码1对应链接1,将地图类型的路由规则封装为路由方法,子应用调用由地图类型封装的路由方法,则能够快速获得子应用链接所对应的目标子应用链接,提高子应用链接跳转效率。

在一个实施例中,跳转模块1006用于依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则;基于各维度的字符串所对应的路由规则确定子应用链接对应的目标子应用链接;在母应用中,跳转至目标子应用链接。

本实施例中,依据子应用链接中至少一个维度的字符串以及路由方法,确定各维度的字符串所对应的路由规则,基于各维度的字符串所对应的路由规则确定子应用链接对应的目标子应用链接,在母应用中跳转至目标子应用链接,能够基于不同维度的字符串更加精确地确定子应用链接对应的目标子应用链接。

在一个实施例中,跳转模块1006用于当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则;基于路由前缀对应的路由规则,确定子应用链接对应的目标子应用链接。

本实施例中,当子应用链接中的路由前缀与路由方法中的路由前缀相匹配时,确定与路由前缀对应的路由规则,并基于路由前缀对应的路由规则,确定子应用链接对应的目标子应用链接,能够对子应用内的链接跳转进行拦截,提高子应用运行的安全性。

在一个实施例中,跳转模块1006用于当子应用链接中的页面名与路由前缀对应的路由规则中的页面名相匹配时,确定与页面名对应的路由规则;当子应用链接中的产品字符与页面名对应的路由规则中的产品字符相匹配时,确定与产品字符对应的用户准入规则;获取登录子应用的用户标识;当用户标识与产品字符对应的用户准入规则中的用户字符相匹配时,确定用户准入规则中的且与用户标识对应的目标子应用链接。

本实施例中,通过设置路由前缀、页面名、产品字符、用户字符四个维度的路由规则,越往后的匹配颗粒度就越细,可适应不同场景的校验,在理想配置情境下,可以达到对某个特定用户的跳转加以干预,如在产品详情页做了一次大型的迭代,在正式上线之前若想要通过生产环境进行用户体验测试,此时通过设置产品字符所对应的用户准入规则,能够让特定的体验用户进入到新的产品详情页访问而不影响其他用户的正常访问,等到测试通过之后就可以将用户群体改为全部,从而完成一个页面级的灰度发布。

在一个实施例中,跳转模块1006用于响应于对第一子应用中的第二子应用链接的触发操作,当第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,在母应用中,跳转至第二子应用链接;第一子应用和第二子应用均在母应用中运行;第二子应用链接是第二子应用的链接。

本实施例中,响应于对第一子应用中的第二子应用链接的触发操作,说明在第一子应用中触发了另一个子应用的链接;当第二子应用链接中的子应用标识与路由方法中的子应用标识相匹配时,说明该第二子应用链接为可跳转的链接,在母应用中跳转至第二子应用链接,实现跨子应用的链接跳转,以完成子应用间的跳转拦截。

关于基于子应用的路由控制装置的具体限定可以参见上文中对于基于子应用的路由控制方法的限定,在此不再赘述。上述基于子应用的路由控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于子应用的路由控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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