CN112181399A - 一种基于数据解析构建模型生成前端代码的方法 - Google Patents

一种基于数据解析构建模型生成前端代码的方法 Download PDF

Info

Publication number
CN112181399A
CN112181399A CN201910593251.8A CN201910593251A CN112181399A CN 112181399 A CN112181399 A CN 112181399A CN 201910593251 A CN201910593251 A CN 201910593251A CN 112181399 A CN112181399 A CN 112181399A
Authority
CN
China
Prior art keywords
component
page
generating
end page
template
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.)
Pending
Application number
CN201910593251.8A
Other languages
English (en)
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.)
Aisino Dudley information systems (Shanghai) Co.,Ltd.
Original Assignee
Yingli Dufu Information System Shanghai 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 Yingli Dufu Information System Shanghai Co ltd filed Critical Yingli Dufu Information System Shanghai Co ltd
Priority to CN201910593251.8A priority Critical patent/CN112181399A/zh
Publication of CN112181399A publication Critical patent/CN112181399A/zh
Pending legal-status Critical Current

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/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于数据解析构建模型来生成前端代码的方法,该方法包括以下步骤:根据前端框架和组件库构建出框架模板和组件模型库,制定配置数据解析策略和前端页面合成策略;配置前端页面框架模板和组件模型数据,按照数据解析策略把配置数据解析成为前端页面参数对象的集合,此集合对应要生成的前端众多的页面;按照前端页面合成策略对照框架模板和组件模型库将前端页面参数对象的集合合成为前端页面对象的集合,这些前端页面对象就是要生成页面的代码;前端页面对象的集合生成为前端页面文件、页面路由文件、样式文件和用于处理业务逻辑的服务文件。应用该方法,只需配置参数,就可以生成前端代码,完成前端页面代码编写的大部分工作,实现前端框架和组件库的快速使用。

Description

