一种基于多平台的小程序代码转换系统及转换方法技术方案

技术编号:21033503 阅读:29 留言:0更新日期:2019-05-04 05:10
本发明专利技术公开了一种基于多平台的小程序代码转换系统及转换方法,该系统包括如下组成:源文件、转换规则、读取器、分析器、转换器和输出器;所述读取器包括源文件读取器和转换规则读取器;所述分析器用于分析源文件和转换规则;所述转换器,用于将源文件通过转换规则转换为目标程序;所述输出器,用于将转换后的目标程序生成目标文件。本发明专利技术公开的转换系统及方法可以灵活地完成小程序源代码的转换,在开发多版功能相同或类似的小程序的情况下,可大大降低开发成本,减少了开发时间,节约了开发资源,减轻了重复性工作。

A Small Program Code Conversion System and Conversion Method Based on Multi-Platform

【技术实现步骤摘要】
一种基于多平台的小程序代码转换系统及转换方法
本专利技术涉及一种程序代码转换程序,特别涉及一种基于多平台的小程序代码转换系统及转换方法。
技术介绍
随着信息技术的发展,某些知名app相应推出了小程序,小程序是一种无需下载安装,即可使用的手机应用。只需要扫描二码,或是搜一搜,就能立即使用。小程序无需下载安装、无需卸载、用完即走,不占手机内存。第三方商户可基于这些app遵循相应的开发规范、使用相应的语言进行小程序的开发。用户无需下载第三方商户的app就能有类似的体验,方便用户使用的同时也增大了第三方商户的客流量。根据目前的情况,不同app推出的小程序语法大致相同,这一点使得代码转换成为可能,成为代码转换工具的重要基础。在商户开发多版功能相同或类似的小程序的情况下,就会产生很多类似或重复的工作,如果这些重复的工作都由开发人员去完成,无疑增加了开发成本,增大了开发时间,浪费了开发资源,开发人员也会因重复的工作而感到厌烦,那么代码转换工具可以很好的帮我们做这些重复的工作,达到一版开发多版兼容的效果。
技术实现思路
为解决上述技术问题,本专利技术提供了一种基于多平台的小程序代码转换系统及转换方法,以达到一版开发多版兼容的目的。为达到上述目的,本专利技术的技术方案如下:一种基于多平台的小程序代码转换系统,包括如下组成:源文件、转换规则、读取器、分析器、转换器和输出器;所述转换规则包括主转换规则和子转换规则,所述主转换规则包括默认转换规则、转换目录、需要转换的文件规则,子转换规则包括文件中需要转换的入参对象的属性名和属性值和属性类型规则、转换的扩展名规则、文件中需要转换的方法规则、文件中需要转换的指令规则、文件中需要转换的属性规则、特殊替换规则;所述读取器包括源文件读取器和转换规则读取器;所述分析器用于分析源文件和转换规则;所述转换器,用于将源文件通过转换规则转换为目标程序;所述输出器,用于将转换后的目标程序生成目标文件。上述方案中,所述默认转换规则是指程序的默认转换规则;目前可配置值:a2w(支付宝转微信)w2a(微信转支付宝),程序根据该配置加载相应的子配置文件,以及特有转换逻辑。可根据技术发展灵活进行扩展。所述转换目录指定所需转换的源代码目录,程序根据该配置加载所指定目录内的所有文件,根据子配置文件内的具体规则进行代码转换;所述需要转换的文件规则表示所需转换文件的扩展名集合,程序会根据该配置对指定的文件进行代码转换;目前需要转换的文件规则包括.js、.json、.wxss、.acss、.axml、.wxml。所述文件中需要转换的入参对象的属性名和属性值和属性类型规则表示对文件中出现的的入参对象的属性名和属性值和属性类型规则进行转换;所述转换的扩展名规则是文件扩展名的替换规则;所述文件中需要转换的方法规则是指对文件内方法的转换规则;所述文件中需要转换的指令规则是指对文件内的指令的转换规则;所述文件中需要转换的属性规则是指对文件功能相同但命名不同时所需的转换规则;所述特殊替换规则是指对指定转换文件进行的差异化调整规则。根据以上配置,工具会在文件中查找配置的方法名,使用其具体的转换规则对其属性根据转换类型修改或添加需要修改的属性名或添加的属性名和添加的属性值,以及通过转换属性类型对属性值的类型进行转换。根据以上配置,工具会在文件中查找配置的扩展名,把需要转换的扩展名规则转换为转换后的扩展名。一种基于多平台的小程序代码转换方法,采用上述的基于多平台的小程序代码转换系统,包括如下步骤:步骤一、配置默认转换规则,修改主配置文件的默认转换规则;步骤二、配置转换目录,修改主配置文件的转换目录;步骤三、如果需要修改子配置,修改对应自配置文件内的相应配置;步骤四、使用命令行工具,进入转换工具的根目录,执行nodeindex,这时转换系统运行;首先读取器读取转换目录、默认转换规则、需要转换的文件规则到程序中;读取器通过读取到的默认转换规则和转换目录下的所有文件,每读取一个文件后由分析器通过需要转换的文件规则分析该文件是否需要处理,如果文件扩展名出现在需要转换的文件规则内,则由转换器通过转换的扩展名规则对其扩展名进行替换,然后转换器通过子转换规则对文件内容进行替换;最后,由输出器将转换后的文件输出至目标目录,同时在控制台输出转换日志,最后输出转换完成表示代码转换完成。上述方案中,步骤四中,转换器通过子转换规则对文件内容进行替换的步骤如下:(1)转换器通过文件中需要转换的入参对象的属性名和属性值和属性类型规则对文件内容进行规则替换;(2)转换器通过文件中需要转换的方法规则对文件内容进行规则替换;(3)转换器通过文件中需要转换的指令规则对文件内容进行规则替换;(4)转换器通过文件中需要转换的属性规则对文件内容进行规则替换;(5)转换器通过特殊替换规则对文件内容进行规则替换。通过上述技术方案,本专利技术提供的基于多平台的小程序代码转换系统及转换方法可以灵活地完成小程序源代码的转换,在开发多版功能相同或类似的小程序的情况下,可大大降低开发成本,减少了开发时间,节约了开发资源,减轻了重复性工作。小程序的版本越多,小程序功能越多,收益越大。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例所公开的基于多平台的小程序代码转换系统结构图;图2为本专利技术实施例所公开的基于多平台的小程序代码转换方法示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。本专利技术提供了一种基于多平台的小程序代码转换系统及转换方法使用当前流行的nodejs语言开发而成,nodejs是一个基于ChromeV8引擎的JavaScript运行环境。使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Node.js的包管理器npm,是全球最大的开源库生态系统,具有良好的跨平台性,本系统可在任何支持nodejs的操作系统上运行,使得开发人员可以自由的选择开发环境。而且本系统基于nodejs基础库进行开发,无需安装任何依赖,使用起来极为方便。本系统使用了大量的正则表达式完成代码转换,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。本系统使用策略模式实现易维护与易扩展的特性,策略模式定义了一系列的算法,并将每一个算法封装起来,让算法独立于使用它的客户而独立变化。这样方便转换工具的维护与扩展,当小程序版本越来越多时,也能从容应对,良好支持。下面,将从最终使用者即用户的角度着手,以支付宝小程序转微信小程序为例进行详细的描述,使本专利技术的上述目标、特征和优点更加清晰、易懂。如图2所示,假设支付宝小程序源代码目录为:D:\demo。步骤一、配置“默认转换规则”,修改主配置文件“默认转换规则”为“a2w”。步骤二、配置“转换目录”,修改主配置文件“转换目录”为“D:/demo”。步骤三、如果需要修改子配置,修改对应自配置文件内的相应配置。步骤四、使用命令行工具,进入转换工具的根目录,执行nodeindex,这时程序工具运行。如图1所示,首先读取器读取转换目本文档来自技高网...

