CN109799994B - 一种终端组件生成方法及装置 - Google Patents
一种终端组件生成方法及装置 Download PDFInfo
- Publication number
- CN109799994B CN109799994B CN201910032793.8A CN201910032793A CN109799994B CN 109799994 B CN109799994 B CN 109799994B CN 201910032793 A CN201910032793 A CN 201910032793A CN 109799994 B CN109799994 B CN 109799994B
- Authority
- CN
- China
- Prior art keywords
- component
- terminal
- service
- attribute
- type
- 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.)
- Active
Links
Images
Abstract
本发明涉及一种终端组件生成方法及装置,所述方法包括:对前端组件进行解析,根据解析结果判断是否需要构建终端组件;当判断需要构建终端组件时,确定当前运行业务的业务类型;查找与所述业务类型相对应的组件处理算法;根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。本发明能够减少公共组件和业务逻辑的耦合程度,提高公共组件的扩展性和可读性,有效提高业务的开发效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种终端组件生成方法及装置。
背景技术
在ReactNative/Weex等现有的跨平台移动应用开发框架中,一种前端组件只能生成唯一的终端组件,例如前端的<Text>组件只能对应于终端的TextView组件,导致前端组件只能通过设置不同公共属性的方式来改变终端组件的对应属性,一旦某个业务需要定制化一个特殊属性,则只能通过新增或者修改公共属性来完成。
如果每个业务都通过这种方式在公共组件上添加属性,则会导致公共组件上包含越来越多的业务属性,尤其是某种属性只有在很少的场景进行使用时,使得公共组件和业务特有逻辑相互耦合,极大地提高公共组件的维护成本,降低扩展性,提高后期的维护成本。因此,现有的组件生成方式无法适用于多业务多场景的复杂使用环境。
发明内容
本发明所要解决的技术问题在于,提供一种终端组件生成方法及装置,能够减少公共组件和业务逻辑的耦合程度,提高公共组件的扩展性和可读性,有效提高业务的开发效率。
为了解决上述技术问题,一方面,本发明提供了一种终端组件生成方法,包括:
对前端组件进行解析,根据解析结果判断是否需要构建终端组件;
当判断需要构建终端组件时,确定当前运行业务的业务类型;
查找与所述业务类型相对应的组件处理算法;
根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
另一方面,本发明提供了一种终端组件生成装置,包括:
解析和判断模块,用于对前端组件进行解析,根据解析结果判断是否需要构建终端组件;
业务类型确定模块,用于当判断需要构建终端组件时,确定当前运行业务的业务类型;
查找模块,用于查找与所述业务类型相对应的组件处理算法;
组件生成模块,用于根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
实施本发明实施例,具有如下有益效果:
本发明通过对前端组件进行解析,当根据解析结果判断需要构件终端组件时,确定当前运行业务的业务类型,并查找与所述业务类型相对应的组件处理算法,根据解析结果和所述组件处理算法,生成与所述业务类型相对应的终端组件。本发明能够根据不同的业务类型生成相应的终端组件,减少了公共组件和业务逻辑的耦合程度,提高公共组件的扩展性和可读性,降低后续的维护成本,能够适用于多业务多场景的复杂使用环境,有效提高业务的开发效率。
附图说明
图1是现有技术中终端组件生成方法示意图;
图2是本发明实施例提供的一种终端组件生成方法示意图;
图3是本发明实施例提供的一种终端组件构建需要判断方法示意图;
图4是本发明实施例提供的一种终端组件处理方法示意图;
图5是本发明实施例提供的一种终端组件类型确定方法流程图;
图6是本发明实施例提供的另一种终端组件处理方法示意图;
图7是本发明实施例提供的一种生成具有自定义终端属性终端组件方法流程图;
图8是本发明实施例提供的一种终端组件生成装置示意图;
图9是本发明实施例提供的解析和判断模块示意图;
图10是本发明实施例提供的组件生成模块示意图;
图11是本发明实施例提供的组件类型确定模块示意图;
图12是本发明实施例提供的组件处理模块示意图;
图13是本发明实施例提供的终端结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本发明具体可以应用于使用iOS、Android、YunOS等系统的终端设备,当用户通过终端设备中的客户端发起业务内容请求时,需要通过所述业务的前端组件的配置来生成对应的终端组件,以实现所述业务的相关功能。本实施例中,所述终端设备可以包括但不限于智能手机、平板电脑、车载电脑等。
现有技术中,当某一业务需要定制化一个特殊属性时,需要通过新增或者修改公共属性来完成,如图1所示,资讯业务在前端使用了<Image>组件,但同时需要其对应的终端ImageView组件能够统计图片加载成功率。由于其他业务,例如小说、漫画,也在前端使用了同样的<Image>组件,所以现有的解决方法是在对应的终端公共ImageView组件上支持统计图片加载成功率的能力,并通过前端设置公共属性的方式进行功能的打开或关闭。例如对于资讯业务,在前端使用<Image enableImageLoadStat={true}>,而对于其他不需要统计图片加载成功率的业务(如小说、漫画),则在前端使用<Image enableImageLoadStat={false}>。现有的生成终端组件的方法会导致公共属性和业务特有逻辑相互耦合,降低扩展性。
针对现有技术中一种前端组件只能对应生成唯一的终端组件,无法对不同业务场景的特殊需求进行有效扩展的问题,本发明提供了一种终端组件生成方法,请参见图2,所述方法包括:
S210.对前端组件进行解析,根据解析结果判断是否需要构建终端组件。
此处根据解析结果判断是否需要构件终端组件的方法具体可参见图3,所述方法包括:
S310.获取前端创建的所述前端组件,对所述前端组件进行解析。
S320.当所述解析结果包括前端组件类型和前端组件属性时,判断需要构建终端组件。
即当存在待解析的前端组件,且解析成功时,判断当前需要构建终端组件。这里的前端组件类型包括但不限于<Image>、<Text>、<View>等,前端组件属性是指在前端组件中根据业务类型设置的相关参数。
S220.当判断需要构建终端组件时,确定当前运行业务的业务类型。
当接收到需要构建终端组件的消息时,确定当前正在运行业务的业务类型,本实施例中的业务类型包括但不限于资讯、小说、漫画等业务类型。
S230.查找与所述业务类型相对应的组件处理算法。
这里的业务类型与其相对应的组件处理算法是预先设置好的,具体可以是在业务初始化期间,当接收到用户的业务初始化请求时,根据当前初始化业务的业务类型确定与其相对应的所述组件处理算法。所以在知道了当前运行业务的业务类型时,可以确定与其对应的组件处理算法。
S240.根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
请参见图4,其示出了一种终端组件处理方法示意图,具体地,所述方法包括:
S410.根据所述前端组件类型确定待构建终端组件的目标类型。
这里具体可以根据前端组件的类型来确定待构建终端组件的类型,例如,通过上述对前端组件的解析,得到前端组件的类型为<Image>,那么根据该前端组件的名称Image,可以确定与之相对应的终端组件类型为<ImageView>;同理,根据前端组件的名称Text,确定待构建组件类型为<TextView>。具体地待构建终端组件的类型可通过图5所示的方法来确定,包括:
S510.在解析得到前端组件的类型时,确定前端组件的名称。
S520.对输入的所述前端组件的名称进行识别,确定与所述前端组件的名称相对应的终端组件名称。
S530.判断是否需要生成所述业务类型对应的终端组件。
S540.当需要生成与业务类型对应的终端组件时,判定根据所述终端组件名称生成业务对应的终端组件。
S550.当不需要生成与业务类型对应的终端组件时,判定根据所述终端组件名称构建默认的公共终端组件。
这里的公共终端组件是指各项业务可以通用的终端组件。
上述方法在输入前端组件名称时,可以是一次性输入多个前端组件名称,生成的终端组件也是跟前端组件相对应的多个终端组件。
S420.通过所述组件处理算法,生成与所述业务类型相对应的所述目标类型的终端组件。
上述步骤S530判断是否生成与业务类型相对应的终端组件,具体判断可以是通过查找是否存在与当前业务相对应的组件处理算法,当存在与当前业务相对应的组件处理算法时,判断需要生成与所述业务相对应的终端组件;当没有找到与当前业务相对应的组件处理算法时,判断不需要生成与所述业务对应的终端组件。
根据上述实施例可知,这里的组件处理算法是在业务初始化时,就为该业务设置好的。其中,所述组件处理算法用于生成能够实现所述当前运行业务预设功能的终端组件。需要说明的是,对于同一业务,可能需要生成若干个终端组件来实现业务的不同功能,均可根据本实施例中的上述方法生成相关的终端组件。
该方法适用于多个业务在各自的使用场景中使用同一类型的前端组件,但是不同业务之间的终端组件各不相同的情况,例如:资讯业务中用到<Image>组件需要统计图片加载成功率,而小说业务中用到<Image>组件需要叠加小说特有样式的遮罩,此时便可针对不同的业务,生成能够实现不同功能的终端组件<ImageView>。
本实施例的上述终端组件生成方法能够根据运行业务的业务类型生成能够实现该业务相关功能的终端组件,对于不同的业务,生成不同的业务终端组件,而不需要通过前端修改公共属性的方式来改变对应终端组件的属性,以实现相关业务功能的打开与关闭;上述方法将一种前端组件映射为多种类型终端组件,从而能够动态生成更为灵活的业务终端组件。
请参见图6,其示出了另一种终端组件处理方法,所述方法包括:
S610.对于每一个前端组件,判断所述前端组件属性是否属于所述前端组件的公共属性。
对于每一个前端组件,均会为其配置相关的属性参数,这里的属性参数可以包括:公共属性和自定义属性,公共属性可以理解为各项业务的前端组件所共有的属性;自定义属性是指为了实现某一业务的特定功能而自定义的参数。
S620.当所述前端组件属性不属于所述公共属性时,判定所述前端组件属性为自定义属性。
在终端的解析过程中,发现解析出的相关属性不属于公共属性,则判定该属性是为了实现业务的特定功能在前端自定义的。
S630.根据所述自定义属性和所述组件处理算法,生成具有所述自定义属性的终端组件。
在确定解析的属性为自定义属性时,结合所述自定义属性和组件处理算法,生成具有所述自定义属性的终端组件。这里的自定义属性只是针对当前这一个业务进行自定义的,并不会影响到其他业务的属性设置。
该方法适用于单个业务根据不同的使用场景,需要生成不同属性的终端组件的情况。例如,小说业务中用到的<Image>组件,其中一部分需要叠加小说特有样式的遮罩A,而另一部分需要叠加小说特有样式的遮罩B,并要求能够在前端进行动态配置。在前端组件中,设置对应的特殊参数,例如设置对应的业务特殊参数<Image needSpecialMaskA={true}>表示在Image组件中设置了一个名为needSpecialMaskA的特殊属性,对应的属性值为true,之后在终端的属性解析过程中,发现这个needSpecialMaskA并不是Image组件的公共属性,于是将其视作特殊的自定义属性。再根据所述自定义属性和所述组件处理算法,构建业务支持needSpecialMaskA的自定义终端组件,具体过程可参见图7,其示出了一种生成具有自定义属性的终端组件的方法,包括:
S710.对前端组件进行解析,得到的解析结果包括:前端组件类型和前端组件属性。
其中,前端组件类型为<Image>,前端组件属性包括属性<ImageneedSpecialMaskA={true}>。
S720.确定当前运行的业务类型。
S730.查找是否存在与所述业务类型相对应的组件处理算法。
S740.当不存在与所述业务类型相对应的组件处理算法时,构建默认的公共终端组件。
S750.当存在于所述业务类型相对应的组件处理算法时,判断所述前端组件属性是否包括自定义属性。
S760.当所述前端组件属性不包括自定义属性时,构建与所述业务类型相对应的终端组件。
S770.当所述前端组件属性包括自定义属性时,生成业务支持的自定义属性终端组件。
即判断Image needSpecialMaskA不是公共属性,这里的自定义属性终端组件为支持Image needSpecialMaskA的终端组件。
本实施例的生成具有自定义属性的终端组件的方法能够通过前端自定义属性的动态配置,对同一业务生成具有不同自定义属性的终端组件,从而使得同一终端组件实现不同功能。
请参见图8,本实施例还提供了一种终端组件生成装置,所述装置包括:
解析和判断模块810,用于对前端组件进行解析,根据解析结果判断是否需要构建终端组件。
业务类型确定模块820,用于当判断需要构建终端组件时,确定当前运行业务的业务类型。
当接收到需要构建终端组件的消息时,确定当前正在运行业务的业务类型,本实施例中的业务类型包括但不限于资讯、小说、漫画等业务类型。
查找模块830,用于查找与所述业务类型相对应的组件处理算法。
这里的业务类型与其相对应的组件处理算法是预先设置好的,具体可以是在业务初始化期间,当接收到用户的业务初始化请求时,根据当前初始化业务的业务类型确定与其相对应的所述组件处理算法。所以在知道了当前运行业务的业务类型时,可以确定与其对应的组件处理算法。
组件生成模块840,用于根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
其中,请参见图9,所述解析和判断模块810包括:
获取和解析模块910,用于获取前端创建的所述前端组件,对所述前端组件进行解析。
第一判断模块920,用于当所述解析结果包括前端组件类型和前端组件属性时,判断需要构建终端组件。
即当存在待解析的前端组件,且解析成功时,判断当前需要构建终端组件。这里的前端组件类型包括但不限于<Image>、<Text>、<View>等,前端组件属性是指在前端组件中根据业务类型设置的相关参数。
请参见图10,所述组件生成模块840包括:
组件类型确定模块1010,用于根据所述前端组件类型确定待构建终端组件的目标类型。
这里具体可以根据前端组件的类型来确定待构建终端组件的类型,例如,通过上述对前端组件的解析,得到前端组件的类型为<Image>,那么根据该前端组件的名称Image,可以确定与之相对应的终端组件类型为<ImageView>;同理,根据前端组件的名称Text,确定待构建组件类型为<TextView>。
组件处理模块1020,用于通过所述组件处理算法,生成与所述业务类型相对应的所述目标类型的终端组件;其中,所述组件处理算法用于生成能够实现所述当前运行业务预设功能的终端组件。
根据上述实施例可知,这里的组件处理算法是在业务初始化时,就为该业务设置好的。需要说明的是,对于同一业务,可能需要生成若干个终端组件来实现业务的不同功能,均可根据本实施例中的上述方法生成相关的终端组件。
请参见图11,所述组件类型确定模块1010包括:
名称确定模块1110,用于在解析得到前端组件的类型时,确定前端组件的名称。
名称识别模块1120,用于对输入的所述前端组件的名称进行识别,确定与所述前端组件的名称相对应的终端组件名称。
判定模块1130,用于当需要生成与所述业务类型对应的终端组件时,判定根据所述终端组件名称生成业务对应的终端组件。
请参见图12,所述组件处理模块1020包括:
第二判断模块1210,用于对于每一个前端组件,判断所述前端组件属性是否属于所述前端组件的公共属性。
对于每一个前端组件,均会为其配置相关的属性参数,这里的属性参数可以包括:公共属性和自定义属性,公共属性可以理解为各项业务的前端组件所共有的属性;自定义属性是指为了实现某一业务的特定功能而自定义的参数。
第三判断模块1220,用于当所述前端组件属性不属于所述公共属性时,判断所述前端组件属性为自定义属性。
自定义处理模块1230,用于根据所述自定义属性和所述组件处理算法,生成具有所述自定义属性的终端组件。
在确定解析的属性为自定义属性时,结合所述自定义属性和组件处理算法,生成具有所述自定义属性的终端组件。这里的自定义属性只是针对当前这一个业务进行自定义的,并不会影响到其他业务的属性设置。
另外,所述装置还可以包括:
初始化模块850,用于响应于业务的初始化请求,确定与所述业务的业务类型相对应的所述组件处理算法。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。
请参见图13,其示出了一种终端的结构示意图,具体来讲,终端1300可以包括RF(Radio Frequency,射频)电路1310、包括有一个或一个以上计算机可读存储介质的存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、WiFi(wirelessfidelity,无线保真)模块1370、包括有一个或者一个以上处理核心的处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1380处理;另外,将涉及上行的数据发送给基站。通常,RF电路1310包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1310还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1320还可以包括存储器控制器,以提供处理器1380和输入单元1330对存储器1320的访问。
输入单元1330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1330可包括触敏表面1331以及其他输入设备1332。触敏表面1331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1331上或在触敏表面1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1331。除了触敏表面1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及终端1300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1340可包括显示面板1341,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1341。进一步的,触敏表面1331可覆盖显示面板1341,当触敏表面1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图13中,触敏表面1331与显示面板1341是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1331与显示面板1341集成而实现输入和输出功能。
终端1300还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在终端1300移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1360、扬声器1361,传声器1362可提供用户与终端1300之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一终端,或者将音频数据输出至存储器1320以便进一步处理。音频电路1360还可能包括耳塞插孔,以提供外设耳机与终端1300的通信。
WiFi属于短距离无线传输技术,终端1300通过WiFi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
处理器1380是终端1300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行终端1300的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器1380可包括一个或多个处理核心;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
终端1300还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1390还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端1300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行上述实施例中示出的方法指令。
另外,本实施例还提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行本实施例上述的各项方法。
本发明通过对前端组件进行解析,当根据解析结果判断需要构件终端组件时,确定当前运行业务的业务类型,并查找与所述业务类型相对应的组件处理算法,根据解析结果和所述组件处理算法,生成与所述业务类型相对应的终端组件。
本发明提供的终端组件生成方法及装置,能够支持根据不同业务类型,生成自定义的终端组件,以及通过在前端设置自定义参数,生成具有自定义属性的终端组件,将一种前端组件映射为多种类型的终端组件,从而能够动态生成更为灵活的自定义终端组件,减少了公共组件和业务逻辑的耦合程度,提高公共组件的扩展性和可读性,降低后续的维护成本,能够适用于多业务多场景的复杂使用环境,有效提高业务的开发效率。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种终端组件生成方法,其特征在于,包括:
对前端组件进行解析,当解析结果包括前端组件类型和前端组件属性时,判断需要构建终端组件;所述前端组件属性是指在前端组件中根据业务类型设置的相关参数;
当判断需要构建终端组件时,确定当前运行业务的业务类型;
查找与所述业务类型相对应的组件处理算法;所述组件处理算法用于生成能够实现所述当前运行业务预设功能的终端组件;
根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
2.根据权利要求1所述的一种终端组件生成方法,其特征在于,所述对前端组件进行解析包括:
获取前端创建的所述前端组件,对所述前端组件进行解析。
3.根据权利要求2所述的一种终端组件生成方法,其特征在于,所述根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件包括:
根据所述前端组件类型确定待构建终端组件的目标类型;
通过所述组件处理算法,生成与所述业务类型相对应的所述目标类型的终端组件。
4.根据权利要求3所述的一种终端组件生成方法,其特征在于,所述根据所述前端组件类型确定待构建终端组件的目标类型包括:
在解析得到前端组件的类型时,确定前端组件的名称;
对输入的所述前端组件的名称进行识别,确定与所述前端组件的名称相对应的终端组件名称;
当需要生成与所述业务类型对应的终端组件时,判定根据所述终端组件名称生成业务对应的终端组件。
5.根据权利要求3所述的一种终端组件生成方法,其特征在于,所述通过所述组件处理算法,生成与所述业务类型相对应的所述目标类型的终端组件包括:
对于每一个前端组件,判断所述前端组件属性是否属于所述前端组件的公共属性;
当所述前端组件属性不属于所述公共属性时,判定所述前端组件属性为自定义属性;
根据所述自定义属性和所述组件处理算法,生成具有所述自定义属性的终端组件。
6.根据权利要求1所述的一种终端组件生成方法,其特征在于,所述方法还包括:
响应于业务的初始化请求,确定与所述业务的业务类型相对应的所述组件处理算法。
7.一种终端组件生成装置,其特征在于,包括:
解析和判断模块,用于对前端组件进行解析,当解析结果包括前端组件类型和前端组件属性时,判断需要构建终端组件;所述前端组件属性是指在前端组件中根据业务类型设置的相关参数;
业务类型确定模块,用于当判断需要构建终端组件时,确定当前运行业务的业务类型;
查找模块,用于查找与所述业务类型相对应的组件处理算法;所述组件处理算法用于生成能够实现所述当前运行业务预设功能的终端组件;
组件生成模块,用于根据所述解析结果以及所述组件处理算法,生成与所述业务类型相对应的终端组件。
8.根据权利要求7所述的一种终端组件生成装置,其特征在于,所述解析和判断模块包括:
获取和解析模块,用于获取前端创建的所述前端组件,对所述前端组件进行解析。
9.根据权利要求8所述的一种终端组件生成装置,其特征在于,所述组件生成模块包括:
组件类型确定模块,用于根据所述前端组件类型确定待构建终端组件的目标类型;
组件处理模块,用于通过所述组件处理算法,生成与所述业务类型相对应的所述目标类型的终端组件。
10.根据权利要求9所述的一种终端组件生成装置,其特征在于,所述组件类型确定模块包括:
名称确定模块,用于在解析得到前端组件的类型时,确定前端组件的名称;
名称识别模块,用于对输入的所述前端组件的名称进行识别,确定与所述前端组件的名称相对应的终端组件名称;
判定模块,用于当需要生成与所述业务类型对应的终端组件时,判定根据所述终端组件名称生成业务对应的终端组件。
11.根据权利要求9所述的一种终端组件生成装置,其特征在于,所述组件处理模块包括:
第二判断模块,用于对于每一个前端组件,判断所述前端组件属性是否属于所述前端组件的公共属性;
第三判断模块,用于当所述前端组件属性不属于所述公共属性时,判定所述前端组件属性为自定义属性;
自定义处理模块,用于根据所述自定义属性和所述组件处理算法,生成具有所述自定义属性的终端组件。
12.根据权利要求7所述的一种终端组件生成装置,其特征在于,所述装置还包括:
初始化模块,用于响应于业务的初始化请求,确定与所述业务的业务类型相对应的所述组件处理算法。
13.一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1-6任一项所述的终端组件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910032793.8A CN109799994B (zh) | 2019-01-14 | 2019-01-14 | 一种终端组件生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910032793.8A CN109799994B (zh) | 2019-01-14 | 2019-01-14 | 一种终端组件生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109799994A CN109799994A (zh) | 2019-05-24 |
CN109799994B true CN109799994B (zh) | 2022-02-18 |
Family
ID=66558772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910032793.8A Active CN109799994B (zh) | 2019-01-14 | 2019-01-14 | 一种终端组件生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109799994B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347974B (zh) * | 2019-05-30 | 2023-06-23 | 深圳市鼎为通信有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012127449A2 (en) * | 2011-03-23 | 2012-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic distribution of target selection algorithms |
CN105354067A (zh) * | 2015-12-02 | 2016-02-24 | 广东欧珀移动通信有限公司 | 一种界面配置方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130038A1 (en) * | 2004-12-15 | 2006-06-15 | Claussen Christopher S | Apparatus, system, and method for facilitating dynamic modification of existing software objects defined in a strongly-typed programming language |
US8175936B2 (en) * | 2006-03-31 | 2012-05-08 | Sap Ag | Method and system for identifying reusable development components |
CN101359285B (zh) * | 2007-08-02 | 2010-10-27 | 珠海金山软件有限公司 | 一种将控件插入到文档里的装置和方法 |
CN101295249B (zh) * | 2008-06-26 | 2010-12-15 | 腾讯科技(深圳)有限公司 | 对软件界面风格进行动态配置管理的方法及系统 |
CN106293671B (zh) * | 2015-06-04 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 一种生成组件模板的方法及装置 |
CN107220036A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种组件和模板的可视化开发方法及系统 |
CN107402747B (zh) * | 2016-05-20 | 2019-08-20 | 中国科学院声学研究所 | 一种支持多终端类型的应用页面动态生成方法 |
CN107678740A (zh) * | 2017-10-26 | 2018-02-09 | 福建星瑞格软件有限公司 | 一种ui业务组件的封装方法及计算机设备 |
CN108762729A (zh) * | 2018-05-07 | 2018-11-06 | 北京五八信息技术有限公司 | 一种页面构建的方法、装置、计算机设备及存储介质 |
CN109062550B (zh) * | 2018-07-27 | 2021-10-01 | 京东数字科技控股有限公司 | 页面构建方法和系统、用户终端、服务器和可读存储介质 |
-
2019
- 2019-01-14 CN CN201910032793.8A patent/CN109799994B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012127449A2 (en) * | 2011-03-23 | 2012-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic distribution of target selection algorithms |
CN105354067A (zh) * | 2015-12-02 | 2016-02-24 | 广东欧珀移动通信有限公司 | 一种界面配置方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于XML的JS页面生成系统的设计与实现;黄思远;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20180415(第04期);I138-557 * |
组件化开发历程;程序员阿兵;《https://www.jianshu.com/p/89dee86010a8》;20180804;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109799994A (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107094294B (zh) | 网络连接方法及装置 | |
CN104852885B (zh) | 一种进行验证码验证的方法、装置和系统 | |
US10304461B2 (en) | Remote electronic service requesting and processing method, server, and terminal | |
KR101978590B1 (ko) | 메시지 업데이팅 방법, 장치 및 단말 | |
CN108156508B (zh) | 弹幕信息处理的方法、装置、移动终端、服务器及系统 | |
CN106371964B (zh) | 一种进行消息提示的方法和装置 | |
CN108255683B (zh) | 终端中消息提示的方法和终端 | |
CN108668328B (zh) | 一种网络切换方法及移动终端 | |
CN108984066B (zh) | 一种应用程序图标显示方法及移动终端 | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
CN109688611B (zh) | 一种频段参数的配置方法、装置、终端和存储介质 | |
CN106055598B (zh) | 信息显示方法及装置 | |
CN106095423B (zh) | 提供浏览服务的方法、终端及服务器 | |
CN107622234B (zh) | 一种显示萌脸礼物的方法和装置 | |
CN109799994B (zh) | 一种终端组件生成方法及装置 | |
CN108269223B (zh) | 一种网页图形绘制方法及终端 | |
CN106817370B (zh) | 传输网络数据的方法及装置 | |
CN106330875B (zh) | 消息显示方法及装置 | |
CN112667868B (zh) | 一种数据检测方法以及装置 | |
CN107315623B (zh) | 一种上报统计数据的方法和装置 | |
CN107346347B (zh) | 网页表格显示方法及装置 | |
CN108111553B (zh) | 提供服务的方法及装置 | |
CN108280798B (zh) | 一种浏览器内核渲染显示的方法和装置 | |
CN105988801B (zh) | 一种显示注释信息的方法及装置 | |
CN110809234A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221123 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518100 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: No. 1, Yangguang 5th Road, Miaoshan, Jiangxia Economic Development Zone, Wuhan, Hubei 430000 Patentee before: Tencent Technology (Wuhan) Co.,Ltd. |