一种代码处理方法、系统及服务器与流程

文档序号:11729178阅读:245来源:国知局
一种代码处理方法、系统及服务器与流程

【技术领域】

本发明涉及计算机技术领域,尤其涉及一种代码处理方法、系统及服务器。



背景技术:

用于前端开发的开源工具包,如bootstrap、frozenui等,都是第三方代码开源库,用户在项目开发过程中,可以根据需求从中获取所需要的代码,获取到的代码可直接使用,或者,也可以根据需求对获取到的代码进行改写。

然而,现有技术中不同用户各自分别对从第三方代码开源库获取到的代码进行改写,不同用户改写后的代码会具有一定的通用性,但是目前改写后的代码无法在多用户之间进行重复利用,造成了代码的浪费。



技术实现要素:

有鉴于此,本发明实施例提供了一种代码处理方法、系统及服务器,用以解决现有技术中代码无法在多用户之间进行重复利用的问题。

一方面,本发明实施例提供了一种代码处理方法,应用于包括分享者使用的第一客户端、使用者使用的第二客户端和服务器的系统,包括:

所述第一客户端获取分享者的第一代码;

所述第一客户端将所述第一代码发送给所述服务器;

所述服务器根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

所述服务器将所述第二代码发送给所述第二客户端;

所述第二客户端输出所述第二代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端为浏览器;

所述服务器将所述第二代码发送给所述第二客户端之前,还包括:所述浏览器响应于第一使用者的请求,向所述服务器发送针对所述第二代码的数据请求;以及,所述服务器响应于所述数据请求,获取页面模版;

所述服务器将所述第二代码发送给所述第二客户端,包括:所述服务器将所述第二代码和所述页面模版发送给所述浏览器;

所述第二客户端输出所述第二代码,包括:所述浏览器根据所述第二代码和所述页面模版展现指定页面。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述指定页面的内容包括:所述第二代码和所述第二代码经过渲染后的显示界面中至少一种。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端根据所述第二代码和所述页面模版展现指定页面之前,还包括:所述服务器将所述第一代码发送给所述浏览器;

所述指定页面的内容包括:

所述第二代码和所述第二代码经过渲染后的显示界面中至少一种;以及,

所述第一代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:所述第一客户端将所述第一代码发送给所述服务器的同时,将配置文件发送给所述服务器,所述配置文件包含所述第二代码的名称和所述第二代码的组件类别中至少一个;

所述服务器获取页面模版包括:所述服务器根据所述第二代码的名称和所述第二代码的组件类别中至少一个获取所述页面模版。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端为使用者使用的编辑器;所述服务器将所述第二代码发送给所述第二客户端之前,还包括:

所述编辑器接收使用者输入的关键字,并向所述服务器发送所述关键字;

所述服务器获取与所述关键字相匹配的第二代码;

所述服务器将与所述关键字相匹配的第二代码中各第二代码的名称发送给所述编辑器;

所述编辑器展现与所述关键字相匹配的第二代码中各第二代码的名称;

所述编辑器响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,向所述服务器发送该第二代码的下载请求;

所述服务器将所述第二代码发送给所述第二客户端,包括:所述服务器响应于所述下载请求,将所述第二代码发送给所述编辑器。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:所述服务器将所述第二代码发送给所述编辑器同时,所述服务器将该第二代码对应的第一代码发送给所述编辑器;

所述第二客户端输出所述第二代码,包括:所述编辑器展现所述第二代码和所述第一代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端为使用者使用的编辑器;所述第二客户端输出所述第二代码之前,还包括:

所述编辑器接收使用者输入的关键字,获取与所述关键字相匹配的第二代码;

所述编辑器展现与所述关键字相匹配的第二代码中各第二代码的名称;

所述第二客户端输出所述第二代码,包括:所述编辑器响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称选出的第二代码的名称,展现该第二代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:

所述服务器将所述第二代码发送给所述编辑器的同时,将该第二代码对应的第一代码发送给所述编辑器;

所述编辑器在展现所述第二代码的页面中同时展现所述第一代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述基于所述第二格式对所述第一代码进行格式转换,得到第二代码,包括:

所述服务器从采用第一格式的第一代码中提取每个字段各自的数据;

所述服务器将提取的每个字段各自的数据以第二格式进行存储,得到第二代码。

