【技术实现步骤摘要】
一种源码文件的生成方法、装置以及终端
本专利技术涉及移动终端领域,尤其涉及一种源码文件的生成方法、装置以及终端。
技术介绍
小程序是一种基于微信应用程序的无需下载安装,扫描二维码即可在移动终端上使用的应用,用户只需要扫描二维码或者是搜一搜,就能立即使用。由于无需下载安装、无需卸载,不会占用终端例如手机上的内存,使得小程序被广泛开发应用。应运而生的是一种类似小程序的免安装应用程序的新型应用形态:快应用,它是基于移动终端的硬件平台,快应用标准由主流移动终端厂商组成的快应用联盟联合制定。专利技术人在使用小程序和快应用的过程中发现,由于小程序是在微信应用中运行的一种程序,而快应用是在支持快应用标准的安卓系统手机中运行的程序,两者的实现方式和运行环境有较大差异,进而两个平台的代码无法实现兼容运行。开发者在将产品开发成小程序后,仍需要重新按照快应用的标准和语法开发一遍,耗费人力和物力。
技术实现思路
本专利技术实施例提出一种源码文件的生成方法、装置以及终端,以解决现有技术中,由于两种免安装应用之间的代码无法兼容,导致耗费开发时间的问题。第一方面,本专利技术实施例提供了一种源码文件 ...
【技术保护点】
1.一种源码文件的生成方法,其特征在于,所述方法包括:获取第一应用程序的第一源码文件;在确定所述第一应用程序符合预设条件的情况下,根据预设的转换关系,对应将所述第一源码文件转换为第二源码文件;其中,所述第二源码文件为第二应用程序的源码文件,所述第一应用程序是第一类型的免安装应用程序,所述第二应用程序是第二类型的免安装应用程序。
【技术特征摘要】
1.一种源码文件的生成方法,其特征在于,所述方法包括:获取第一应用程序的第一源码文件;在确定所述第一应用程序符合预设条件的情况下,根据预设的转换关系,对应将所述第一源码文件转换为第二源码文件;其中,所述第二源码文件为第二应用程序的源码文件,所述第一应用程序是第一类型的免安装应用程序,所述第二应用程序是第二类型的免安装应用程序。2.根据权利要求1所述的方法,其特征在于,所述转换关系对应于所述第一源码文件中待转换文件的类型,所述在确定所述第一应用程序符合预设条件的情况下,根据预设的转换关系,对应将所述第一源码文件转换为第二源码文件,包括:获取所述第一源码文件中的所述待转换文件;根据所述待转换文件的类型所对应的转换关系,分别将所述待转换文件转换为对应的目标文件;将所述目标文件写入所述第二应用程序的源码文件的输出目录中,获得所述第二源码文件;其中,所述待转换文件的类型包括后缀为json类型,后缀为js类型,后缀为wxss类型以及后缀为wxml类型;所述后缀为json类型的文件中包括:全局配置文件以及除所述全局配置文件以外的第一文件;所述后缀为js类型的文件包括:全局脚本文件以及除所述全局脚本文件以外的第二文件,所述后缀为wxss类型的文件中包括:全局样式文件以及除所述全局样式文件以外的第三文件;所述第一文件、所述第二文件、第三文件以及所述wxml类型的文件分别对应的所述目标文件是ux后缀的文件,所述全局配置文件对应的所述目标文件为manifest.json文件,所述全局脚本文件对应的所述目标文件为app.ux文件,所述全局样式文件对应的所述目标文件为app.css文件。3.根据权利要求2所述的方法,其特征在于,在所述获取所述第一源码文件中的所述待转换文件的步骤之前,所述方法还包括:清空所述输出目录。4.根据权利要求2所述的方法,其特征在于,所述第一文件包括:所述全局配置文件指示的页面路径下的json后缀文件,以及所述第一源码文件中的非配置文件中的json后缀文件;所述第二文件包括:所述全局配置文件指示的页面路径下的js后缀文件,以及所述非配置文件中的js后缀文件,所述第三文件包括:所述全局配置文件指示的页面路径下的wxss后缀文件,以及所述非配置文件中的wxss后缀文件,所述获取所述第一源码文件中的所述待转换文件,包括:在所述第一源码文件中的全局配置文件中进行页面字段的查找,以确定所述第一源码文件中所述所有页面路径;获取所述非配置文件;根据所述非配置文件和所述所有页面路径,获取所述第一文件、第二文件、第三文件、以及所述后缀为wxml类型的文件;获取所述第一源码文件中的所述全局脚本文件、所述全局样式文件和所述全局配置文件;其中,所述非配置文件包括图片文件、音频文件以及库文件中的至少一者。5.根据权利要求2所述的方法,其特征在于,所述目标文件还包括垫片文件,将所述目标文件写入所述第二应用程序的源码文件的输出目录中,获得所述第二源码文件的步骤之前,还包括:获取所述第一源码文件中的所述垫片文件,所述垫片文件为第四文件在预设执行环境下调用预设接口时提供支持的文件;所述预设接口不支持在所述预设执行环境下运行,所述第四文件为所述第一源码文件中除所述垫片文件之外的文件;所述将所述目标文件写入所述第二应用程序的源码文件的输出目录中,获得所述第二源码文件包括:将所述垫片文件写入所述输出目录下的垫片文件目录中。6.根据权利要求2所述的方法,其特征在于,所述待转换文件的类型是所述后缀为json类型,所述根据所述待转换文件的类型所对应的转换关系,分别将所述待转换文件转换为对应的目标文件,包括:确定所述待转换文件中的预设特征字段;在所述待转换文件为所述全局配置文件的情况下,将所述全局配置文件中的所述预设特征字段转换为目标字段,以生成所述manifest.json文件;在所述待转换文件为所述第一文件的情况下,将所述第一文件中的所述预设特征字段转换为目标字段,以生成与所述第一文件的文件名对应的ux后缀的文件。7.根据权利要求2所述的方法,其特征在于,所述待转换文件的类型是所述后缀为js类型,所述根据所述待转换文件的类型所对应的转换关系,分别将所述待转换文件转换为对应的目标文件,包括:获取所述待转换文件的源码;将所述待转换文件的源码转换为第一抽象语法树;遍历所述第一抽象语法树,以对应处理所述第一抽象语法树中的所有节点;根据所述第一抽象语法树的遍历结果,生成所述目标文件。8.根据权利要求8所述的方法,其特征在于,所述第一抽象语法树的所有节点中包括编码规则节点和应用程序接口节点,所述遍历所述第一抽象语法树,以对应处理所述第一抽象语法树中的所有节点,包括:对所述第一抽象语法树中满足第一条件的编码规则节点进行注释;将满足所述第一条件的编码规则节点的注释记录在日志文件中;将所述第一抽象语法树中的满足第二条件的应用程序接口节点替换成所述第二应用程序对应的应用程序接口节点;将所述第一抽象语法树中的满足第三条件的编码规则节点进行转换,以生成符合所述第二应用程序规则的编码规则节点;其中,所述第一条件用于表明节点对应的编码规则与所述第二应用程序的编码规则完全不匹配,所述第二条件用于表明节点对应的应用程序接口与所述第二应用程序中的应用程序接口部分匹配,所述第三条件用于表明节点对应的编码规则未出现在所述第二应用程序中;所述根据所述第一抽象语法树的遍历结果,生成所述目标文件,包括:在所述待转换文件为所述全局脚本文件的情况下,根据处理后的所述第一抽象语法树和所述日志文件,生成所述app.ux文件;在所述待转换文件为所述第二文件的情况下,根据处理后的所述第一抽象语法树和所述日志文件,生成与所述第二文件的文件名对应的ux后缀的文件。9.根据权利要求2所述的方法,其特征在于,所述待转换文件的类型是所述后缀为wxml类型,所述根据所述待转换文件的类型所对应的转换关系,分别将所述待转换文件转换为对应的目标文件,包括:获取所述待转换文件的源码;在所述待转换文件的源码上增加根节点,以确定为第一源码;根据所述全局配置文件,确定所述待转换文件对应的页面中是否包含标签栏;当所述待转换文件对应的页面中包含所述标签栏时,将增加所述标签栏的第一源码转换为第二抽象语法树;当所述待转换文件对应的页面中不包含所述标签栏时,将所述第一源码转换为所述第二抽象语法树;遍历所述第二抽象语法树,以对应处理所述第二抽象语法树中的所有节点;根据所述第二抽象语法树的遍历结果,生成所述目标文件。10.根据权利要求9所述的方法,其特征在于,所述遍历所述第二抽象语法树,以对应处理所述第二抽象语法树中的所有节点,包括:将所述第二抽象语法树中满足第二条件的节点转换为所述第二应用程序的标签节点;对所述第二抽象语法树中满足第一条件的节点进行注释;将满足所述第一条件的节点的注释记录在日志文件中;其中,所述第一条件用于表明节点对应的标签与所述第二应用程序的标签完全不匹配,所述第二条件用于表明节点对应的标签与所述第二应用程序的标签部分匹配;所述根据所述第二抽象语法树的遍历结果,生成所述目标文件,包括:根据处理后的所述第二抽象语法树和所述日志文件,生成与所述wxml类型的文件的文件名对应的ux后缀的文件。11.根据权利要求2所述的方法,其特征在于,所述待转换文件的类型为所述后缀为wxss类型,所述根据所述待转换文件的类型所对应的转换关系,分别将所述待转换文件转换为对应的目标文件,包括:获取所述待转换文件的源码;将所述待转换文件的源码转换为第三抽象语法树;遍历所述第三抽象语法树,以对应处理所述第三抽象语法树中的所有节点;根据所述第三抽象语法树的遍历结果,生成所述目标文件。12.根据权利要求11所述的方法,其特征在于,所述遍历所述第三抽象语法树,以对应处理所述第三抽象语法树中的所有节点,包括:将所述第三抽象语法树中的选择器字符串解析为第一数据结构;根据所述第一数据结构,对满足第一条件的选择器字符串所对应的规则进行注释;将所述规则的注释写入日志文件;在所述第三抽象语法树中进行声明字段的查找,以确定所述第三抽象语法树中的所有声明;对所述所有声明中满足所述第一条件的声明进行注释;将满足所述第一条件的声明的注释写入所述日志文件;根据第二应用程序规则,对所述所有声明中满足第二条件的声明进行修改,以确定符合所述第二应用程序规则的声明;其中,所述第一条件用于表明节点对应的选择字符串或者声明与所述第二应用程序的选择字符串或者声明完全不匹配,所述第二条件用于表明节点对应的声明与所述第二应用程序的声明部分匹配;所述根据所述第三抽象语法树的遍历结果,生成所述目标文件,包括:在所述待转换文件为所述全局样式文件的情况下,根据处理后的所述第三抽象语法树和所述日志文件,生成所述app.css文件;在所述待转换文件为所述第三文件的情况下,根据处理后的所述第三抽象语法树和所述日志文件,生成所述第三文件的文件名对应的所述ux后缀的文件。13.一种源码文件的生成装置,其特征在于,所述装置包括:文件获取模块,用于获取第一应用程序的第一源码文件;文件转换模块,用于在确定所述第...
【专利技术属性】
技术研发人员:周晓东,耿加稳,
申请(专利权)人:维沃移动通信有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。