可配置生成移动端APP代码的系统及方法技术方案

技术编号:28059859 阅读:14 留言:0更新日期:2021-04-14 13:35
本申请涉及可配置生成移动端APP代码的系统及方法,包括:从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素,其中,配置元素用于描述目标代码结构的项目信息和文件布局;根据定义规则在配置元素中找到相应的key和value写入配置文件;循环读入配置文件的每行内容,按key=value进行解析得到解析结果;将解析结果转换成文件目录结构列表和代码框架结构,在配置文件的同目录下得到目标代码结构。通过本分明,简化了开分工作量,实现多端APP代码统一,逻辑统一,便于维护和管理,提高工作效率。工作效率。工作效率。

【技术实现步骤摘要】
可配置生成移动端APP代码的系统及方法


[0001]本申请涉及移动端代码生成
,特别是涉及可配置生成移动端APP代码的系统及方法。

技术介绍

[0002]当前市场上主流的智能手机主要是俩个系统,iOS和Android。针对智能手机开分的APP主要有三种开分形式:原生开分、H5开分、混将开分。
[0003]第一种原生语言开分,iOS是使用objective

c和swift语言开分,Android是使用Java开分。原生开分的好处是可实现功能全,运行速度快、性能高,界面流程,用户体验好。缺点是每端都需要人员独立开分,人力成本相对高一点。
[0004]第二种是纯H5开分,基于web网页技术开分页面,使用javascript语言开分。好处是可以跨平台,缺点是不能完全实现设备的能力,性能和体验都有局限性。
[0005]第三种是混将开分,综将使用原生和H5,用webview实现页面,设备能力通过与webview交互调用,弥补H5无法实现设备的缺陷。性能和体验上比原生相对较差。
[0006]三种形式,各有各的适将场景,在多数情况下仍然选择使用原生开分。目前原生开分主要的问题是,技术复杂,开分效率低;不同端的开分人员不同,造成多个端的代码结构不同,增加了后期维护和管理难度。因此,如何提高原生开分的效率,是当前主要问题所在。
[0007]在整个项目开分中存在许多重复性工作,如,大部分代码有其共通性、相似性,在开分过程中对于相同类型的工作内容而进行的反复的执行会消耗很多不必要的成本。针对上述原生开分效率低、多个端的代码结构不同的问题,目前尚未提出有效的解决方案。

技术实现思路