另一方面,本发明实施例提供了一种代码处理方法,执行于服务器中,包括:

接收第一客户端发送的分享者的第一代码;

根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

将所述第二代码发送给第二客户端,以便于所述第二客户端输出所述第二代码。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端为浏览器;

将所述第二代码发送给所述第二客户端之前,还包括:接收所述浏览器响应于第一使用者的请求所发送的针对所述第二代码的数据请求;以及,响应于所述数据请求,获取页面模版;

将所述第二代码发送给所述第二客户端,包括:将所述第二代码和所述页面模版发送给所述浏览器。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二客户端为使用者使用的编辑器;将所述第二代码发送给所述第二客户端之前,还包括:

接收所述编辑器发送的使用者输入的关键字;

获取与所述关键字相匹配的第二代码;

将与所述关键字相匹配的第二代码中各第二代码的名称发送给所述编辑器,以便于所述编辑器展现与所述关键字相匹配的第二代码中各第二代码的名称;

接收所述编辑器响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,向所述服务器发送的第二代码的下载请求;

将所述第二代码发送给所述第二客户端,包括:响应于所述下载请求,将所述第二代码发送给所述编辑器。

另一方面,本发明实施例提供了一种代码处理系统,包括:分享者使用的第一客户端、使用者使用的第二客户端和服务器;

所述第一客户端,用于获取分享者的第一代码;

所述第一客户端,还用于将所述第一代码发送给所述服务器;

所述服务器,用于根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

所述服务器,还用于将所述第二代码发送给所述第二客户端;

所述第二客户端,用于输出所述第二代码。

另一方面,本发明实施例提供了一种服务器,包括:

接收单元,用于接收第一客户端发送的分享者的第一代码;

处理单元,用于根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

发送单元,用于将所述第二代码发送给第二客户端,以便于所述第二客户端输出所述第二代码。

上述技术方案中的一个技术方案具有如下有益效果:

本发明实施例提供的技术方案中,分享者通过第一客户端提供的第一代码,在经过格式转换之后得到第二代码,第二代码可以由服务器进一步提供给使用者使用的第二客户端,从而使用者可以获得第二代码。使得代码可以在多用户之间共享,实现了代码的重复利用,避免了代码的浪费。实际应用中,如多个开发人员进行项目开发时,相互之间可以进行代码共享,不再被动的使用第三方提供的代码库,实现了代码沉淀和积累,在一定程度上提高了开发效率。

另外,本发明实施例中,使用了模块化共享代码的思路,大量的模块化代码可以进行复用、共享,其他用户可以在此基础上进行改写,在一定程度上提高了开发效率。与使用第三方代码库的方式相比,使用共享代码可以将开发时间节省30%以上。而且,共享代码经过多次共享以及多次改写后,代码的可靠性得以不断提高,从而降低了代码运行出现异常的概率,时间越长代码质量会越来越高。

【附图说明】

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

图1是本发明实施例所提供的代码处理方法所应用的系统示例图;

图2是本发明实施例所提供的代码处理方法的交互流程示意图;

图3是本发明实施例所提供的对第一代码进行格式转换的示例图;

图4是本发明实施例所提供的代码处理方法的另一交互流程示意图;

图5是本发明实施例所提供的使用者使用的浏览器展现第二代码的一种示例图;

图6是本发明实施例所提供的使用者使用的浏览器展现第二代码的另一种示例图;

图7是本发明实施例所提供的代码处理方法的另一交互流程示意图;

图8是本发明实施例所提供的编辑器的界面示例图;

图9是本发明实施例所提供的代码处理方法的另一交互流程示意图;

图10是本发明实施例所提供的代码处理方法的在使用侧的流程示意图;

图11是本发明实施例所提供的代码处理方法在服务器侧的流程示意图;

图12是本发明实施例所提供的代码处理系统的结构示意图;

图13是本发明实施例所提供的服务器的功能方块图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述客户端,但这些客户端不应限于这些术语。这些术语仅用来将客户端彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一客户端也可以被称为第二客户端,类似地,第二客户端也可以被称为第一客户端。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

