CN109918118A - 一种业务线的注册方法以及相关设备 - Google Patents
一种业务线的注册方法以及相关设备 Download PDFInfo
- Publication number
- CN109918118A CN109918118A CN201910228441.XA CN201910228441A CN109918118A CN 109918118 A CN109918118 A CN 109918118A CN 201910228441 A CN201910228441 A CN 201910228441A CN 109918118 A CN109918118 A CN 109918118A
- Authority
- CN
- China
- Prior art keywords
- service line
- page
- key
- service
- library
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种业务线的注册方法及相关设备,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。本发明实施例方法包括:调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;将所述至少一个业务线的注册逻辑注册至通用服务库;将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;将所述封装结果注册至基础组件库。
Description
技术领域
本发明涉及软件领域,尤其涉及一种业务线的注册方法以及相关设备。
背景技术
安卓的开发人员在开发应用时,通常都是共同维护一套通用的开发代码,而这套开发代码会按照不同的层级结构有一些依赖关系。比如,58同城的应用的开发代码从依赖架构的角度来讲,自下至上,一般分为底层服务库、基础组件库、通用服务库、通用业务库、个性化业务库。
在现有的技术方案中,页面跳转是在跳转库中预先设置好对应的key与value键值对并存放在配置文件中,value对应的是跳转页面。然后在主业务库和个性化业务库中注册key与value,当有跳转发生时,找到配置文件中的key对应的value进行跳转。
由于每次进行跳转之前需要新增一个key-value的键值对,才能完成页面的跳转,每次新增都需要对应的修改底层服务库的代码,不利于扩展。
发明内容
本发明实施例提供了一种业务线的注册方法以及相关设备,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。
本发明第一方面提供了一种业务线的注册方法,包括:
调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;
根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;
将所述至少一个业务线的注册逻辑注册至通用服务库,其中,所述通用服务库用于接收所述至少一个业务线的注册逻辑;
将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;
将所述封装结果注册至基础组件库,所述基础组件库用于确定所述至少一个业务线对应的跳转页面。
可选地,所述将所述至少一个业务线的注册逻辑进行封装,以得到封装结果包括:
将所述至少一个业务线的注册逻辑封装为第一java集合,所述第一java集合用于存储key-value键值对,所述key为所述至少一个业务线对应的业务类型,所述value为所述至少一个业务线对应的跳转路径;
将所述第一java集合确定为所述封装结果。
可选地,所述将所述封装结果注册至基础组件库包括:
将所述第一java集合中存储的key-value键值注册至所述基础组件库,以得到第二java集合,所述第二java集合用于指示所述value对应的跳转页面。
可选地,所述将所述封装结果注册至基础组件库之后,所述方法还包括:
通过第一页面获取触发指令,所述触发指令中携带有跳转key;
根据所述触发指令中携带的跳转key遍历所述第一java集合,以得到与所述触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对所述目标value进行解析,以得到所述目标value对应的跳转页面,其中,所述目标value对应的跳转页面为所述第一页面跳转后的页面。
可选地,所述方法还包括:
当所述跳转key在所述第一Java集合中未找到匹配的value时,确定将所述第一页面跳转至第二页面,所述第二页面为所述目标value对应的跳转页面的上一级页面。
本发明实施例第二方面提供了一种业务线的注册装置,包括:
调用单元,用于调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;
确定单元,用于根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;
第一注册单元,用于将所述至少一个业务线的注册逻辑注册至通用服务库,其中,所述通用服务库用于接收所述至少一个业务线的注册逻辑;
封装单元,用于将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;
第二注册单元,用于将所述封装结果注册至基础组件库,所述基础组件库用于确定所述至少一个业务线对应的跳转页面。
可选地,所述封装单元具体用于:
将所述至少一个业务线的注册逻辑封装为第一java集合,所述第一java集合用于存储key-value键值对,所述key为所述至少一个业务线对应的业务类型,所述value为所述至少一个业务线对应的跳转路径;
将所述第一java集合确定为所述封装结果。
可选地,所述第二注册单元具体用于:
将所述第一java集合中存储的key-value键值注册至所述基础组件库,以得到第二java集合,所述第二java集合用于指示所述value对应的跳转页面。
可选地,所述装置还包括跳转单元,所述跳转单元用于:
通过第一页面获取触发指令,所述触发指令中携带有跳转key;
根据所述触发指令中携带的跳转key遍历所述第一java集合,以得到与所述触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对所述目标value进行解析,以得到所述目标value对应的跳转页面,其中,所述目标value对应的跳转页面为所述第一页面跳转后的页面。
可选地,所述跳转单元还用于:
当所述跳转key在所述第一Java集合中未找到匹配的value时,确定将所述第一页面跳转至第二页面,所述第二页面为所述目标value对应的跳转页面的上一级页面。
本发明实施例第三方面提供了一种处理器,所述处理器用于运行计算机程序,所述计算机程序运行时执行上述任意一项所述的业务线的注册方法的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的业务线的注册方法的步骤。
综上所述,可以看出,本发明提供的实施例中,可以提前将至少一条业务线对应的注册逻辑进行整合后注册至基础组件库,相对于现有技术中,来一条业务线,注册一个key-value的键值对,由于只需要将至少一个业务线的注册逻辑进行整合后注册至基础组件库即可,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。
附图说明
图1为本发明实施例提供的一种业务线的注册方法的流程示意图;
图2为本发明实施例提供的一种业务线的注册装置的虚拟结构示意图;
图3为本发明实施例提供的服务器的硬件结构示意图。
具体实施方式
本发明实施例提供了一种业务线的注册方法以及相关设备,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面从业务线的注册装置的角度对本发明的业务线的注册方法进行说明,该业务线的注册装置可以是服务器,也可以是服务器中的服务单元,具体不做限定。
请参阅图1,图1为本发明提供了一种业务线的注册方法的流程示意图,该方法包括:
101、调用注册应用程序编译接口API。
本实施例中,业务线的注册装置可以调用注册应用程序编译接口(ApplicationProgramming Interface,API),其中,该注册API中携带第一参数以及第二参数,该第一参数指示至少一个业务线的业务类型,该第二参数指示至少一个业务线的跳转路径,该至少一个业务线为目标应用程序中包含跳转页面的业务线,该目标应用程序例如可以为58应用程序。例如业务类型可以为主业务库、个性化业务库等等,该业务线可以为主业务库的“消息页面”,或者个性化业务库的“业务线中的详情页”,上述的业务类型以及业务类型对应的业务线仅为举例说明,并不代表对其的限定。
需要说明的是,该注册API中的第一参数以及第二参数在此处的意义是泛指,并不代表某个业务线的第一参数以及第二参数。
102、根据第一参数以及第二参数确定至少一个业务线的注册逻辑。
本实施例中,业务线的注册装置可以根据第一参数以及第二参数确定至少一个业务线的注册逻辑。其中,该至少一个业务线的注册逻辑是IMPageTransferManager.registerCoreTransfer()方法,该注册逻辑中包括两个参数:一个参数用于区别该业务线是主业务库中的业务线还是个性化业务中的业务线;另外一个参数用于该业务线的具体跳转路径,也就是说,注册逻辑中的第一个参数用于区分该业务线是属于哪个类型的业务线(例如属于主业务库的业务线还是属于个性化业务库的业务线);第二个参数用于该业务线的具体跳转。业务线的具体注册可以通过调用如下代码来实现:if(commonJumpCoreBean!=null&&commonJumpCoreBean.code==200){//主业务库或者个性化业务库获取数据并注册;
103、将至少一个业务线的注册逻辑注册至通用服务库。
本实施例中,在确定至少一个业务线的注册逻辑,并通过代码启用注册业务线之后,可以将该至少一个业务线的注册逻辑注册至通用服务库,其中,该通用服务库用于接收该至少一个业务线的注册逻辑。
需要说明的是,该通用服务库类似于中转站式的存在,从主业务库或者个性化业务库中获取业务线的注册逻辑,对业务线的注册逻辑进行整合,之后将整合后的注册逻辑注册至基础组件库中,其中,通用服务库中至少一个业务线的注册可以通过如下代码进行实现:
104、将至少一个业务线的注册逻辑进行封装,以得到封装结果。
本实施例中,可以将至少一个业务线的注册逻辑进行封装,以得到封装结果。也就是说,通用服务库会接收主业务库中的业务线和个性化业务库中的业务线的注册逻辑,之后会把这些注册逻辑整合到一个集合中并再次注册到基础组件库中,对应的代码逻辑主要是PageTransferManager.registerCoreTransfer()。通过服务库是为开发好的一些只有单一功能的代码库,比如登录库、微聊库、分享库等。
具体的,可以将至少一个业务线的注册逻辑封装为第一java集合(例如可以通过注册key-value键值对的形式,向“微聊”库中注册),该第一java集合用于存储key-value键值对,该key为至少一个业务线对应的业务类型,该value为至少一个业务线对应的跳转路径。也就是说,该至少一个业务线的注册逻辑整合后得到是一个Java集合-Vector(也即第一java集合),它可以存储key-value,key是一个String,value是一个java对象,其中主业务库和个性化业务库中的业务线是平级的,只是主业务库中的业务线的key与个性化业务库中的业务线的key不一样。
105、将封装结果注册至基础组件库。
本实施例中,在对至少一个业务线的注册逻辑进行封装得到封装结果,也即得到key-value形式的键值对之后,可以将该key-value键值对重新注册至基础组件库,该基础组件库用于确定至少一个业务线对应的跳转页面,具体的:可以将第一java集合中存储的key-value键值注册至基础组件库,以得到第二java集合,第二java集合用于指示value对应的跳转页面。该基础组件库中业务线的注册可以通过如下代码进行实现:
需要说明的是,基础组件库的注册是一个通用的入口,这样做的好处是其他通用服务库依然可以向基础组件库进行注册。在整个注册的过程中,是通过调用通用服务库对至少一个业务线的注册逻辑进行封装,然后统一再注册到基础组件库中,自此就完成转换器的注册,该方法注册得到的转换器的好处是便于扩展,不至于像现有技术那种,需要一条业务线就重新注册一个key-value形式的键值对。
下面结合例子进行说明,例如在“58应用程序”中,可以从“消息”页面和业务线中的详情页进入58同城的微聊页面,实现用户之间的聊天;这里的“消息”页面代表上述所说的主业务库,该业务线中的详情页代表上述所说的个性化业务库;58同城的微聊页面代表的上述所说的通用服务库,该58同城的微聊页面的功能即为接入58同城的微聊,58应用程序在展示聊天页面的时候,它是通过基础组件库中的跳转库注册来区分用户是从“消息”页面来的还是业务线中的详情页来的。
需要说明的是,将封装结果注册至基础组件库之后,还可以:
通过第一页面获取触发指令,触发指令中携带有跳转key;
根据触发指令中携带的跳转key遍历第一java集合,以得到与触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对目标value进行解析,以得到目标value对应的跳转页面,其中,目标value对应的跳转页面为第一页面跳转后的页面。
也就是说,当用户在第一页面上进行操作时,可以通过第一页面获取触发指令,该触发指令中携带有跳转key,该跳转key即可以指示该业务线的类型,例如该业务线是来自主业务库中的业务线,还是来自个性化业务库中的业务线,之后遍历微聊库中存储的第一java集合,该第一java集合存储key-value键值对,该key为至少一个业务线对应的业务类型,该value为至少一个业务线对应的跳转路径,即可以得到该跳转key对应的目标value,之后调用parseEntity方法对目标value进行解析,以得到目标value对应的跳转页面,即可以当前页面从第一页面跳转至目标value解析出来的页面,具体的拦截可以通过如下代码进行实现:
//命中拦截器策略,就让拦截器换一个entity;
JumpEntity entity=getEntityFromInterceptor(protocol);//业务传过来,在跳转之前进行拦截。
需要说明的是,在对目标value进行解析时,解析出来的是目标value对应的pageType和tradeline,此时可以通过pageType执行页面的跳转,也可以通过解析出来的pageType和tradeline同时完成页面的跳转,具体不做限定。
需要说明的是,转换器的拦截能力是基于上述转换器的注册基础上的建立的,在进行业务线的拦截时,会遍历已经注册的跳转key,当命中key之后,会调用该命中key对应的value。上述已经说明了,通用服务库的微聊库里面已经封装了至少一个业务线的注册逻辑,也即key-value的键值对,该一个业务线注册之后得到的是一个key-value,Key是String,Value是一个类,比如主业务库中的业务线可以注册:Key=“im_chatdetail”,value=IMCoreInterCeptor(类);个性化业务库中的业务线可以注册(房产):Key=“house_chatdetail”,value=HouseCoreInterCeptor(类);其中,主业务库中的类IMCoreInterCeptor和个性化业务库中的类HouseCoreInterCeptor共同继承了BaseInterCeptor。基础组件库存储的是一个Java集合-ArrayList(也即第二java集合),ArrayList里面存储的是BaseInterCeptor的子类,例如主业务库中业务线的类IMCoreInterCeptor和个性化业务库中的类HouseCoreInterCeptor
需要说明的是,在得到跳转key之后,对跳转key从第一java集合中进行遍历时,可以通过如下代码进行实现:
需要说明的是,由于个性化业务库和其下属的子业务库非常多,比如个性化业务库有A、B、C、D、E五个库,而个性化下属子业务又分为多个,例如,个性化业务库A下属子业务库包括A1、A2、A3,个性化业务库B下属子业务库包括B1、B2,个性化业务库C下属子业务库包括C1、C2、C3、C4,个性化业务库D下属子业务库包括D1,个性化业务库E下属子业务库包括E1,E2。如果对于这个12个子业务库分别实现跳转,那么代码量不仅繁琐还不好维护。此时,可以通过“*”号匹配的方法进行匹配跳转。
按照上面例子,假如将个性化业务库B全部实现跳转,那么就可以配置B-*,这样,就能够实现B业务的所有子业务完成统一跳转。
下面以“58应用程序”为例进行说明:
该“*”号叫做通配符,所以这里就是模糊匹配,这里的2-1-*和2-2-1,即为上述所说的key,后面的{“tradeline”:“core”,“pageType”:“CommonChat”}即为上述所说的value,针对于这个key,第一个2是固定的,代表58同城应用软件,第二个位置的1,代表业务线,对应与“58应用程序”中个性业务库的房产业务库,2就代表招聘这个个性化业务库,以此类推,第三个位置,就是代表房产业务库或者招聘业务库的子业务,比如,房产底下有二手房、新房、租房,分别代表1,2,3;那么2-1-*,就是代表,房产个性化业务库的底下所有子业务库(二手房、新房、租房)都配置到{“tradeline”:“core”,“pageType”:“CommonChat”}这个value上,具体的操作就是解析这个2-1-*,判断如果最后一位是*,那么就把1下面的所有子业务线都配置到{“tradeline”:“core”,“pageType”:“CommonChat”},这个value上,进而找到对应的页面进行跳转。
需要说明的是,当跳转key在第一java集合中未找到匹配的value时,确定将第一页面跳转至第二页面,该第二页面为目标value对应的跳转页面的上一级页面,例如该第一页面为个性化业务库中某一条业务线对应的页面,且未在第一java集合中找到匹配的value,则将该第一页面跳转到第二页面,该第二页面就是该目标value对应的跳转页面的上一级页面。
综上所述,可以看出,本发明提供的实施例中,可以提前将至少一条业务线对应的注册逻辑进行整合后注册至基础组件库,相对于现有技术中,来一条业务线,注册一个key-value的键值对,由于只需要将至少一个业务线的注册逻辑进行整合后注册至基础组件库即可,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。
上面对本发明实施例提供的业务线的注册方法进行说明,下面结合图2对本发明实施例提供的业务线的注册装置进行说明。
请参阅图2,图2为本发明实施例提供的一种业务线的注册装置的虚拟结构示意图,该业务线的注册装置包括:
调用单元201,用于调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;
确定单元202,用于根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;
第一注册单元203,用于将所述至少一个业务线的注册逻辑注册至通用服务库,其中,所述通用服务库用于接收所述至少一个业务线的注册逻辑;
封装单元204,用于将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;
第二注册单元205,用于将所述封装结果注册至基础组件库,所述基础组件库用于确定所述至少一个业务线对应的跳转页面。
可选地,所述封装单元204具体用于:
将所述至少一个业务线的注册逻辑封装为第一java集合,所述第一java集合用于存储key-value键值对,所述key为所述至少一个业务线对应的业务类型,所述value为所述至少一个业务线对应的跳转路径;
将所述第一java集合确定为所述封装结果。
可选地,所述第二注册单元205具体用于:
将所述第一java集合中存储的key-value键值注册至所述基础组件库,以得到第二java集合,所述第二java集合用于指示所述value对应的跳转页面。
可选地,所述装置还包括跳转单元206,所述跳转单元206用于:
通过第一页面获取触发指令,所述触发指令中携带有跳转key;
根据所述触发指令中携带的跳转key遍历所述第一java集合,以得到与所述触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对所述目标value进行解析,以得到所述目标value对应的跳转页面,其中,所述目标value对应的跳转页面为所述第一页面跳转后的页面。
可选地,所述跳转单元206还用于:
当所述跳转key在所述第一Java集合中未找到匹配的value时,确定将所述第一页面跳转至第二页面,所述第二页面为所述目标value对应的跳转页面的上一级页面。
本实施例中的业务线的注册装置中各单元之间的交互方式如前述图1所示实施例中的描述,具体此处不再赘述。
综上所述,可以看出,本发明提供的实施例中,可以提前将至少一条业务线对应的注册逻辑进行整合后注册至基础组件库,相对于现有技术中,来一条业务线,注册一个key-value的键值对,由于只需要将至少一个业务线的注册逻辑进行整合后注册至基础组件库即可,可以在不修改底层基础组件库代码的前提下,随时支持具备跳转能力的业务线的扩展。
请参阅图3,图3是本发明实施例提供的一种服务器的硬件结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由业务线的注册装置所执行的步骤可以基于该图3所示的服务器结构。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述业务线的注册方法。
本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述业务线的注册方法。
本发明实施例还提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述图1对应的实施例中的任一实施方式。
本文中的设备可以是服务器、PC、PAD、手机等。
本发明还提供了一种计算机程序产品,当在设备上执行时,适于执行上述图1对应的实施例中的任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素标签的过程、方法、商品或者设备不仅包括那些要素标签,而且还包括没有明确列出的其他要素标签,或者是还包括为这种过程、方法、商品或者设备所固有的要素标签。在没有更多限制的情况下,由语句“包括一个……”限定的要素标签,并不排除在包括要素标签的过程、方法、商品或者设备中还存在另外的相同要素标签。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (12)
1.一种业务线的注册方法,其特征在于,包括:
调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;
根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;
将所述至少一个业务线的注册逻辑注册至通用服务库,其中,所述通用服务库用于接收所述至少一个业务线的注册逻辑;
将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;
将所述封装结果注册至基础组件库,所述基础组件库用于确定所述至少一个业务线对应的跳转页面。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个业务线的注册逻辑进行封装,以得到封装结果包括:
将所述至少一个业务线的注册逻辑封装为第一java集合,所述第一java集合用于存储key-value键值对,所述key为所述至少一个业务线对应的业务类型,所述value为所述至少一个业务线对应的跳转路径;
将所述第一java集合确定为所述封装结果。
3.根据权利要求2所述的方法,其特征在于,所述将所述封装结果注册至基础组件库包括:
将所述第一java集合中存储的key-value键值注册至所述基础组件库,以得到第二java集合,所述第二java集合用于指示所述value对应的跳转页面。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述封装结果注册至基础组件库之后,所述方法还包括:
通过第一页面获取触发指令,所述触发指令中携带有跳转key;
根据所述触发指令中携带的跳转key遍历所述第一java集合,以得到与所述触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对所述目标value进行解析,以得到所述目标value对应的跳转页面,其中,所述目标value对应的跳转页面为所述第一页面跳转后的页面。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述跳转key在所述第一Java集合中未找到匹配的value时,确定将所述第一页面跳转至第二页面,所述第二页面为所述目标value对应的跳转页面的上一级页面。
6.一种业务线的注册装置,其特征在于,包括:
调用单元,用于调用注册应用程序编译接口API,其中,所述注册API中携带第一参数以及第二参数,所述第一参数指示至少一个业务线的业务类型,所述第二参数指示所述至少一个业务线的跳转路径,所述至少一个业务线为目标应用程序中包含对应的跳转页面的业务线;
确定单元,用于根据所述第一参数以及第二参数确定所述至少一个业务线的注册逻辑;
第一注册单元,用于将所述至少一个业务线的注册逻辑注册至通用服务库,其中,所述通用服务库用于接收所述至少一个业务线的注册逻辑;
封装单元,用于将所述至少一个业务线的注册逻辑进行封装,以得到封装结果;
第二注册单元,用于将所述封装结果注册至基础组件库,所述基础组件库用于确定所述至少一个业务线对应的跳转页面。
7.根据权利要求6所述的装置,其特征在于,所述封装单元具体用于:
将所述至少一个业务线的注册逻辑封装为第一java集合,所述第一java集合用于存储key-value键值对,所述key为所述至少一个业务线对应的业务类型,所述value为所述至少一个业务线对应的跳转路径;
将所述第一java集合确定为所述封装结果。
8.根据权利要求7所述的装置,其特征在于,所述第二注册单元具体用于:
将所述第一java集合中存储的key-value键值注册至所述基础组件库,以得到第二java集合,所述第二java集合用于指示所述value对应的跳转页面。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括跳转单元,所述跳转单元用于:
通过第一页面获取触发指令,所述触发指令中携带有跳转key;
根据所述触发指令中携带的跳转key遍历所述第一java集合,以得到与所述触发指令中携带的跳转key对应的目标value;
调用parseEntity方法对所述目标value进行解析,以得到所述目标value对应的跳转页面,其中,所述目标value对应的跳转页面为所述第一页面跳转后的页面。
10.根据权利要求9所述的装置,其特征在于,所述跳转单元还用于:
当所述跳转key在所述第一Java集合中未找到匹配的value时,确定将所述第一页面跳转至第二页面,所述第二页面为所述目标value对应的跳转页面的上一级页面。
11.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的方法。
12.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228441.XA CN109918118B (zh) | 2019-03-25 | 2019-03-25 | 一种业务线的注册方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228441.XA CN109918118B (zh) | 2019-03-25 | 2019-03-25 | 一种业务线的注册方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918118A true CN109918118A (zh) | 2019-06-21 |
CN109918118B CN109918118B (zh) | 2022-08-09 |
Family
ID=66966704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910228441.XA Active CN109918118B (zh) | 2019-03-25 | 2019-03-25 | 一种业务线的注册方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918118B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143723A (zh) * | 2019-12-26 | 2020-05-12 | 五八同城信息技术有限公司 | 页面跳转方法、装置、电子设备及存储介质 |
CN111399812A (zh) * | 2020-04-07 | 2020-07-10 | 杭州指令集智能科技有限公司 | 组件构建方法、装置、开发框架及设备 |
CN111831718A (zh) * | 2020-07-16 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种数据提取方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN104699718A (zh) * | 2013-12-10 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 用于快速引入业务数据的方法和装置 |
AU2016101437A4 (en) * | 2015-03-08 | 2016-09-08 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback |
CN108958730A (zh) * | 2017-08-23 | 2018-12-07 | 北京五八信息技术有限公司 | 应用程序组件共享方法及装置、终端设备及可读存储介质 |
CN109460230A (zh) * | 2018-11-09 | 2019-03-12 | 苏宁消费金融有限公司 | 一种页面间传值和业务逻辑复用的方法和系统 |
-
2019
- 2019-03-25 CN CN201910228441.XA patent/CN109918118B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158896A (zh) * | 2007-08-31 | 2008-04-09 | 南京联创科技股份有限公司 | 基于mvc的业务组装和页面模板化开发web平台的方法 |
CN104699718A (zh) * | 2013-12-10 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 用于快速引入业务数据的方法和装置 |
AU2016101437A4 (en) * | 2015-03-08 | 2016-09-08 | Apple Inc. | Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback |
CN108958730A (zh) * | 2017-08-23 | 2018-12-07 | 北京五八信息技术有限公司 | 应用程序组件共享方法及装置、终端设备及可读存储介质 |
CN109460230A (zh) * | 2018-11-09 | 2019-03-12 | 苏宁消费金融有限公司 | 一种页面间传值和业务逻辑复用的方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143723A (zh) * | 2019-12-26 | 2020-05-12 | 五八同城信息技术有限公司 | 页面跳转方法、装置、电子设备及存储介质 |
CN111399812A (zh) * | 2020-04-07 | 2020-07-10 | 杭州指令集智能科技有限公司 | 组件构建方法、装置、开发框架及设备 |
CN111399812B (zh) * | 2020-04-07 | 2022-04-19 | 杭州指令集智能科技有限公司 | 组件构建方法、装置、开发框架及设备 |
CN111831718A (zh) * | 2020-07-16 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种数据提取方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109918118B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3974994A1 (en) | Dynamic tracing control for edge computing with containers and microservices | |
CN109918118A (zh) | 一种业务线的注册方法以及相关设备 | |
EP4020266A1 (en) | Apparatus, systems, and methods to protect hardware and software | |
CN110399307A (zh) | 一种测试方法、测试平台及目标服务器 | |
CN109636384A (zh) | 一种并行化执行区块链交易的方法、装置及系统 | |
CN112508573B (zh) | 一种交易数据处理方法、装置以及计算机设备 | |
CN107463434B (zh) | 一种分布式任务处理方法与设备 | |
CN109902274A (zh) | 一种将json字符串转化为thrift二进制流的方法及系统 | |
CN110187912A (zh) | 一种节点选择方法和装置 | |
CN111355816B (zh) | 服务器选取方法、装置、设备及分布式服务系统 | |
CN109582452A (zh) | 一种容器调度方法、调度装置及电子设备 | |
CN108134812A (zh) | 数据处理方法和装置 | |
CN108765159A (zh) | 一种基于区块链的上链与状态处理方法、装置及互联系统 | |
CN106484603B (zh) | 一种业务测试方法及装置 | |
CN109743222A (zh) | 一种数据测试方法及相关设备 | |
CN113542437B (zh) | 网络系统、网络代理方法及设备 | |
CN107888717A (zh) | 一种域名确定方法、装置及电子设备 | |
CN110046994A (zh) | 一种受理区块链存证交易的方法及系统 | |
Zhu et al. | EdgePlace: availability‐aware placement for chained mobile edge applications | |
CN108880896A (zh) | 一种基于大型机的程序灰度发布方法及装置 | |
CN106549827A (zh) | 网络状态的探测方法及装置 | |
CN109309858A (zh) | 一种互斥图标的显示方法、装置、设备及介质 | |
CN110020274A (zh) | 混合应用在浏览器环境下的页面返回方法和装置 | |
Artych et al. | Security constraints for placement of latency sensitive 5G MEC applications | |
CN105678155B (zh) | 一种信息存储和校验的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |