CN116414375A - 一种导出设计版源码的方法和系统 - Google Patents

一种导出设计版源码的方法和系统 Download PDF

Info

Publication number
CN116414375A
CN116414375A CN202310668322.2A CN202310668322A CN116414375A CN 116414375 A CN116414375 A CN 116414375A CN 202310668322 A CN202310668322 A CN 202310668322A CN 116414375 A CN116414375 A CN 116414375A
Authority
CN
China
Prior art keywords
layer
logic
codes
exported
view layer
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
Application number
CN202310668322.2A
Other languages
English (en)
Other versions
CN116414375B (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.)
Evecom Information Technology Development Co ltd
Original Assignee
Evecom Information Technology Development 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 Evecom Information Technology Development Co ltd filed Critical Evecom Information Technology Development Co ltd
Priority to CN202310668322.2A priority Critical patent/CN116414375B/zh
Publication of CN116414375A publication Critical patent/CN116414375A/zh
Application granted granted Critical
Publication of CN116414375B publication Critical patent/CN116414375B/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/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

一种导出设计版源码的方法和系统
技术领域
本发明涉及应用设计开发领域,具体涉及一种导出设计版源码的方法和系统。
背景技术
现有的应用设计系统或平台,所有的设计都在平台上统一完成,所有的功能需要平台提供支持,局限了用户的需求,让用户无法满足自己的个性化需求;支持源码导出进行二次开发功能,但是二次开发后的应用无法再导入到原平台进行维护设计,导致后续新增的需求无法再进行可视化开发,并且开发人员还需要理解平台生成的代码逻辑。
发明内容
有鉴于此,本发明的目的在于提供一种导出设计版源码的方法和系统,旨在解决上述问题。
为实现上述目的,本发明采用如下技术方案:
一种导出设计版源码的系统,所述系统为应用设计系统,所述应用设计系统的页面划分为视图层、逻辑处理层以及逻辑映射层;
所述应用设计系统拖拽控件对视图层的配置项进行修改;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
进一步的,所述视图层包括html和css;所述逻辑处理层包括js脚本;所述逻辑映射层将视图层的dom元素以及视图层的生命周期一一映射到逻辑层指定的全局变量以及钩子函数下。
进一步的,所述视图层中创建html元素界面布局,同时将css信息通过定义变量方式,将变量绑定到对应组件的根节点上。
进一步的,所述逻辑处理层JS脚本逻辑根据应用设计系统内配置的调用方法与组件的uuid属性值,以及固定的生命周期函数映射关系进行生成;所述JS脚本包括所有视图层组件对象,通过调用组件对象的方法或者修改组件对象的属性实现逻辑层数据与视图层进行关联。
进一步的,在导出源码时,会判断数据库中isFirst字段是否为true,若为false则为第一次导出,若为true,则是第二次导出;若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码。
进一步的,在视图层中,对每个dom元素以组件化渲染,每个组件赋值一个唯一的变量,然后通过逻辑映射层将这些变量构造成参数下发给逻辑层的load的方法。
进一步的,若需要二次导出源码,则将二次导出的代码直接暴力覆盖二次开发后的工程。
一种源码导出方法,包括以下步骤:
开发人员通过应用设计系统拖拽控件对视图层的配置项进行修改,创建或编辑应用,并生成源码;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;
导出源码时,判断是否为第一次导出,若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
本发明与现有技术相比具有以下有益效果:
1、本发明系统支持源码导出功能,让用户可以直接在源码上进行二次开发与维护,让后期的应用脱离平台后仍然能够进行人工维护,满足用户的个性化需求;
2、本发明支持应用二次开发后还能再平台继续对原有应用进行设计,让应用的二次开发和平台设计可以一起共同维护。
附图说明
图1是本发明源码导出方法示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种导出设计版源码的应用设计系统,所述应用设计系统的页面划分为视图层、逻辑处理层以及逻辑映射层;
应用设计系统拖拽控件对视图层的配置项进行修改;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
在本实施例中,不同于现有传统单页代码是将js业务逻辑代码都集中在vue文件里头,本发明将页面布局,组件样式设置,组件属性配置等视觉展示上的内容归为视图层,将对组件触发事件以及组件与组件之间,组件与数据之间交互作为逻辑层。平台通过文件路径及文件名对视图层进行一对一绑定。 通过平台视图层和逻辑层分离,让js代码和vue文件进行分割,让业务逻辑代码单独在js文件里头,同时平台还做了判空操作,当逻辑层中的业务代码没有实现,会停止调用,保证其他业务正常执行。
在本实施例中,视图层包括html和css;逻辑处理层包括js脚本;所述逻辑映射层将视图层的dom元素以及视图层的生命周期一一映射到逻辑层指定的全局变量以及钩子函数下。
根据平台的配置,在视图层中创建html元素界面布局,同时将css信息通过定义变量方式,将变量绑定到对应组件的根节点上。
在视图层中,对每个dom元素以组件化渲染,每个组件会赋值一个唯一的变量,然后通过逻辑映射层将这些变量构造成参数下发给逻辑层的load的方法。那么在逻辑层load的方法内部就能拿到视图层的dom元素。同理会在视图层中生命钩子函数分别回调逻辑层的生命周期钩子函数。
逻辑处理层JS脚本逻辑根据应用设计系统内配置的调用方法与组件的uuid属性值,以及固定的生命周期函数映射关系进行生成;所述JS脚本包括所有视图层组件对象,通过调用组件对象的方法或者修改组件对象的属性实现逻辑层数据与视图层进行关联。
在本实施例中,在导出源码时,会判断数据库中isFirst字段是否为true,若为false则为第一次导出,若为true,则是第二次导出;若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码。因为系统只是修改视图层和逻辑映射层的内容,视图层通过调用逻辑映射层的接口来调用逻辑层代码,若逻辑层未实现该接口,则视图层相当于不调用逻辑层接口,故只需生成这两层代码即可。
优选地,在本实施例中,若需要二次导出源码,则将二次导出的代码直接暴力覆盖二次开发后的工程。
优先的,在本实施例中,还提供一种源码导出方法,包括以下步骤:
开发人员通过应用设计系统拖拽控件对视图层的配置项进行修改,创建或编辑应用,并生成源码;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;
导出源码时,判断是否为第一次导出,若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (8)

1.一种导出设计版源码的系统,其特征在于,所述系统为应用设计系统,所述应用设计系统的页面划分为视图层、逻辑处理层以及逻辑映射层;
所述应用设计系统拖拽控件对视图层的配置项进行修改;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
2.根据权利要求1所述的一种导出设计版源码的系统,其特征在于,所述视图层包括html和css;所述逻辑处理层包括js脚本;所述逻辑映射层将视图层的dom元素以及视图层的生命周期一一映射到逻辑层指定的全局变量以及钩子函数下。
3.根据权利要求2所述的一种导出设计版源码的系统,其特征在于,所述视图层中创建html元素界面布局,同时将css信息通过定义变量方式,将变量绑定到对应组件的根节点上。
4.根据权利要求1所述的一种导出设计版源码的系统,其特征在于,所述逻辑处理层JS脚本逻辑根据应用设计系统内配置的调用方法与组件的uuid属性值,以及固定的生命周期函数映射关系进行生成;所述JS脚本包括所有视图层组件对象,通过调用组件对象的方法或者修改组件对象的属性实现逻辑层数据与视图层进行关联。
5.根据权利要求1所述的一种导出设计版源码的系统,其特征在于,在导出源码时,会判断数据库中isFirst字段是否为true,若为false则为第一次导出,若为true,则是第二次导出;若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码。
6.根据权利要求2所述的一种导出设计版源码的系统,其特征在于,在视图层中,对每个dom元素以组件化渲染,每个组件赋值一个唯一的变量,然后通过逻辑映射层将这些变量构造成参数下发给逻辑层的load的方法。
7.根据权利要求1所述的一种导出设计版源码的系统,其特征在于,若需要二次导出源码,则将二次导出的代码直接暴力覆盖二次开发后的工程。
8.一种基于权利要求1-7任一所述的一种导出设计版源码的系统的源码导出方法,其特征在于,包括以下步骤:
开发人员通过应用设计系统拖拽控件对视图层的配置项进行修改,创建或编辑应用,并生成源码;
在源码生成时,根据应用设计系统修改的配置项重新生成视图层,并生成视图层与逻辑映射层的生命周期钩子函数调用;、
导出源码时,判断是否为第一次导出,若是第一次导出源码,生成逻辑层代码,若是第二次导出源码,则只生成对应的视图层和逻辑映射层代码;
导出源码后,开发人员在逻辑层代码进行编辑,进行二次开发。
CN202310668322.2A 2023-06-07 2023-06-07 一种导出设计版源码的方法和系统 Active CN116414375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310668322.2A CN116414375B (zh) 2023-06-07 2023-06-07 一种导出设计版源码的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310668322.2A CN116414375B (zh) 2023-06-07 2023-06-07 一种导出设计版源码的方法和系统