针对现有技术所存在的代码无法在多用户之间进行重复利用,所导致的代码浪费的问题,本发明实施例提供了相应的解决思路:分享者使用客户端将代码上传到服务器,服务器对该代码进行处理后,进一步提供给其他客户端,从而实现了代码在多用户之间的共享,达到了重复利用的目的,避免代码浪费,提高了代码开发效率。

需要说明的是,请参考图1,其为本发明实施例所提供的代码处理方法所应用的系统示例图,如图1所示,本发明实施例可以应用于包括分享者使用的第一客户端、使用者使用的第二客户端和服务器的系统,服务器可集成在网络侧。

本发明实施例给出一种代码处理方法,请参考图2,其为本发明实施例所提供的代码处理方法的交互流程示意图,如图所示,该方法包括以下步骤:

201、第一客户端获取分享者的第一代码。

在一种可行的实现方案中,分享者想将代码(本发明实施例称为第一代码)分享给其他用户时,可以在所使用的客户端(本发明实施例称为第一客户端)上直接输入第一代码,或者,将包含第一代码的代码文件上传至所使用的客户端,如此,第一客户端就可以接收到用户输入的第一代码,或者,接收到代码文件,可以进一步从代码文件中提取代码,从而实现对分享者的第一代码的获取。

另外,分享者还可以上传配置文件,这样,第一客户端还可以获得该配置文件。该配置文件可以包含第一代码转换后得到的代码(本发明实施例称为第二代码)的名称和第一代码转换后得到的代码(本发明实施例称为第二代码)的组件类别中至少一个。需要说明的是,若该名称是使用组件类别进行命名,则配置文件中可以不包含组件类别,或者,若该名称不是使用组件类别进行命名,则配置文件中需要包含组件类别。例如,组件类别可以包括:输入框(input)、按钮(button)和列表(list)等,本发明实施例对此不进行特别限定。

本发明实施例中,分享者的第一代码可以是以下格式中任一种格式的代码:基于java语言的agent开发框架(javaagentdevelopmentframework,jade)、语法层叠样式表(syntacticallycascadingstylesheets,scss)或者脚本(javascript,js)。

本发明实施例中,第一代码可以是一行代码,或者,还可以是多行代码,本发明实施例对此不进行特别限定。

202、第一客户端将所述第一代码发送给所述服务器。

第一客户端将分享者的第一代码发送给服务器,如果第一客户端还获得了配置文件,还需要将配置文件也发送给服务器。其中,配置文件和第一代码可以一起发送,或者,也可以分开发送,本发明实施例对此不进行特别限定。

203、服务器根据第一代码所采用的第一格式确定对应的第二格式,并基于第二格式对第一代码进行格式转换,得到第二代码。

在一个具体的实现方案中,服务器从采用第一格式的第一代码中提取每个字段各自的数据;然后根据第一格式确定第二格式;服务器将提取的每个字段各自的数据以第二格式进行存储,得到第二代码。

在一种可行的实现方案中,可以根据包含第一代码的代码文件的文件名后缀确定第一代码所采用的第一格式。

在一种可行的实现方案中,可以预先建立第一格式与第二格式之间的映射关系,从而可以根据第一代码所采用的第一格式,确定对应的第二格式。请参考图3,其为本发明实施例所提供的对第一代码进行格式转换的示例图,如图3所示,例如,若第一代码采用jade格式,第二格式可以为超文本标记语言(hypertextmarkuplanguage,html)格式,将第一代码中每个字段各自的数据以html格式进行存储,得到第二代码。或者,又例如,若第一代码采用scss格式,第二格式可以为层叠样式表(cascadingstylesheets,css)格式,将第一代码中每个字段各自的数据以css格式进行存储,得到第二代码。或者,又例如,若第一代码采用js格式,第二格式也可以为js格式,因此,可以不对第一代码进行转换,将其直接作为第二代码,或者,也可以对第一代码进行转换,得到第二代码,但是第一代码和第二代码采用的格式相同,都是js格式。

需要说明的是,对于jade格式的第一代码以及scss格式的第一代码,浏览器不能直接对其进行渲染,而html格式、css格式以及js格式的代码,浏览器是可以直接对其进行渲染的,本发明实施例中,服务器得到的第二代码在一些情况下需要通过浏览器渲染,以展现指定页面,这样,使用者可以通过展现的指定页面来获取分享者分享的代码。因此本发明实施例中,需要对这jade格式的第一代码或scss格式的第一代码进行格式转换(也可以称为编译),分别转换成浏览器能够直接进行渲染的格式的代码。

