[发明专利]程序代码转换方法、装置,电子设备在审
申请号: | 202010582025.2 | 申请日: | 2020-06-23 |
公开(公告)号: | CN111880785A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 加伟康;李琼 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F8/41 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 任亚娟 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序代码 转换 方法 装置 电子设备 | ||
1.一种程序代码转换方法,其特征在于,包括:
根据React程序代码的抽象语法信息,获取React组件的声明;
通过解析所述声明,得到所述React组件的组件特征;其中,所述组件特征包括以下的一项或多项:名称、传入属性、状态和生命周期;
根据所述React组件的状态和生命周期,确定由所述React组件转换得到的Flutter组件的组件模板;其中,所述组件模板匹配:有状态Flutter组件或无状态Flutter组件;
基于所述组件模板,对所述React组件的组件特征的声明和/或调用接口进行转换,得到与所述React组件对应的Flutter组件的程序代码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述React组件的状态和生命周期,确定由所述React组件转换得到的Flutter组件的组件模板的步骤,包括:
确定所述React组件的所述组件特征是否包括状态或生命周期,若是,则确定由所述React组件转换得到的Flutter组件的组件模板匹配有状态Flutter组件;否则,确定由所述React组件转换得到的Flutter组件的组件模板匹配无状态Flutter组件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述组件模板,对所述React组件的组件特征的声明和/或调用接口进行转换,得到与所述React组件对应的Flutter组件的程序代码的步骤,包括:
通过所述组件模板创建一Flutter组件,所述Flutter组件的名称为所述React组件的所述名称;
按照Flutter组件的调用规范,对所述React组件的所述传入属性、状态和生命周期的声明和/或调用接口进行转换,生成所述Flutter组件中相应特征对应的程序代码。
4.根据权利要求3所述的方法,其特征在于,所述按照Flutter组件的调用规范,对所述React组件的所述传入属性、状态和生命周期的声明和/或调用接口进行转换,生成所述Flutter组件中相应特征对应的程序代码的步骤,包括:
当所述React组件的组件特征包括状态时,以所述React组件的状态更新接口的名称声明所述Flutter组件的状态更新接口,并根据所述React组件的状态更新逻辑,实现所述Flutter组件的状态更新接口,以生成所述Flutter组件中状态的更新接口代码。
5.根据权利要求3所述的方法,其特征在于,所述按照Flutter组件的调用规范,对所述React组件的所述传入属性、状态和生命周期的声明和/或调用接口进行转换,生成所述Flutter组件中相应特征对应的程序代码的步骤,包括:
当所述React组件的组件特征包括生命周期时,以所述React组件的生命周期接口的名称对所述Flutter组件的相应生命周期接口进行封装,生成所述Flutter组件中相应生命周期接口的接口代码。
6.根据权利要求3所述的方法,其特征在于,所述按照Flutter组件的调用规范,对所述React组件的所述传入属性、状态和生命周期的声明和/或调用接口进行转换,生成所述Flutter组件中相应特征对应的程序代码的步骤,包括:
当所述React组件的组件特征包括传入属性时,根据所述React组件的所述传入属性的名称,声明所述Flutter组件的传入属性,并以所述React组件的名称为键,以所述React组件的所述传入属性为值,声明键值映射关系表,将所述键值映射关系表作为所述Flutter组件的传入属性接口代码的实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010582025.2/1.html,转载请声明来源钻瓜专利网。