Publications (2)

Publication Number Publication Date
CN116414375A true CN116414375A (zh) 2023-07-11
CN116414375B CN116414375B (zh) 2023-09-01

Family

ID=87059676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310668322.2A Active CN116414375B (zh) 2023-06-07 2023-06-07 一种导出设计版源码的方法和系统

Country Status (1)

Country Link
CN (1) CN116414375B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357942A (zh) * 2017-09-04 2017-11-17 山东达创网络科技股份有限公司 一种源代码辅助生成工具及其生成方法
US20180004543A1 (en) * 2016-06-30 2018-01-04 Sap Portals Israel Ltd. Centralized overview display generated from annotated data sources
CN110554874A (zh) * 2019-09-12 2019-12-10 北京百度网讯科技有限公司 用于复用SaaS平台网页组件的方法和装置
CN114461204A (zh) * 2022-04-12 2022-05-10 南京飓风引擎信息技术有限公司 一种将多层级对象数据翻译为原生代码的开发系统和方法
CN114625379A (zh) * 2022-05-16 2022-06-14 杭州兑吧网络科技有限公司 H5项目源码的生成方法及h5项目源码开发系统
CN115328462A (zh) * 2022-07-28 2022-11-11 西北大学 一种基于Vue.js的可视化开发工具及使用方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180004543A1 (en) * 2016-06-30 2018-01-04 Sap Portals Israel Ltd. Centralized overview display generated from annotated data sources
CN107357942A (zh) * 2017-09-04 2017-11-17 山东达创网络科技股份有限公司 一种源代码辅助生成工具及其生成方法
CN110554874A (zh) * 2019-09-12 2019-12-10 北京百度网讯科技有限公司 用于复用SaaS平台网页组件的方法和装置
CN114461204A (zh) * 2022-04-12 2022-05-10 南京飓风引擎信息技术有限公司 一种将多层级对象数据翻译为原生代码的开发系统和方法
CN114625379A (zh) * 2022-05-16 2022-06-14 杭州兑吧网络科技有限公司 H5项目源码的生成方法及h5项目源码开发系统
CN115328462A (zh) * 2022-07-28 2022-11-11 西北大学 一种基于Vue.js的可视化开发工具及使用方法

Also Published As

Publication number Publication date
CN116414375B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
US7448024B2 (en) System and method for software application development in a portal environment
CN102207872B (zh) 按照用户需求定制Web UI控件的方法和系统
CN110825362A (zh) 低代码应用软件开发系统及方法
CN105511873B (zh) 用户界面控件展示方法及装置
US8307015B2 (en) Decorated model architecture for efficient model-driven application development
WO2015078343A1 (zh) 用于web开发系统的开发方法和web开发系统
US20030200533A1 (en) Method and apparatus for creating software objects
US20030226111A1 (en) Application development acceleration employing declarative user interfaces
US20030221165A1 (en) System and method for metadata-driven user interface
CN106293664A (zh) 代码生成方法及装置
CN103383645A (zh) 代码生成方法及系统
WO2007050110A2 (en) Method and model for enterprise system development and execution
CN113886362A (zh) 基于工作流引擎及低代码平台的数据存储系统及存储方法
CN101901148A (zh) 基于autosar标准的ecu参数配置界面生成方法
US20230418562A1 (en) Interactive graphic design system to enable creation and use of variant component sets for interactive objects
CN109445775A (zh) 一键活动内嵌代码方法、装置及计算机可读存储介质
Wadge et al. Intensional html
WO2013109858A1 (en) Design canvas
CN111506306A (zh) 一种Ansible剧本编写方法、装置和电子设备
CN116909553A (zh) 一种页面在线开发及本地编译运行系统
Bennett et al. Transformations on a dialog tree: rule-based maping of content to style
CN116414375B (zh) 一种导出设计版源码的方法和系统
CN110795067A (zh) 一种需求原型可复用方法
US11526578B2 (en) System and method for producing transferable, modular web pages
CN112506943B (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