进一步的,服务器在得到第二代码后,可以将第二代码存储至本地的指定文件中。或者,服务器也可以将第一代码和对应的第二代码都存储在该指定文件中。在一种可行的实现方案中,该指定文件可以是文本格式的文件,如txt格式的文件或者js格式的文件。

本发明实施例中,如果服务器对第一代码进行格式转换成功,表示第一代码的数据合法,然后执行步骤204,反之,如果服务器对第一代码进行格式转换失败,表示第一代码的数据不合法,结束当前流程。

204、服务器将第二代码发送给所述第二客户端。

服务器在将第二代码在本地存储成功后,将其发送给使用者使用的第二客户端。在一种具体的实现方案中,服务器可以主动将第二代码推送给第二客户端,或者,服务器也可以根据第二客户端发送的请求,将第二代码发送给第二客户端。

205、第二客户端输出第二代码。

第二客户端从服务器接收到第二代码后,可以将第二代码输出,这样,使用第二客户端的使用者可以获取到第二代码,从而实现代码在分享者与使用者之间的分享。

本发明实施例提供的技术方案中,分享者通过第一客户端提供的第一代码,在经过格式转换之后得到第二代码,第二代码可以由服务器进一步提供给使用者使用的第二客户端,从而使用者可以获得第二代码。使得代码可以在多用户之间共享,实现了代码的重复利用,避免了代码的浪费。实际应用中,如多个开发人员进行项目开发时,相互之间可以进行代码共享,不再被动的使用第三方提供的代码库,实现了代码沉淀和积累,在一定程度上提高了开发效率。

另外,本发明实施例中,对分享者提供的第一代码进行格式转换,得到第二代码,将第二代码存储在指定文件中,使用了模块化共享代码的思路,大量的模块化代码可以进行复用、共享,其他用户可以在此基础上进行改写,在一定程度上提高了开发效率。与使用第三方代码库的方式相比,使用共享代码可以将开发时间节省30%以上。而且,共享代码经过多次共享以及多次改写后,代码的可靠性得以不断提高,从而降低了代码运行出现异常的概率,时间越长代码质量会越来越高。

基于上述代码处理方法,本发明实施例提供了另一种可行的实现方案。结合图1,本实施例中以第二客户端是浏览器为例进行说明。请参考图4,其为本发明实施例所提供的代码处理方法的另一交互流程示意图,如图4所示,包括:

401、第一客户端获取分享者的第一代码。

步骤401的具体实现方案可以参考步骤201的描述。

402、第一客户端将第一代码发送给所述服务器。

步骤402的具体实现方案可以参考步骤202的描述。

403、服务器对第一代码进行格式转换,得到第二代码。

步骤403的具体实现方案可以参考步骤203的描述。

404、浏览器响应于第一使用者的请求,向服务器发送针对第二代码的数据请求。

服务器在获得第二代码后,可以通过网页发布该第二代码,这样,其他用户(称为第一使用者)可以通过浏览器浏览该网页时看到该第二代码的相关信息,如名称、组件类别和第二代码的部分片段等。如果该第一使用者需要进一步获取该第二代码的详细信息,则可以点击第二代码的链接,相当于向浏览器发起获取第二代码的请求,如此,浏览器可以获取到第一使用者的请求。或者,第一使用者也可以在浏览器的地址输入栏中输入该第二代码的统一资源定位符(uniformresourcelocator,url)地址,相当于向浏览器发起获取第二代码的请求,如此,浏览器也可以获取到第一使用者的请求。进一步的,浏览器响应于第一使用者的请求,向服务器发送针对第二代码的数据请求,如针对第二代码的url请求。

405、服务器响应于该数据请求,获取页面模版。

服务器接收到浏览器发送的数据请求后,根据该数据请求先找到保存第二代码的文件,然后从文件中提取第二代码,然后根据第二代码获取对应的页面模版。

在一种可行的实现方案中,第一客户端将第一代码发送给服务器的同时,将上述配置文件也发送给服务器,由于配置文件包含第二代码的名称和第二代码的组件类别中至少一个;因此,服务器可以根据第二代码的名称和第二代码的组件类别中至少一个获取该第二代码对应的页面模版。