一种基于数据解析构建模型生成前端代码的方法
技术领域
本发明提供了一种生成前端代码的方法,具体涉及一种基于数据解析构建模型来生成前端结构统一性代码的技术,属于编程语言领域。
背景技术
随着计算机编程的快速发展,各种编程语言不断更新,新的框架和组件库也是层出不穷,程序的设计有了更多的选择,可根据实际情况选择更优的方案;但与此同时,对程序开发人员的要求也在逐渐提高,不仅要求开发人员要懂得数种编程语言,而且还要会使用当下流行的框架和组件库。这对开发人员来说不可谓不是一个巨大的挑战,他们进入一个新的项目,熟悉一个新的框架和组件库,往往需要花费数个月时间,这在当下是一个普遍存在的现象。针对这种现象,如何让开发人员简易快捷的使用前端框架和组件库,减少开发人员的工作量,成为了一个急切需要解决的问题。
发明内容
该发明提供了一种可以自动生成使用不同前端框架和组件库的规范统一性代码的方法,具体方案是:选定前端框架和组件库构建出框架模板和组件模型库,制定配置数据解析策略和前端页面合成策略,然后配置方法所需数据,根据配置数据解析策略把数据解析成为前端页面参数对象的集合,再应用前端页面合成策略对照框架模板和组件模型库将前端页面参数对象的集合合成为前端页面对象的集合,最后把前端页面对象的集合生成为前端页面文件、页面路由文件、样式文件和用于处理业务逻辑的服务文件。
在构建组件模型库实施中:选择一个前端组件库,在其中选择需要在开发时应用的组件,然后基于此来设计组件模型库。组件模型库包含了若干个组件模型,每个组件模型由组件显示代码、组件参数和组件方法构成,且对应唯一一个ID标识,此标识对应前端组件库的唯一一种组件。
在构建框架模板实施中:选择一种前端框架,剖析框架关于前端页面内容的展示、数据的定义与更新和浏览器页面触发事件的处理,将每个前端页面公共的代码和具体组件所需的代码划分开来,把公共代码写入当前框架的模板,并在模板中为具体组件的特殊代码预留好代码填充位置。
在制定配置数据解析策略实施中:数据是针对于每个前端页面需要的框架模板和组件模型集合来进行配置,这些数据储存于XML文件中,解析XML中的节点,把节点的值组合成一个个前端页面参数对象;每个前端页面参数对象包括框架模板参数和若干个组件模型参数的集合。
在制定前端页面合成策略实施中:前端页面的合成分为框架模板参数的嵌入、组件模型参数集合的转化和组件模型集合的嵌入三个过程。框架模板参数嵌入模板构建时预留的位置,具体嵌入方法是用模板参数替换模板构建时预留的标识符;组件模型参数有一个标识ID,对应组件模型库中每个组件模型唯一的ID标识,基于此,每个模型参数可以转化成一个组件模型;组件模型集合在嵌入框架模板时,需要把每个组件模型的组件显示代码、组件参数和组件方法分开整理到三个集合中,三个集合替换掉框架模板中预留的标识符就完成了一个前端页面的合成。
在生成前端代码文件实施中:生成文件时,框架模板参数内含有要生成文件的路径,在指定路径下生成若干个与前端页面对象集合对应的前端页面文件,同时在相同目录下生成一个页面样式文件、一个业务逻辑处理文件和一个控制页面跳转的路由文件。
附图说明
图1本发明实施基于数据解析构建模型生成前端代码方法的实现流程示意图。
图2本发明实施组件模型库构建的结构示意图。
图3本发明实施框架模板构建的结构示意图。
图4本发明实施框架参数配置截图。
图5本发明实施组件模型参数配置截图。
具体实施方式
本发明提供了一种基于数据分析构建模型来生成前段代码的方法,在下面实例中将结合附图对本发明进行详细的阐述。
此实例将生成一个简单功能的数个页面文件和相应的辅助文件;在实现时选择了前端框架vue、组件库vux来构建框架模板和组件模型库,选择业务流程管理工具activiti-flow来配置数据。首次构建框架模板和组件模型库,以后的工作只需要配置数据,就可以使用本发明的方法完成前端代码的生成。具体步骤如下:
1、构建vue框架模板
此模板是一个vue文件,根据vue的语法和代码结构,确定模板的固定代码部分,模板中的可变更的代码部分用替换符来占用,在生成页面代码时替换模板参数和组件模型参数对象,部分替换符含义如下,
Figure 967138DEST_PATH_IMAGE001
2、构建vux组件模型库
选择vux常用的Xinput、Xnumber、Xswitch、Xcell等组件,按照vux的组件使用方法来建立,每个组件模型分为组件页面显示代码、组件参数和组件方法三部分,组件页面显示代码部分根据vux在vue页面中的使用来构建,也可以构建div和自定义组件来满足复杂的功能需求,具体设计将在配置组件参数时进行详细说明,部分组件含义如下:
Figure 234171DEST_PATH_IMAGE002
3、配置数据
在activiti-flow中配置的数据可分为四部分,分别是activiti-flow的id、若干个userTask、若干个sequenceFlow和每个userTask的form,其含义如下:
Figure 433072DEST_PATH_IMAGE003
1)userTask:每个userTask对应一个vue页面。在其中需要配置id,name,Form key,Category和Form(form的配置将在后面详细介绍)五部分。其含义如下:
Figure 288901DEST_PATH_IMAGE004
2)sequenceFlow:sequenceFlow的配置分为两种,一种是由一个userTask发出连接另一个userTask,另一种是由一个userTask发出一个getWay而发散出的不同分支。这两种sequenceFlow会被看做是源userTask对应的vue页面上button,点击该button后页面跳转到目的userTask对应的目的页面,sequenceFlow在数据解析时会被解析成为一个组件模型参数对象,对应的组件模型是button。需要配置两个地方,分别是id和name,其含义如下:
Figure 282265DEST_PATH_IMAGE005
3)form:在userTask的form中配置对应vue页面的组件,如:input、number、info、div、usercomponent(自定义组件)。这些组件模型共有的三个配置参数是id、name和type,其含义如下:
Figure 36594DEST_PATH_IMAGE006
4、数据解析
在activiti-flow界面配置的数据会生成xml文件,将此文件解析成数个框架模板参数对象和与每个框架模板对象对应的组件模型参数集合;对照vux,对于需要参数或者方法的组件,在解析时将会在对应组件模型参数对象中加入所需参数或方法。
5、生成代码
在实现代码生成时,会生成两部分文件,分别是前端页面文件和其他辅助文件。将这些文件根据模板参数对象中路径参数创建到指定目录下。
1)前端页面文件:逐个将解析的框架模板参数对象按照框架模板生成为一个vue文件,生成时用对应模板参数和组件模型参数对象集合把框架模板中的替换符依次替换掉。
2)其他文件:生成前端页面对应的CSS文件、处理业务逻辑的Service文件、路由Route文件。

Claims (5)

