CN113467772B - 项目模板生成方法及装置、电子设备和存储介质 - Google Patents

项目模板生成方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113467772B
CN113467772B CN202110782280.6A CN202110782280A CN113467772B CN 113467772 B CN113467772 B CN 113467772B CN 202110782280 A CN202110782280 A CN 202110782280A CN 113467772 B CN113467772 B CN 113467772B
Authority
CN
China
Prior art keywords
project
information
template
developed
web page
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
Application number
CN202110782280.6A
Other languages
English (en)
Other versions
CN113467772A (zh
Inventor
尤海洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110782280.6A priority Critical patent/CN113467772B/zh
Publication of CN113467772A publication Critical patent/CN113467772A/zh
Application granted granted Critical
Publication of CN113467772B publication Critical patent/CN113467772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种项目模板生成方法及装置、电子设备和存储介质。本公开涉及大数据技术领域,可用于金融技术领域。本公开的项目模板生成方法,包括:利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别;根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板;根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。

Description

项目模板生成方法及装置、电子设备和存储介质
技术领域
本公开涉及大数据技术领域,更具体地,涉及一种项目模板生成方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
在前端开发领域中,开发人员需要创建项目模板,以便进一步开发项目系统。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题,所有项目的开发人员基于同一套模板代码创建的项目都是完全一样的,不能实现根据用户需要定制化创建项目的功能,或者相关技术中采用脚手架工具进行项目模板创建时,脚手架工具与开发工具耦合程度比较高,如果项目模板有变化,就需要开发人员再重新安装脚手架工具,开发成本比较高。
发明内容
有鉴于此,本公开提供了一种项目模板生成方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
本公开的一个方面提供了一种项目模板生成方法,包括:
利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别;
根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板;
根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。
根据本公开的实施例,其中,利用可视化脚手架工具获取待开发项目的项目信息包括:利用可视化脚手架工具加载目标Web页面,以便通过目标Web页面生成项目信息。
根据本公开的实施例,上述方法还包括:通过目标Web页面生成项目信息后,由目标Web页面根据项目信息可视化展示待开发项目的项目预览效果。
根据本公开的实施例,其中,通过目标Web页面生成项目信息包括:
在Web页面中展示操作界面,其中操作界面中包括项目类型选择明细、以及项目功能类别选择明细;
获取输入操作;
响应于输入操作,将待开发项目的项目类型填充至项目类型选择明细中、以及将待开发项目的项目功能类别填充至项目功能类别选择明细中;
根据填充后的项目类型选择明细、以及填充后的项目功能类别选择明细,生成项目信息。
根据本公开的实施例,其中,目标Web页面的网站地址被嵌入在可视化脚手架工具中;
利用可视化脚手架工具加载目标Web页面包括:
通过可视化脚手架工具访问目标Web页面的网站地址,以加载目标Web页面。
根据本公开的实施例,上述方法还包括:
创建针对目标Web页面的页面更新任务;
响应于页面更新任务,在网站服务器中,对目标Web页面的页面进行更新。
根据本公开的实施例,上述方法还包括:
创建针对全量项目功能模板的模板更新任务;
响应于模板更新任务,在公共服务器中,执行针对全量项目功能模板的模板更新任务。
本公开的另一个方面提供了一种项目模板生成装置,包括第一获取模块、第二获取模块以及生成模块。
其中,第一获取模块,用于利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别。
第二获取模块,用于根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板。
生成模块,用于根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。
根据本公开的实施例,其中,第一获取模块包括:生成单元,用于利用可视化脚手架工具加载目标Web页面,以便通过目标Web页面生成项目信息。
根据本公开的实施例,上述装置还包括:展示模块,用于通过目标Web页面生成项目信息后,由目标Web页面根据项目信息可视化展示待开发项目的项目预览效果。
根据本公开的实施例,其中,生成单元包括展示子单元、获取子单元、填充子单元、生成子单元。
展示子单元,用于在Web页面中展示操作界面,其中操作界面中包括项目类型选择明细、以及项目功能类别选择明细。
获取子单元,用于获取输入操作。
填充子单元,用于响应于输入操作,将待开发项目的项目类型填充至项目类型选择明细中、以及将待开发项目的项目功能类别填充至项目功能类别选择明细中。
生成子单元,用于根据填充后的项目类型选择明细、以及填充后的项目功能类别选择明细,生成项目信息。
根据本公开的实施例,其中,目标Web页面的网站地址被嵌入在可视化脚手架工具中。利用可视化脚手架工具加载目标Web页面包括:通过可视化脚手架工具访问目标Web页面的网站地址,以加载目标Web页面。
根据本公开的实施例,上述装置还包括第一创建模块、第一更新模块。
其中,第一创建模块,用于创建针对目标Web页面的页面更新任务。第一更新模块,用于响应于页面更新任务,在网站服务器中,对目标Web页面的页面进行更新。
根据本公开的实施例,上述装置还包括第二创建模块、第二更新模块。
其中,第二创建模块,用于创建针对全量项目功能模板的模板更新任务;第二更新模块,用于响应于模板更新任务,在公共服务器中,执行针对全量项目功能模板的模板更新任务。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器、以及存储器;其中该存储器用于存储一个或多个程序;其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的项目模板生成方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的项目模板生成方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的项目模板生成方法。
根据本公开的实施例,因采用了可视化脚手架工具获取待开发项目的项目信息,可克服命令行工具脚手架带来的需要逐条输入项目信息操作繁琐的问题、以及命令行工具脚手架不能预览展示项目预生成效果的缺陷。此外,因从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板,将项目模板和可视化脚手架工具进行了解耦,因此,如果可视化脚手架工具有所变动,工具提供者只需要把新版插件发布到应用市场即可,而开发人员安装的工具会自动升级到最新版。如果当项目模板代码有变化时,也只需要把模板代码上传至公共服务器即可,利用可视化脚手架工具创建项目时,也会到服务器上下载最新模板代码,无需开发人员手动下载、升级模板。因此,无论是可视化脚手架工具、还是项目模板代码的升级,都无需开发人员关心,整个过程可做到无感知,用户体验佳。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用本公开的项目模板生成方法及装置的示例性系统架构;
图2是相关技术中一种执行项目模板生成方法的流程图;
图3是相关技术中另一种执行项目模板生成方法的流程图;
图4示意性示出了根据本公开实施例的项目模板生成方法的流程图;
图5示意性示出了用户在执行根据本公开实施例的项目模板生成方法的操作时序图;
图6示意性示出了根据本公开实施例的项目模板生成装置的框图;以及
图7示意性示出了根据本公开实施例的用于实现项目模板生成方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
需要说明的是,本公开的目模板生成方法及装置涉及大数据技术领域,可用于金融技术领域,也可用于除大数据技术领域和金融技术领域之外的任意领域,本公开对该模板生成方法及装置的应用领域不做限定。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开的实施例提供了一种项目模板生成方法,包括:
利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别;
根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板;
根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。
在对本公开的实施例进行详细阐述之前,先对本公开实施例提供的方法所涉及的系统结构以及应用场景进行如下介绍。
图1示意性示出了可以应用本公开的项目模板生成方法及装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、公共服务器102、以及网站服务器103。
根据本公开的实施例,终端设备101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。
用户可以使用终端设备101通过网络与公共服务器102、以及网站服务器103交互,以接收或发送消息等。
网站服务器103可以是根据用户需求提供定制化服务的服务器,可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备101。
根据本公开的实施例,项目开发者利用终端设备101执行项目模板生成方法,以生成待开发项目的项目模板,以便进一步根据项目模板构建项目系统。终端设备101上安装有可视化脚手架工具,例如可以为VSCode插件,该VSCode插件为插件开发者通过Electron、VSCode、Node.js、Vue.js等技术开发出的一种可视化脚手架工具。
根据本公开的实施例,可视化脚手架工具提供者将VSCode插件发布到应用市场,开发者需要到VSCode的应用市场安装此插件到终端设备101。之后,可利用终端设备101执行项目模板生成方法,生成待开发项目的项目模板。具体地,开发者打开此插件工具后,工具会自动打开创建项目的Web页面。在这个页面中,会提供开发者们可以选择或输入的所有项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别。开发者通过Web页面输入项目信息后,Web页面根据项目信息可以可视化展示待开发项目的项目预览效果,在操作过程中都会有所见即所得的效果供开发者们查看。
根据本公开的实施例,开发者在Web页面中输入完所有信息后,开发者只需要一键提交表单。然后VSCode插件就会根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板。之后,VSCode插件会根据开发人员输入的第二信息进行动态的生成与待开发项目的项目功能类别相匹配的目标项目模板到用户终端设备101的文件夹中。
应该理解,图1中的终端设备、和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、和服务器。
脚手架工具,是一个供研发人员使用的工具,用于快速创建一个基础项目,让研发人员节省很多从零手动建项目的过程。
在实现本公开的过程中,创建项目模板例如可采用如下两种方案。
第一种方案,直接提供一套项目的基础模板代码。项目模板提供者将其存放到一个公共地址(如:github或ftp共享服务器),研发人员可以到此地址手动下载或者克隆项目模板到本地,后可以基于此模板进行业务功能开发。
图2是相关技术中一种执行项目模板生成方法的流程图。如图2所示,执行流程如下:
模板提供者开发完项目模板代码后,只需要把代码上传至公共服务器。项目的开发人员到公共服务器上下载最新的模板代码即可。
第二种方案,是利用Node.js技术开发一个命令行工具脚手架。脚手架提供者把此工具发布到公有或者私有npm仓库,开发人员在电脑上全局安装此脚手架工具后,开发人员在使用该工具的过程中,通过命令行工具(cmd、powershell、iTerm2等)来创建项目的基础模板。
图3是相关技术中另一种执行项目模板生成方法的流程图。如图3所示,执行流程如下:
脚手架工具提供者开发一个基于Node.js的命令行工具;在命令行工具中集成了我们所需要的项目模板代码。
然后工具提供者把命令行工具发布到npm公共仓库供其他开发者们下载使用。
开发者们在自己的电脑上安装此命令行工具,在自己电脑上使用此命令行工具来创建项目。
在使用命令行工具创建项目的过程中,命令行工具提示一条信息,开发人员就需要选择或输入一定的信息进行反馈,以此循环直到信息全部输入完毕。
当工具提供者修改了模板代码后,工具提供者以及其他所有开发人员需要重复执行上述操作来使用新的模板代码。
在实现本公开的过程中,发现上述两种方案存在一些技术缺陷:
第一种方案,不够灵活,所有项目的开发人员基于同一套模板代码创建的项目都是完全一样的,不能实现根据用户需要动态化创建项目的能力(即:根据不同用户需求生成不同的代码)。
第二种方案虽然可以提供一定的定制化功能,开发人员可以在命令行工具创建项目的过程中,根据项目需要,选择自己需要的项目基础功能,从而创建出自己定制的基础基础代码。但是因为命令行工具的使用过程中完全是文字指引,不能以更直观的形式给开发人员以提示(比如:图片预览)。并且,命令行工具也只能一步步的询问用户的需求,不能一次性让用户输入所有信息。命令行工具本身集成了一套项目模板,开发人员安装命令行工具在电脑上之后,项目模板也就安装到了本地电脑上。如果项目模板有变化,就需要开发人员再重新安装命令行工具,这样开发成本就会很高,因为使用命令行工具的人越多,升级的成本就越高。
有鉴于此,本公开提供了一种项目模板生成方法。
图4示意性示出了根据本公开实施例的项目模板生成方法的流程图。如图4所示,该方法包括操作S401~S403。
在操作S401,利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别。该可视化脚手架工具例如可以为VSCode插件。
在操作S402,根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板。
在操作S403,根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。
根据本公开的实施例,项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,例如,项目类型可以为后台管理类的项目模板、或者门户管理类的项目模板、或者只包含基础结构的空模板等等。第二信息用于表征待开发项目的项目功能类别,例如在后台管理类的项目模板下,第二信息可用于表征在后台管理类的项目下包含的系统管理功能、多页面打包功能、代码规范检查功能等等。
根据本公开的实施例,在上述操作S401中,利用可视化脚手架工具获取待开发项目的项目信息,例如,可以通过可视化脚手架工具VSCode插件在VSCode开发工具里打开打开用于创建项目的Web页面,用户通过在Web页面的项目功能选择明细中选择或输入待开发项目的项目类型、以及在该项目类型下想要选择的项目功能,以便后续操作根据这些项目信息生成定制化的项目模板。
根据本公开的实施例,在上述操作S402、操作S403中,例如可以是通过VSCode插件根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的最新的全量项目功能模板。之后,VSCode插件会根据开发人员输入的第二信息进行动态的生成与待开发项目的项目功能类别相匹配的目标项目模板到用户终端设备的文件夹中。所选定的项目类型下的全量项目功能模板中包含了该项目类型下的全部项目功能,进一步地,目标项目模板中只包含用户所选择的特定的项目功能,例如,当创建后台管理类的项目模板时,第二信息可表示在后台管理类的项目下是否启用了系统管理功能、是否启用了多页面打包功能、是否启用了代码规范检查功能等等,目标项目模板中例如可只包含系统管理功能。
根据本公开的实施例,为克服命令行工具脚手架带来的需要逐条输入项目信息操作繁琐的问题、以及命令行工具脚手架不能预览展示项目预生成效果的缺陷,采用了可视化脚手架工具。该可视化脚手架工具可以为VSCode插件,该VSCode插件为插件开发者通过Electron、VSCode、Node.js、Vue.js等技术开发出的一种可视化脚手架工具,可以很好的解决用户创建项目过程中的可视化、自动化、自动升级的问题。基于Electron、VSCode和Vue.js研发的脚手架,可以同时打包成两个操作系统的版本:Windows版和MAC版,这样也就能够覆盖目前主流的两大操作系统的用户,打破了平台限制,开发人员可以任意使用。
根据本公开的实施例,因采用了可视化脚手架工具获取待开发项目的项目信息,可克服命令行工具脚手架带来的需要逐条输入项目信息操作繁琐的问题、以及命令行工具脚手架不能预览展示项目预生成效果的缺陷。此外,因从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板,将项目模板和可视化脚手架工具进行了解耦,因此,如果可视化脚手架工具有所变动,工具提供者只需要把新版插件发布到应用市场即可,而开发人员安装的工具会自动升级到最新版。如果当项目模板代码有变化时,也只需要把模板代码上传至公共服务器即可,利用可视化脚手架工具创建项目时,也会到服务器上下载最新模板代码,无需开发人员手动下载、升级模板。因此,无论是可视化脚手架工具、还是项目模板代码的升级,都无需开发人员关心,整个过程可做到无感知,用户体验佳。
可见,本公开实施例的上述方法,在实现所见即所得的项目脚手架的能力的基础上,在整个脚手架的使用过程中,可以简化用户的操作,提升用户体验,在工具的升级以及项目模板的升级上,与脚手架做到最大程度的解耦,做到用户无感知的升级。且上述方法可以应用于各类项目的脚手架的场景(前端、后端、移动端等),可操作性更好、适应性好。
根据本公开的实施例,上述项目模板生成方法还包括:
创建针对全量项目功能模板的模板更新任务;
响应于模板更新任务,在公共服务器中,执行针对全量项目功能模板的模板更新任务。
根据本公开的实施例,因项目模板与可视化脚手架工具实现了解耦,在项目模板的升级过程中,只需在公共服务器中,执行针对全量项目功能模板的模板更新任务,即可,实现了对用户无感知的升级。
根据本公开的实施例,其中,利用可视化脚手架工具获取待开发项目的项目信息包括:利用可视化脚手架工具加载目标Web页面,以便通过目标Web页面生成项目信息。
根据本公开的实施例,其中,目标Web页面的网站地址被嵌入在可视化脚手架工具中;具体地,利用可视化脚手架工具加载目标Web页面包括:通过可视化脚手架工具访问目标Web页面的网站地址,以加载目标Web页面。
根据本公开的实施例,可视化脚手架工具,例如采用VSCode插件,该VSCode插件通过使用Electron及Node.js、Vue.js技术开发出来,为一款基于Web技术的VSCode插件。
根据本公开的实施例,因上述可视化脚手架工具为基于Web的工具,可以实现命令行工具做不到的可视化能力,通过把脚手架创建项目过程中的交互信息,做成页面表单,让用户可以在一个页面输入所有需要的信息,而不必像命令行工具那样,每一个输入都需要询问用户一次。
根据本公开的实施例,由于上述可视化脚手架工具的开发基于Web技术,VSCode作为一个容器把Web脚手架工具集成起来,也在一定程度上把脚手架工具与开发工具进行了解耦。
根据本公开的实施例,上述方法还包括:
创建针对目标Web页面的页面更新任务;
响应于页面更新任务,在网站服务器中,对目标Web页面的页面进行更新。
根据本公开的实施例,因为VSCode扩展中只需要配置一个WebURL地址,就可以实现脚手架创建项目的能力,实现了网站和脚手架工具的解耦,基于此,网站的更新则无须用户手动升级。开发人员开发完网站之后,只需要随时发布web应用到一个服务器即可,而不用每个用户对网站进行手动升级,用户打开VSCode中的脚手架工具时,会自动从该Web URL中加载最新的脚手架工具页面,以便使用到最新的功能。VSCode插件所依赖的Web页面的修改,只需要网站开发者在网站服务器中,对目标Web页面的页面进行更新后发布到互联网即可,插件用户无需手动升级,VSCode插件每次打开便会自动加载最新的Web页面。
根据本公开的实施例,上述项目模板生成方法还包括:通过目标Web页面生成项目信息后,由目标Web页面根据项目信息可视化展示待开发项目的项目预览效果。
根据本公开的实施例,根据本公开的实施例,因可视化脚手架工具为基于Web的工具,可以实现命令行工具做不到的可视化能力,通过该可视化脚手架工具可以更直观的在web页面上把脚手架中的项目模板向用户以图片的形式展示出来,这样用户每输入一些信息或者选择一项功能,都可以“所见即所得”的形式预览到即将创建出的项目。
根据本公开的实施例,具体地,通过目标Web页面生成项目信息包括:
在Web页面中展示操作界面,其中操作界面中包括项目类型选择明细、以及项目功能类别选择明细;
获取输入操作;
响应于输入操作,将待开发项目的项目类型填充至项目类型选择明细中、以及将待开发项目的项目功能类别填充至项目功能类别选择明细中;
根据填充后的项目类型选择明细、以及填充后的项目功能类别选择明细,生成项目信息。
根据本公开的实施例,通过上述操作,用户通过可视化脚手架工具打开创建项目的Web页面后,在这个页面中,会提供开发者们可以选择或输入的所有项目信息,开发者通过在该页面中输入或选择项目类型以及项目功能类别,可达到收集项目信息的效果,收集完项目信息后,Web页面将项目信息传给可视化脚手架工具,以便可视化脚手架工具根据项目信息执行下一步操作。
图5示意性示出了用户在执行根据本公开实施例的项目模板生成方法的操作时序图。
如图5所示:根据本公开的实施例,可视化脚手架工具提供者将VSCode插件发布到应用市场,开发者需要到VSCode的应用市场安装此插件到终端设备。之后,可利用终端设备该可视化脚手架工具执行项目模板生成方法,生成待开发项目的项目模板。具体地,开发者打开此插件工具后,工具会自动打开创建项目的Web页面。在这个页面中,会提供开发者们可以选择或输入的所有项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别。开发者通过Web页面输入项目信息后,Web页面根据项目信息可以可视化展示待开发项目的项目预览效果,在操作过程中都会有所见即所得的效果供开发者们查看。
根据本公开的实施例,开发者在Web页面中输入完所有信息后,开发者只需要一键提交表单。然后VSCode插件就会根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板。之后,VSCode插件会根据开发人员输入的第二信息进行动态的生成与待开发项目的项目功能类别相匹配的目标项目模板到用户终端设备的文件夹中。
本公开的另一个方面提供了一种项目模板生成装置,图6示意性示出了根据本公开实施例的项目模板生成装置600的框图。该装置可以用来实现参考图4所示的方法。
如图6所示,该装置包括第一获取模块601、第二获取模块602以及生成模块603。
其中,第一获取模块601,用于利用可视化脚手架工具获取待开发项目的项目信息,其中项目信息包括第一信息以及第二信息,第一信息用于表征待开发项目的项目类型,第二信息用于表征待开发项目的项目功能类别。
第二获取模块602,用于根据第一信息从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板。
生成模块603,用于根据全量项目功能模板以及第二信息,生成与待开发项目的项目功能类别相匹配的目标项目模板。
根据本公开的实施例,因通过第一获取模块601采用可视化脚手架工具获取待开发项目的项目信息,可克服命令行工具脚手架带来的需要逐条输入项目信息操作繁琐的问题、以及命令行工具脚手架不能预览展示项目预生成效果的缺陷。此外,因通过第二获取模块602从公共服务器中获取与待开发项目的项目类型相匹配的全量项目功能模板,将项目模板和可视化脚手架工具进行了解耦,因此,如果可视化脚手架工具有所变动,工具提供者只需要把新版插件发布到应用市场即可,而开发人员安装的工具会自动升级到最新版。如果当项目模板代码有变化时,也只需要把模板代码上传至公共服务器即可,利用可视化脚手架工具创建项目时,也会到服务器上下载最新模板代码,无需开发人员手动下载、升级模板。因此,无论是可视化脚手架工具、还是项目模板代码的升级,都无需开发人员关心,整个过程可做到无感知,用户体验佳。
根据本公开的实施例,其中,第一获取模块601包括:生成单元,用于利用可视化脚手架工具加载目标Web页面,以便通过目标Web页面生成项目信息。
根据本公开的实施例,上述装置还包括:展示模块,用于通过目标Web页面生成项目信息后,由目标Web页面根据项目信息可视化展示待开发项目的项目预览效果。
根据本公开的实施例,其中,生成单元包括展示子单元、获取子单元、填充子单元、生成子单元。
展示子单元,用于在Web页面中展示操作界面,其中操作界面中包括项目类型选择明细、以及项目功能类别选择明细。
获取子单元,用于获取输入操作。
填充子单元,用于响应于输入操作,将待开发项目的项目类型填充至项目类型选择明细中、以及将待开发项目的项目功能类别填充至项目功能类别选择明细中。
生成子单元,用于根据填充后的项目类型选择明细、以及填充后的项目功能类别选择明细,生成项目信息。
根据本公开的实施例,其中,目标Web页面的网站地址被嵌入在可视化脚手架工具中。利用可视化脚手架工具加载目标Web页面包括:通过可视化脚手架工具访问目标Web页面的网站地址,以加载目标Web页面。
根据本公开的实施例,上述装置还包括第一创建模块、第一更新模块。
其中,第一创建模块,用于创建针对目标Web页面的页面更新任务。第一更新模块,用于响应于页面更新任务,在网站服务器中,对目标Web页面的页面进行更新。
根据本公开的实施例,上述装置还包括第二创建模块、第二更新模块。
其中,第二创建模块,用于创建针对全量项目功能模板的模板更新任务;第二更新模块,用于响应于模板更新任务,在公共服务器中,执行针对全量项目功能模板的模板更新任务。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块601、第二获取模块602以及生成模块603中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块601、第二获取模块602以及生成模块603中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块601、第二获取模块602以及生成模块603中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的用于实现项目模板生成方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。系统700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的项目模板生成方法。
在该计算机程序被处理器701执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分709被下载和安装,和/或从可拆卸介质711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (9)

1.一种项目模板生成方法,包括:
利用可视化脚手架工具获取待开发项目的项目信息,其中所述项目信息包括第一信息以及第二信息,所述第一信息用于表征所述待开发项目的项目类型,所述第二信息用于表征所述待开发项目的项目功能类别;所述可视化脚手架工具为VSCode插件;
根据所述第一信息从公共服务器中获取与所述待开发项目的所述项目类型相匹配的全量项目功能模板;
根据所述全量项目功能模板以及所述第二信息,生成与所述待开发项目的所述项目功能类别相匹配的目标项目模板;
创建针对所述全量项目功能模板的模板更新任务;
响应于所述模板更新任务,在所述公共服务器中,执行针对所述全量项目功能模板的模板更新任务。
2.根据权利要求1所述的方法,其中,所述利用可视化脚手架工具获取待开发项目的项目信息包括:
利用所述可视化脚手架工具加载目标Web页面,以便通过所述目标Web页面生成所述项目信息。
3.根据权利要求2所述的方法,还包括:
通过所述目标Web页面生成所述项目信息后,由所述目标Web页面根据所述项目信息可视化展示所述待开发项目的项目预览效果。
4.根据权利要求2所述的方法,其中,通过所述目标Web页面生成所述项目信息包括:
在所述Web页面中展示操作界面,其中所述操作界面中包括项目类型选择明细、以及项目功能类别选择明细;
获取输入操作;
响应于所述输入操作,将所述待开发项目的项目类型填充至所述项目类型选择明细中、以及将所述待开发项目的项目功能类别填充至所述项目功能类别选择明细中;
根据填充后的所述项目类型选择明细、以及填充后的所述项目功能类别选择明细,生成所述项目信息。
5.根据权利要求2所述的方法,其中,所述目标Web页面的网站地址被嵌入在所述可视化脚手架工具中;
利用所述可视化脚手架工具加载目标Web页面包括:
通过所述所述可视化脚手架工具访问所述目标Web页面的网站地址,以加载所述目标Web页面。
6.根据权利要求5所述的方法,还包括:
创建针对所述目标Web页面的页面更新任务;
响应于所述页面更新任务,在网站服务器中,对所述目标Web页面的页面进行更新。
7.一种项目模板生成装置,包括:
第一获取模块,用于利用可视化脚手架工具获取待开发项目的项目信息,其中所述项目信息包括第一信息以及第二信息,所述第一信息用于表征所述待开发项目的项目类型,所述第二信息用于表征所述待开发项目的项目功能类别;所述可视化脚手架工具为VSCode插件;
第二获取模块,用于根据所述第一信息从公共服务器中获取与所述待开发项目的所述项目类型相匹配的全量项目功能模板;
生成模块,用于根据所述全量项目功能模板以及所述第二信息,生成与所述待开发项目的所述项目功能类别相匹配的目标项目模板;
第二创建模块,用于创建针对全量项目功能模板的模板更新任务;
第二更新模块,用于响应于所述模板更新任务,在所述公共服务器中,执行针对所述全量项目功能模板的模板更新任务。
8.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
CN202110782280.6A 2021-07-12 2021-07-12 项目模板生成方法及装置、电子设备和存储介质 Active CN113467772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110782280.6A CN113467772B (zh) 2021-07-12 2021-07-12 项目模板生成方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110782280.6A CN113467772B (zh) 2021-07-12 2021-07-12 项目模板生成方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113467772A CN113467772A (zh) 2021-10-01
CN113467772B true CN113467772B (zh) 2022-06-14

Family

ID=77879631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110782280.6A Active CN113467772B (zh) 2021-07-12 2021-07-12 项目模板生成方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113467772B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN111241454A (zh) * 2020-01-21 2020-06-05 优信拍(北京)信息科技有限公司 一种生成网页代码的方法、系统和装置
CN111897553A (zh) * 2020-08-28 2020-11-06 杭州安恒信息技术股份有限公司 一种项目系统搭建方法、装置、设备及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129078B2 (en) * 2014-10-30 2018-11-13 Equinix, Inc. Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange
CN109240654A (zh) * 2018-07-24 2019-01-18 武汉空心科技有限公司 基于模板的开发方法及系统
CN109918055B (zh) * 2019-01-28 2023-10-31 平安科技(深圳)有限公司 一种应用程序的生成方法及设备
CN112528619A (zh) * 2020-12-23 2021-03-19 微医云(杭州)控股有限公司 页面模板文件生成方法、装置、电子设备和存储介质
CN112685029A (zh) * 2020-12-30 2021-04-20 京东数字科技控股股份有限公司 一种可视化模板的生成方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN111241454A (zh) * 2020-01-21 2020-06-05 优信拍(北京)信息科技有限公司 一种生成网页代码的方法、系统和装置
CN111897553A (zh) * 2020-08-28 2020-11-06 杭州安恒信息技术股份有限公司 一种项目系统搭建方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN113467772A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US20210165668A1 (en) Third party integration of plugins and widgets
CN107451162B (zh) 网络资源访问设备、混合设备及方法
US11520575B2 (en) Semantic and standard user interface (UI) interoperability in dynamically generated cross-platform applications
US20140082511A1 (en) Method and system for emulating desktop software applications in a mobile communication network
CN110554876A (zh) 用于编译安卓工程的方法和装置
US8607191B2 (en) Automated discovery of programmatic resources
CN112015654A (zh) 用于测试的方法和装置
US9971611B2 (en) Monitoring a mobile device application
US11030006B2 (en) Apparatus and method of securely and efficiently interfacing with a cloud computing service
CN112835568A (zh) 一种项目构建方法和装置
CN112015384A (zh) 一种接口映射方法和装置
US9135001B2 (en) Dynamically configuring an integrated development environment
CN113467772B (zh) 项目模板生成方法及装置、电子设备和存储介质
CN111930629A (zh) 页面测试方法、装置、电子设备及存储介质
CN109493953B (zh) 一种医学影像应用信息传输方法、装置、设备及介质
CN111625291A (zh) 数据处理模型自动迭代方法、装置及电子设备
US20130007622A1 (en) Demonstrating a software product
US9495175B2 (en) Deploying multi-channel or device agnostic applications
CN113805877B (zh) 基于idea插件的项目工程的构建方法及装置
CN112910956B (zh) 一种资源创建方法、装置及电子设备
US9477492B2 (en) Deploying multi-channel or device agnostic applications
CN114035864A (zh) 接口处理方法、接口处理装置、电子设备和存储介质
CN113326079A (zh) 服务版本切换方法、切换装置、电子设备和存储介质
WO2021009024A1 (en) Systems and methods for integrating healthcare applications
CN116991355B (zh) 修改和迭代脚本支持led驱动芯片的方法、系统及装置

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