可以理解的是,可以预先建立组件类别与页面模版的对应关系,若第二代码的名称根据组件类别命名,则可以根据第二代码的名称从该对应关系中找到页面模版。若配置文件中包含第二代码的组件类别,则可以根据该组件类别从对应关系中找到页面模版。

406、服务器将第二代码和页面模版发送给浏览器。

407、浏览器根据第二代码和页面模版展现指定页面。

浏览器基于第二代码和页面模版进行渲染,以展现指定页面。

在一种可行的实现方案中,指定页面的内容可以包含第二代码和第二代码经过渲染后的显示界面中至少一种。

请参考图5,其为本发明实施例所提供的使用者使用的浏览器展现第二代码的一种示例图,如图5所示,图5所示的指定页面中没有包含第二代码本身,而是只包含了第二代码经过渲染后的显示界面,即多种不同样式的按钮组件。例如,一个第二代码中可以包含多个按钮组件的代码,这样经过渲染后就可以在浏览器中展现出多个按钮组件。或者,一个第二代码中也可以只包含一个按钮控件的代码,这样经过渲染后就可以在浏览器中展现一个按钮。本发明实施例这里仅为举例说明,并不用于限定展现第二代码的实现方式。

请参考图6,其为本发明实施例所提供的使用者使用的浏览器展现第二代码的另一种示例图,如图6所示,图6所示的指定页面中包含了第二代码本身,还包含了第二代码经过渲染后的显示界面,此外,还可以包含服务器可以提供的各种组件类别以及每个组件类别下组件各自的名称。

在另一种可行的实现方案中,若浏览器根据第二代码和页面模版展现指定页面之前,服务器还可以将第一代码也发送给浏览器,相应的,该指定页面的内容可以包括:第二代码和第二代码经过渲染后的显示界面中至少一种;以及,第一代码。

可以理解的是,有些使用者对格式转换前的原始代码有需求,因此也可以将第二代码在格式转换前的原始代码,即第一代码也发送给浏览器,浏览器进而可以对其进行展现。本发明实施例中,若第一代码和第二代码都存入上述指定文件中,则服务器可以将该指定文件与页面模版一起发送给浏览器。

可以理解的是,指定页面的内容的不同,其页面模版可以不同,对于每个组件类型对应的页面模版,根据展现内容的不同,可以配置一个或者多个页面模版,在获取与组件类别对应的页面模板时,可以从对应的多个页面模版中获取默认的一个页面模版,或者,也可以根据浏览器指示获取一个页面模版,本发明实施例对此不进行特别限定。

本实施例中,在向使用者提供共享的第二代码时,可以通过浏览器向使用者提供第二代码的预览服务,可以显示第二代码本身,也可以显示转换前的第一代码,还可以显示第二代码渲染后的显示界面,提供了不同类型的预览方式,实现了代码的多样化共享。显示第二代码渲染后的显示界面可以直观的让使用者感受到第二代码的应用样式,方便使用者进行浏览和筛选。

基于上述代码处理方法,本发明实施例还提供了另一种可行的实现方案。结合图1,本实施例中以第二客户端是编辑器为例进行说明。请参考图7,其为本发明实施例所提供的代码处理方法的另一交互流程示意图,如图7所示,包括:

701、第一客户端获取分享者的第一代码。

步骤701的具体实现方案可以参考步骤201的描述。

702、第一客户端将第一代码发送给所述服务器。

步骤702的具体实现方案可以参考步骤202的描述。

703、服务器对第一代码进行格式转换,得到第二代码。

步骤703的具体实现方案可以参考步骤203的描述。

704、编辑器接收使用者输入的关键字,并向服务器发送关键字。

可以理解的是,基于上述流程,服务器中可以获得多个分享者的第二代码,从而可以向编辑器提供代码搜索及下载服务,这样,使用编辑器的使用者就可以获得分享者的第二代码,实现了代码共享。使用者需要搜索代码时,可以在编辑器提供的搜索框中输入关键字,这样,编辑器就可以接收到使用者在搜索框中输入的关键字,然后向服务器发送搜索请求,该搜索请求中携带该关键字。

请参考图8,其为本发明实施例所提供的编辑器的界面示例图,如图8所示,使用者在搜索框中输入了关键字“ui”。