1.一种基于数据解析构建模型来生成前端代码的方法,其特征在于:构建前端框架模板和组件模型库,解析配置参数的XML文件组合出一个数据源,最后将数据源转换成前端代码。
2.根据权利要求1所述的一种基于数据解析构建模型来生成前端代码的方法,其特征在于:根据前端组件库构建组件模型库,将每个组件模型设计为组件页面应用代码、组件参数和组件方法三部分。
3.根据权利要求1所述的一种基于数据解析构建模型来生成前端代码的方法,其特征在于:根据前端框架构建框架模板,将框架模板在内容上设计为前端页面内容的展示、数据的定义与更新和页面触发事件的处理三部分,在结构上设计为固定代码和可更改代码两部分。
4.根据权利要求1所述的一种基于数据解析构建模型来生成前端代码的方法,其特征在于:配置数据保存于XML文件中,解析XML文件中的节点,获得若干对应框架模板的类型、名称和路径的参数对象,和若干对应组件模型的id、名称和类型的参数对象。
5.根据权利要求1所述的一种基于数据解析构建模型来生成前端代码的方法,其特征在于:生成页面时采用预置替换规则,在构建框架模板时预置了替换符,用框架参数和组件模型参数把替换符替换掉生成出页面。
CN201910593251.8A 2019-07-03 2019-07-03 一种基于数据解析构建模型生成前端代码的方法 Pending CN112181399A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910593251.8A CN112181399A (zh) 2019-07-03 2019-07-03 一种基于数据解析构建模型生成前端代码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910593251.8A CN112181399A (zh) 2019-07-03 2019-07-03 一种基于数据解析构建模型生成前端代码的方法

Publications (1)

Publication Number Publication Date
CN112181399A true CN112181399A (zh) 2021-01-05

Family

ID=73915611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910593251.8A Pending CN112181399A (zh) 2019-07-03 2019-07-03 一种基于数据解析构建模型生成前端代码的方法

Country Status (1)

Country Link
CN (1) CN112181399A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835693A (zh) * 2021-09-15 2021-12-24 欧电云信息科技(江苏)有限公司 代码生成方法、装置、电子设备、存储介质
CN117608560A (zh) * 2024-01-24 2024-02-27 卡奥斯创智物联科技有限公司 Lvgl页面显示代码生成方法、装置、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835693A (zh) * 2021-09-15 2021-12-24 欧电云信息科技(江苏)有限公司 代码生成方法、装置、电子设备、存储介质
CN113835693B (zh) * 2021-09-15 2024-03-08 欧电云信息科技(江苏)有限公司 代码生成方法、装置、电子设备、存储介质
CN117608560A (zh) * 2024-01-24 2024-02-27 卡奥斯创智物联科技有限公司 Lvgl页面显示代码生成方法、装置、设备及介质
CN117608560B (zh) * 2024-01-24 2024-04-12 卡奥斯创智物联科技有限公司 Lvgl页面显示代码生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN101071378A (zh) 源代码生成方法、设备和程序
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
CN106293664A (zh) 代码生成方法及装置
CN105528418B (zh) 一种设计文档生成方法及装置
CN110941467A (zh) 数据处理方法、装置及***
CN106354492A (zh) 一种快速调整交易流程对接的自动化代码生成方法及***
CN105700867B (zh) 通过编译器借助动态可缩放矢量图形生成可执行应用程序的方法和编译器
CN102609252A (zh) 基于测量仪器的逻辑菜单资源智能配置方法
CN105630514A (zh) 一种基于模板化的表单设计方法
CN104731588A (zh) 页面布局文件生成方法和页面布局文件生成装置
CN112181399A (zh) 一种基于数据解析构建模型生成前端代码的方法
CN113010154B (zh) 基于动态加载的二级数据管理界面可视化开发配置方法
US20130007697A1 (en) Program creation support apparatus, program, and information system
Savic et al. Preliminary experience using JetBrains MPS to implement a requirements specification language
CN111273900A (zh) 基于gitlab实时代码共享的在线拖拽编码生成方法
CN113010168B (zh) 一种基于场景树的用户界面生成方法
CN104484156B (zh) 多语言公式的编辑方法、编辑***和多语言公式编辑器
US20160062738A1 (en) Methods and Apparatuses for Interactive Computer Programming
Coppit et al. Spotlight: A prototype tool for software plans
CN113867714B (zh) 一种适配多语言的自动代码生成方法
Fernando et al. 2: Accelerator synthesis using algorithmic skeletons for rapid design space exploration
CN114296726A (zh) 一种代码生成方法、装置、计算机设备和存储介质
Kosower et al. Flowgen: Flowchart-based documentation framework for c++
CN104899045B (zh) 一种通用的软件编码辅助***及方法
Schaefer et al. Splicing TABASCO: custom-tailored software product line variants from taxonomy-based toolkits

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211027

Address after: 200135 C + d part of mezzanine of building 74, block F24, No. 11, Fute West 2nd Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: Aisino Dudley information systems (Shanghai) Co.,Ltd.

Address before: 201206 2nd floor, building 9, No. 999, ningqiao Road, Pudong New Area, Shanghai

Applicant before: YINGLI DUFU INFORMATION SYSTEM (SHANGHAI) CO.,LTD.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210105