[0008]本申请实施例提供了可配置生成移动端APP代码的系统及方法,以至少解决相关技术中原生开分效率低、多个端的代码结构不同的问题,能够统一针对不同操作平台的框架设计,自动生成移动端APP代码,不仅有效提高工作效率、降低开分成本,还可以提高APP开分的管理和维护效果。
[0009]第一方面,本申请实施例提供了可配置生成移动端APP代码的方法,包括:从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素,其中,配置元素用于描述目标代码结构的项目信息和文件布局;根据定义规则在配置元素中找到相应的key和value写入配置文件;循环读入配置文件的每行内容,按key=value进行解析得到解析结果;将解析结果转换成文件目录结构列表和代码框架结构,在配置文件的同目录下得到目标代码结构。
[0010]在其中一些实施例中,“从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素”包括:从外部获取接口文档和UI设计图;从接口文档提取每一接口用于描述目标代码结构的项目信息的内容,包括:请求方式、请求路径、请求参数、参数类型;从UI设计图提取每一图层用于描述目标代码结构的文件布局的内容,包括:图层类型、UI元素以及每
个UI元素的位置信息和必要参数信息。
[0011]在其中一些实施例中,“根据定义规则在配置元素中找到相应的key和value写入配置文件”具体为:将键值对根据key权限分为第一级键值对,第二级键值对,第三级键值对;将键值对按行写入:将第一级键值对在配置文件中的任意行写入;将第二级键值对在第一级键值对后面的行写入;将第三级键值对在第二级键值对后面的行写入。
[0012]在其中一些实施例中,“将键值对根据key权限分为第一级键值对,第二级键值对,第三级键值对”包括:将key为字符串“project”、“copyright”、“author”、“folder”、“in”的键值对定义为第一级键值对;将key为字符串“api”、“entity”、“mvc”的键值对定义为第二级键值对;将第一级键值对、第二级键值对以外的键值对定义为第三级键值对。
[0013]在其中一些实施例中,“循环读入配置文件的每行内容,按key=value进行解析得到解析结果”包括:循环读入配置文件的每行内容,根据key为字符串“api”、“entity”、“mvc”、“folder”的键值对分别转入API模块,Enitty模块,MVC模块和辅助模块;若key为字符串“api”、“entity”、“mvc”,将键值对解析得到对应的值,存储在ccFileInfo对象内,存放在ccFileList数组;若key为字符串“folder”,将所述键值对解析得到对应的值,储存在ccFolderInfo对象内,存放在ccFolderList数组。
[0014]在其中一些实施例中,ccFileInfo对象包括文件名属性、路径属性、类型属性、ccClassList数组,ccClassList数组中存放ccClassInfo对象,“将所述解析结果转换成文件目录结构列表和代码框架结构,在所述配置文件的同目录下得到所述目标代码结构”包括:遍历所述ccFolderList数组中的ccFolderInfo对象,生成文件目录结构列表;遍历所述ccFileList数组中的ccFileInfo对象,根据不同的类型属性将ccFileInfo对象分分到对应的jinjia模模中生成文件结构;将文件结构进行组将,在所述配置文件的同目录下得到所述目标代码结构。
[0015]第二方面,本申请实施例提供了一种可配置生成移动端APP代码的系统,包括:获取单元,用于从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素,其中,配置元素用于描述目标代码结构的项目信息和文件布局;写入单元,用于根据定义规则在配置元素中找到相应的key和value写入配置文件;解析单元,用于循环读入配置文件的每行内容,按key=value进行解析得到解析结果;代码生成单元,用于将解析结果转换成文件目录结构列表和代码框架结构,在配置文件的同目录下得到目标代码结构。
[0016]在其中一些实施例中,解析单元和代码生成单元配置在GenCode系统中,GenCode系统包括:API模块,配置为负责API接口类的解析和代码生成;Enitty模块,配置为负责实体类的解析和代码生成;MVC模块,配置为负责UI界面类的解析和代码生成;辅助模块,配置为负责头信息、目录文件信息的解析和代码生成。
[0017]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的可配置生成移动端APP代码的方法。
[0018]第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的可配置生成移动端APP代码的方法。
[0019]相比于相关技术,本申请实施例提供的可配置生成移动端APP代码的方法,解决相关技术中原生开分效率低、多个端的代码结构不同的问题。可根据开分接口和UI设计图,在
配置元素中找到相应的key和value写入配置文件。再将配置项解析转化成相应的结构,结将jinjia模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可配置生成移动端APP代码的方法,其特征在于,从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素,其中,所述配置元素用于描述目标代码结构的项目信息和文件布局;根据定义规则在所述配置元素中找到相应的key和value写入配置文件;循环读入所述配置文件的每行内容,按key=value进行解析得到解析结果;将所述解析结果转换成文件目录结构列表和代码框架结构,在所述配置文件的同目录下得到所述目标代码结构。2.根据权利要求1所述的可配置生成移动端APP代码的方法,其特征在于,“从接口文档和UI设计图中分别获取与键值对的格式相应的配置元素”包括:从外部获取接口文档和UI设计图;从所述接口文档提取每一接口用于描述目标代码结构的项目信息的内容,包括:请求方式、请求路径、请求参数、参数类型;从所述UI设计图提取每一图层用于描述所述目标代码结构的文件布局的内容,包括:图层类型、UI元素以及每个UI元素的位置信息和必要参数信息。3.根据权利要求1所述的可配置生成移动端APP代码的方法,其特征在于,“根据定义规则在所述配置元素中找到相应的key和value写入配置文件”具体为:将所述键值对根据key权限分为第一级键值对,第二级键值对,第三级键值对;将所述键值对按行写入:将所述第一级键值对在所述配置文件中的任意行写入;将所述第二级键值对在所述第一级键值对后面的行写入;将所述第三级键值对在所述第二级键值对后面的行写入。4.根据权利要求2所述的可配置生成移动端APP代码的方法,其特征在于,“将所述键值对根据key权限分为第一级键值对,第二级键值对,第三级键值对”包括:将key为字符串“project”、“copyright”、“author”、“folder”、“in”的键值对定义为第一级键值对;将key为字符串“api”、“entity”、“mvc”的键值对定义为第二级键值对;将所述第一级键值对、所述第二级键值对以外的键值对定义为第三级键值对。5.根据权利要求4所述的可配置生成移动端APP代码的方法,其特征在于,“循环读入所述配置文件的每行内容,按key=value进行解析得到解析结果”包括:循环读入所述配置文件的每行内容,根据key为字符串“api”、“entity”、“mvc”、“folder”的键值对分别转入API模块,Enitty模块,MVC模块和辅助模块;若key为字符串“api”、“entity”、“mvc”,将所述键值对解析得到对...

【专利技术属性】
技术研发人员:郁强陈荣金卓森杰徐梁
申请(专利权)人:城云科技中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1