705、服务器获取与关键字相匹配的第二代码。

在一种可行的实现方案中,服务器中对于所存储的第二代码,可以建立一个索引表,该索引表中包含第二代码的名称与第二代码的存储位置之间的映射关系。服务器接收到编辑器发送的搜索请求后,响应于该搜索请求,根据其携带的关键字在上述索引表的第二代码的名称中进行搜索,以获取与关键字相匹配的第二代码。

与关键字相匹配的第二代码可以通过计算第二代码的名称与关键字之间的相关度获得,如果该相关度大于预设的阈值,则该第二代码的名称可以作为与关键字相匹配的第二代码,相反,如果该相关于小于预设的阈值,则该第二代码的名称不可以作为与关键字相匹配的第二代码。

706、服务器将与关键字相匹配的第二代码中各第二代码的名称发送给编辑器。

707、编辑器展现与关键字相匹配的第二代码中各第二代码的名称。

编辑器从服务器获得与关键字相匹配的第二代码中各第二代码的名称后,对这些第二代码的名称进行展现,以便于使用者进行浏览和筛选。

如图8所示,编辑器中显示了若干与关键字“ui”相匹配的第二代码的名称,如“ui-btn”、“ui-list”、“ui-slider”、“ui-nowrap”、“ui-btn-primary”、“ui-btn-danger”和“ui-btn-lg”等,由于与关键字“ui”相匹配的第二代码的名称数量较多,因此可以通过显示框中的滑动块进行上下滑动,以便浏览全部与关键字“ui”相匹配的第二代码的名称。

708、编辑器响应于使用者根据与关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,向服务器发送该第二代码的下载请求。

在一种可行的实现方案中,使用者可以在编辑器中,根据与关键字相匹配的第二代码中各第二代码的名称选择第二代码的名称,然后点击选出的第二代码的名称,以使编辑器响应于使用者根据与关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,向服务器发送该第二代码的下载请求,该下载请求可以携带选出的第二代码的名称。

709、服务器响应于下载请求,将第二代码发送给编辑器。

在一种可行的实现方案中,服务器接收到编辑器发送的下载请求中,根据其携带的第二代码的名称在索引表中进行查询,以获取该第二代码的存储位置,然后从该存储位置读取第二代码,并将第二代码通过下载响应发送给编辑器。

710、编辑器输出第二代码。

在一种可行的实现方案中,如果编辑器只从服务器获得第二代码,则可以直接在自身的代码显示区域中展现该第二代码,这样使用者可以浏览到第二代码。或者,如果服务器将第二代码发送给编辑器时,还可以将该第二代码对应的第一代码也发送给编辑器,编辑器可以在自身的代码显示区域中展现第二代码和第一代码。

如图8所示,使用者在若干与关键字“ui”相匹配的第二代码中选择了名称是“ui-btn”,这样,在图8所示的编辑器的界面中显示名称是“ui-btn”的第二代码。

本实施例中,服务器在获得第二代码后,并没有将第二代码推送给编辑器,而是当接收到编辑器的下载请求时,才将第二代码发送给编辑器,这样,在实现代码共享的基础上,还可以节省编辑器本地的存储空间,有针对性的实现代码下载。

本实施例中,用户需要代码时,可以在编辑器上对代码进行搜索,从而可以获得所需要的代码,实现了能够及时高效的获取代码。

基于上述代码处理方法,本发明实施例还提供了另一种可行的实现方案。结合图1,本实施例中以第二客户端是编辑器为例进行说明。请参考图9,其为本发明实施例所提供的代码处理方法的另一交互流程示意图,如图9所示,包括:

901、第一客户端获取分享者的第一代码。

步骤901的具体实现方案可以参考步骤201的描述。

902、第一客户端将第一代码发送给所述服务器。

步骤902的具体实现方案可以参考步骤202的描述。

903、服务器对第一代码进行格式转换,得到第二代码。

步骤903的具体实现方案可以参考步骤203的描述。

904、服务器将第二代码发送给编辑器。

在一种可行的实现方案中,服务器可以在获得第二代码后,将该第二代码发送给一个或者多个编辑器。或者,服务器也可以根据每个编辑器的发送周期,以发送周期为时间间隔发送在该时间间隔内生成的一个或者多个第二代码。