【技术保护点】
1.一种基于多平台的小程序代码转换系统,其特征在于,包括如下组成:源文件、转换规则、读取器、分析器、转换器和输出器;所述转换规则包括主转换规则和子转换规则,所述主转换规则包括默认转换规则、转换目录、需要转换的文件规则,子转换规则包括文件中需要转换的入参对象的属性名和属性值和属性类型规则、转换的扩展名规则、文件中需要转换的方法规则、文件中需要转换的指令规则、文件中需要转换的属性规则、特殊替换规则;所述读取器包括源文件读取器和转换规则读取器;所述分析器用于分析源文件和转换规则;所述转换器,用于将源文件通过转换规则转换为目标程序;所述输出器,用于将转换后的目标程序生成目标文件。

【技术特征摘要】
1.一种基于多平台的小程序代码转换系统,其特征在于,包括如下组成:源文件、转换规则、读取器、分析器、转换器和输出器;所述转换规则包括主转换规则和子转换规则,所述主转换规则包括默认转换规则、转换目录、需要转换的文件规则,子转换规则包括文件中需要转换的入参对象的属性名和属性值和属性类型规则、转换的扩展名规则、文件中需要转换的方法规则、文件中需要转换的指令规则、文件中需要转换的属性规则、特殊替换规则;所述读取器包括源文件读取器和转换规则读取器;所述分析器用于分析源文件和转换规则;所述转换器,用于将源文件通过转换规则转换为目标程序;所述输出器,用于将转换后的目标程序生成目标文件。2.根据权利要求1所述的一种基于多平台的小程序代码转换系统,其特征在于,所述文件中需要转换的属性规则是指对文件功能相同但命名不同时所需的转换规则。3.根据权利要求1所述的一种基于多平台的小程序代码转换系统,其特征在于,所述特殊替换规则是指对指定转换文件进行的差异化调整规则。4.一种基于多平台的小程序代码转换方法,采用如权利要求1所述的基于多平台的小程序代码转换系统,其特征在于,包括如下步骤:步骤一、配置默认转换规则,修改主配置文件的默认转换规则;步骤二、配置转换目录,修改主配置文...

【专利技术属性】
技术研发人员:陈磊刘龙钟海涛黄伟鞠强魏亮
申请(专利权)人:青岛特锐德电气股份有限公司青岛特来电新能源有限公司
类型:发明
国别省市:山东,37

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

1