905、编辑器接收使用者输入的关键字,获取与关键字相匹配的第二代码。

在一种可行的实现方案中,编辑器中对于所存储的第二代码,可以建立一个索引表,该索引表中包含第二代码的名称与第二代码的存储位置之间的映射关系。编辑器对于接收到的各第二代码进行存储,这样,就可以直接向使用者提供代码搜索和浏览服务。

编辑器通过搜索框接收使用者输入的关键字,然后根据该关键字在本地建立的索引表的第二代码的名称中进行搜索,以获取与关键字相匹配的第二代码。例如,如图8所示,使用者在搜索框中输入了关键字“ui”。

906、编辑器展现与关键字相匹配的第二代码中各第二代码的名称。

编辑器获得与关键字相匹配的第二代码中各第二代码的名称后,对这些第二代码的名称进行展现,以便于使用者进行浏览和筛选。

如图8所示,编辑器中显示了若干与关键字“ui”相匹配的第二代码的名称,如“ui-btn”、“ui-list”、“ui-slider”、“ui-nowrap”、“ui-btn-primary”、“ui-btn-danger”和“ui-btn-lg”等,由于与关键字“ui”相匹配的第二代码的名称数量较多,因此可以通过显示框中的滑动块进行上下滑动,以便浏览全部的与关键字“ui”相匹配的第二代码的名称。

907、编辑器响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称选出的第二代码的名称,展现该第二代码。

在一种可行的实现方案中,使用者可以在编辑器中,根据与关键字相匹配的第二代码中各第二代码的名称选择第二代码的名称,然后点击选出的第二代码的名称,编辑器响应于使用者根据与关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,根据其该第二代码的名称在索引表中进行查询,以获取该第二代码的存储位置,然后从该存储位置读取第二代码。

进一步的,如果编辑器本地只存储第二代码,编辑器可以在自身的代码显示区域中展现该第二代码,这样使用者可以浏览到第二代码。或者,如果服务器将第二代码发送给编辑器时,还将该第二代码对应的第一代码也发送给编辑器,则编辑器可以在自身的代码显示区域中同时展现第二代码和第一代码。

如图8所示,使用者在若干与关键字“ui”相匹配的第二代码中选择了名称是“ui-btn”的第二代码,这样,在图7所示的编辑器的界面中显示名称是“ui-btn”的第二代码。

本实施例中,服务器在获得第二代码后,可以主动将第二代码推送给编辑器,编辑器根据使用者的需求,向使用者提供所需要的第二代码,这样,在实现代码共享的基础上,编辑器在向使用者提供第二代码时,不需要再与服务器进行交互,从服务器下载第二代码,而是可以直接从本地读取并输出给使用者,因此还可以提高第二代码的输出效率,提升用户体验。

基于上述代码处理方法,本发明实施例还提供了另一种可行的实现方案。结合图1,本实施例中以第二客户端是编辑器为例进行说明。请参考图10,其为本发明实施例所提供的代码处理方法的在使用侧的流程示意图,如图10所示,包括:

1001、使用者打开编辑器。

1002、在编辑器所在设备上新建一个文件,如index.jade。

1003、用户在编辑器中输入一个关键词“ui”。

1004、编辑器根据该关键词输出与该关键词“ui”相匹配的搜索结果。

1005、搜索结果中包含一个第二代码的名称“ui-btn”,用户选择了该第二代码的名称“ui-btn”。

1006、编辑器从服务器下载名称为“ui-btn”的第二代码,并将其存入上述文件index.jade。

1007、编辑器展现第二代码。

本发明实施例还提供了一种代码处理方法,本实施例执行于上述服务器中,请参考图11,其为本发明实施例所提供的代码处理方法在服务器侧的流程示意图,如图11所示,包括:

1101、接收第一客户端发送的分享者的第一代码。

1102、根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码。

1103、将所述第二代码发送给第二客户端,以便于所述第二客户端输出所述第二代码。

需要说明的是,本实施例中服务器所执行的操作的具体实现方案可以参考上述各实施例中的相关描述,这里不再赘述。

本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。

请参考图12,其为本发明实施例所提供的代码处理系统的结构示意图。如图所示,该代码处理系统包括:分享者使用的第一客户端100、使用者使用的第二客户端200和服务器300;

所述第一客户端100,用于获取分享者的第一代码;

所述第一客户端100,还用于将所述第一代码发送给所述服务器300;

所述服务器300,用于根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

所述服务器300,还用于将所述第二代码发送给所述第二客户端200;

所述第二客户端200,用于输出所述第二代码。

在一种可行的实现方案中,所述第二客户端200为浏览器201;

所述浏览器201,还用于响应于第一使用者的请求,向所述服务器300发送针对所述第二代码的数据请求;

所述服务器300,还用于响应于所述数据请求,获取页面模版;

所述服务器300用于将所述第二代码发送给所述第二客户端200时,具体用于:将所述第二代码和所述页面模版发送给所述浏览器201;

所述第二客户端200用于输出所述第二代码时,具体用于:根据所述第二代码和所述页面模版展现指定页面。

在一种可行的实现方案中,所述指定页面的内容包括:所述第二代码和所述第二代码经过渲染后的显示界面中至少一种。

在一种可行的实现方案中,所述服务器300,还用于将所述第一代码发送给所述浏览器201;

相应的,所述指定页面的内容包括:所述第二代码和所述第二代码经过渲染后的显示界面中至少一种;以及,所述第一代码。

在一种可行的实现方案中,所述第一客户端100,还用于将所述第一代码发送给所述服务器的同时,将配置文件发送给所述服务器300,所述配置文件包含所述第二代码的名称和所述第二代码的组件类别中至少一个;

相应的,所述服务器300用于获取页面模版时,具体用于:根据所述第二代码的名称和所述第二代码的组件类别中至少一个获取所述页面模版。

在一种可行的实现方案中,所述第二客户端200为使用者使用的编辑器202;

所述编辑器202,用于接收使用者输入的关键字,并向所述服务器300发送所述关键字;

所述服务器300,还用于获取与所述关键字相匹配的第二代码;

所述服务器300,还用于将与所述关键字相匹配的第二代码中各第二代码的名称发送给所述编辑器202;

所述编辑器202,还用于展现与所述关键字相匹配的第二代码中各第二代码的名称;

所述编辑器202,还用于响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称所选出的第二代码的名称,向所述服务器发送该第二代码的下载请求;

所述服务器300用于将所述第二代码发送给所述第二客户端时,具体用于:响应于所述下载请求,将所述第二代码发送给所述编辑器。

在一种可行的实现方案中,所述服务器300,还用于将所述第二代码发送给所述编辑器同时,将该第二代码对应的第一代码发送给所述编辑器202;

所述第二客户端200输出所述第二代码时,具体用于:所述编辑器202展现所述第二代码和所述第一代码。

在一种可行的实现方案中,所述第二客户端为使用者使用的编辑器202;

所述编辑器202,用于接收使用者输入的关键字,获取与所述关键字相匹配的第二代码;

所述编辑器202,用于展现与所述关键字相匹配的第二代码中各第二代码的名称;

所述第二客户端200用于输出所述第二代码时具体用于:所述编辑器202响应于使用者根据与所述关键字相匹配的第二代码中各第二代码的名称选出的第二代码的名称,展现该第二代码。

在一种可行的实现方案中,所述服务器300,还用于将所述第二代码发送给所述编辑器的同时,将该第二代码对应的第一代码发送给所述编辑器202;

所述编辑器202,用于在展现所述第二代码的页面中同时展现所述第一代码。

在一种可行的实现方案中,所述服务器300具体用于:

从采用第一格式的第一代码中提取每个字段各自的数据;

将提取的每个字段各自的数据以第二格式进行存储,得到第二代码。

由于本实施例中的各单元能够执行图1至图11所示的方法,本实施例未详细描述的部分,可参考对图1至图11的相关说明。

请参考图13,其为本发明实施例所提供的服务器的功能方块图。如图所示,该服务器包括:

接收单元301,用于接收第一客户端发送的分享者的第一代码;

处理单元302,用于根据所述第一代码所采用的第一格式确定对应的第二格式,并基于所述第二格式对所述第一代码进行格式转换,得到第二代码;

发送单元303,用于将所述第二代码发送给第二客户端,以便于所述第二客户端输出所述第二代码。

由于本实施例中的各单元能够执行图1至图11所示的方法,本实施例未详细描述的部分,可参考对图1至图11的相关说明。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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