CN115934093A - 小程序跨端应用方法、相关装置及计算机存储介质 - Google Patents
小程序跨端应用方法、相关装置及计算机存储介质 Download PDFInfo
- Publication number
- CN115934093A CN115934093A CN202211347501.8A CN202211347501A CN115934093A CN 115934093 A CN115934093 A CN 115934093A CN 202211347501 A CN202211347501 A CN 202211347501A CN 115934093 A CN115934093 A CN 115934093A
- Authority
- CN
- China
- Prior art keywords
- page
- applet
- analysis result
- logic
- pages
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本说明书实施例公开了一种小程序跨端应用方法、相关装置及计算机存储介质,该方法可以包括:根据获取到的第一小程序中的M个页面的逻辑关系,确定第一逻辑依赖分析结果,并按照预设的修改规则对第一逻辑依赖分析结果中N个页面的名称进行修改,得到第二逻辑依赖分析结果,进一步地,基于第二逻辑依赖分析结果即可生成第二小程序的页面。
Description
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种小程序跨端应用方法、相关装置及计算机存储介质。
背景技术
“用完即走”的理念引发了一波小程序浪潮,小程序出色的使用体验,便捷的传播方式,丰富的组件应用程序编程接口(Application Programming Interface,API)带来的开发效率的提升,吸引了一大批使用者,但各个应用程序(Application,APP)中的小程序由于使用的开发语言不同导致它们之间无法跨平台直接应用。
发明内容
本说明书实施例提供了一种小程序跨端应用方法、相关装置及计算机存储介质,可以解决了不同平台之间的小程序无法跨平台直接应用的问题。
第一方面,本说明书实施例提供了一种小程序跨端应用方法,所述方法包括:
获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
第二方面,本说明书提供了一种小程序跨端应用装置,所述装置包括:
获取模块,用于获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
确定模块,用于基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
得到模块,用于按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
生成模块,用于基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
第三方面,说明书实施例提供一种程序产品,所述程序产品包括指令,当所述指令在计算机上运行时,使得所述计算机执行上述的方法步骤。
第四方面,说明书实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第五方面,本说明书实施例提供一种电子设备,可包括:处理器和存储器;
其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本说明书一些实施例提供的技术方案带来的有益效果至少包括:
本说明书实施例可以通过获取第一小程序包含的M个页面;基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果;基于第二逻辑依赖分析结果生成第二小程序的页面。由此,本说明书实施例中的第二应用中的第二小程序可以通过调用修改名称的方式获取可识别的逻辑路径,以直接生成所需要的页面,这样就不需要开发者根据其他应用端的开发语言重新编写代码,不仅解决了不同平台之间的小程序无法跨平台直接应用的问题,还有效提高了小程序的开发效率。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本说明书实施例相关的应用程序中的小程序的页面图;
图2a示出了本说明书实施例的小程序跨端应用方法的应用场景图;
图2b示出了本说明书实施例的小程序跨端应用方法生成的页面图;
图3示出了本说明书实施例提供的一种小程序跨端应用方法的流程示意图;
图4示出了本说明书实施例提供的另一种小程序跨端应用方法的流程示意图;
图5示出了本说明书实施例提供的另一种小程序跨端应用方法生成的页面;
图6示出了本说明书实施例提供的又一种小程序跨端应用方法的流程示意图;
图7示出了本说明书实施例的一种小程序跨端应用方法的页面构建过程示意图;
图8示出了本说明书实施例一种小程序跨端应用方法的***架构图;
图9为本说明书实施例提供的一种小程序跨端应用装置的结构示意图;
图10为本说明书实施例提供的一种电子设备的结构示意图。
具体实施方式
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本说明书中的具体含义。此外,在本说明书的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1示例性示出了本说明书实施例相关的应用程序中的小程序的页面图。具体地,该页面属于应用程序1中的本地小程序“宠物身份证”中的一个,其可以展示宠物类型、昵称、性征、生日、绝育情况等宠物信息。
可以理解的是,本说明书中的本地小程序是指应用程序1的开发终端开发的小程序,开发者可以将其上传到服务器中,其它应用程序就可以通过服务器调取应用程序1中本地小程序的相关数据。
图2a示出了本说明书实施例的小程序跨端应用方法的应用场景图。其中,本说明书实施例提供的小程序跨端应用方法可以应用在服务器中。具体地,本说明书实施例的小程序跨端应用方法可以通过服务器实现将应用程序1中的“宠物身份证”小程序调用到应用程序2中。例如,用户可以使用手机中的应用程序1中本地小程序“宠物身份证”为其宠物猫购买宠物保险,也可以使用该手机中应用程序2中被调用的“宠物身份证”小程序购买宠物保险。当用户使用应用程序2中的“宠物身份证”小程序购买宠物保险时,应用程序2需要向存储有应用程序1相关数据的服务器发送获取“宠物身份证”小程序的相关数据的请求,以在应用程序2中生成“宠物身份证”小程序的各个页面。
其中,服务器可以通过网络和终端连接。网络用以在终端和服务器之间提供通信链路。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。
应该理解,图2a中的终端、网络、以及服务器的数目仅仅是示意性的。根据现实需要,可以具有任意数目的终端、网络、以及服务器。比如服务器可以是多个服务器组成的服务器集群等。用户可以使用服务器通过网络与终端交互,以获取优化后的版本等。
具体地,本说明书实施例中的服务器可以是一个第三方服务器,例如,一个同时存储了第一应用程序的数据和第二应用程序的数据的公共服务器,终端可以向第三方服务器请求第一应用程序中第一小程序的相关数据。本说明书实施例中的服务器也可以是多个服务器组成的服务器集群,例如,终端可以通过第二应用程序的服务器向第一应用程序的服务器请求第一小程序的相关数据。
图2b示出了本说明书实施例的小程序跨端应用方法生成的页面图。可能地,由于应用程序1中的“宠物身份证”小程序为其本地小程序,因此,不需要登录页面,但用户在应用程序2中使用该小程序时需要先进入登录页面21,在登录成功后进入等待页面22,在等待页面22完成的跳转后才可以进入图1中示出的“宠物身份证”小程序中的页面。
接下来结合图1介绍的本说明书实施例相关的应用程序中的小程序的页面图、图2a介绍的本说明书实施例的小程序跨端应用方法的应用场景图,以及图2b介绍的本说明书实施例的小程序跨端应用方法生成的页面图,来介绍本说明书实施例提供的小程序跨端应用方法。
在一个实施例中,图3所示,提供了一种小程序跨端应用方法的流程示意图。如图3所示,该小程序跨端应用方法可以包括如下步骤:
S301,获取第一小程序包含的M个页面。
其中,本说明书实施例中的第一小程序搭载于第一应用程序;M为大于1的正整数。
可以理解的是,第一小程序为第一应用程序的本地小程序。可能地,第一小程序可以包含的多个页面,例如,第一小程序为“宠物身份证”小程序时,其可以包括:宠物档案页面、宠物照片页面、宠物保险页面、养宠百科页面、在线问诊页面等。
S302,基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果。
其中,本说明书实施例中的N为小于或等于M的正整数。第一逻辑依赖分析结果包括N个页面的名称、以及每个页面各自对应的逻辑路径。逻辑路径为调用逻辑关系的路径。
具体地,逻辑关系用于表示页面之间的跳转关系,例如,点击第一小程序中当页面上的“返回”按键会跳转到上一页面,点击“下一步”按键会跳转到下一页面。逻辑路径可以理解为用户点击当前页面中的“返回”按键时,需要调用生成上一页面的路径。
可以理解的是,在第二应用程序中的小程序调用第一应用程序中小程序的全部页面时,N是等于M的正整数;在第二应用程序中的小程序调用第一应用程序中小程序的部分页面时,N是小于M的正整数。
具体地,本说明书实施例中N个页面的名称是统一的,例如,N个页面的名称均为abc。
可能地,本说明书实施例中的第一逻辑依赖分析结果可以理解为一个树形结构,该树形结构包括N个节点,每个节点对应的信息可以包括一个页面的名称,每个页面又各自对应至少一个逻辑路径。例如,宠物档案页面和宠物照片页面之间的相互依赖关系为:点击宠物档案页面的照片可以进入宠物照片页面。进一步地,若宠物档案页面对应的是节点A,宠物照片页面对应的是节点B,则节点A与节点B为父子关系,节点A为父亲节点,节点B为孩子节点,节点A对应的信息为:页面名称abc以及调用存储该宠物档案页面的逻辑路径animalfile\。节点B对应的信息为:页面名称abc以及调用存储该宠物照片页面的逻辑路径animalfile\photos\。
S303,按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果。
其中,预设的修改规则为预先设定的对页面名称进行修改的规则,可以理解的是,本说明书实施例可以通过对N个页面的名称进行修改,以使第二应用程序可以获取调用小程序中页面的逻辑路径。例如,将预设的修改规则为将第一应用程序中小程序的页面名称统一修改为xyz。
可能地,第一应用程序的开发者可以将自己开发的软件包上传到一个节点包管理器(Node Package Manager,NPM)上,通过该管理器提供的中心化服务让其他开发者可以引用该包,以降低开发成本。但在不同平台小程序的开发规范中,可能对这些软件包的支持程度有所不同,第二应用程序中的小程序可能无法直接使用该NPM包,因此需要第一应用程序中小程序页面的名称进行修改,以使第二应用程序可以调用该NPM包。
可以理解的是,第二逻辑依赖分析结果为修改了页面名称的第一逻辑依赖分析结果,也就是说第二逻辑依赖分析结果可以理解为一个树形结构。例如,在第一逻辑依赖分析结果修改名称后,第二逻辑依赖分析结果中的节点A对应的信息为:页面名称xyz以及调用存储该宠物档案页面的逻辑路径animalfile\。节点B对应的信息为:页面名称xyz以及调用存储该宠物照片页面的逻辑路径animalfile\photos\。
可能地,本说明书实施例可以先将第一逻辑依赖分析结果保存到开发者终端的本地文件夹下,再按照预设的修改规则对N个页面的名称进行修改,并将修改后得到的第二逻辑依赖分析结果上传到服务器中。具体地,本说明书实施例中N个页面的名称的修改过程可以由开发者终端自动识别并完成统一修改,也可以由开发人员手动完成修改。
S304,基于第二逻辑依赖分析结果生成第二小程序的页面。
其中,本说明书实施例中的第二小程序搭载于第二应用程序;第一应用程序与第二应用程序不同。
可以理解的是,第二小程序是基于第一应用程序中的第一小程序开发得到的。
可能地,由于在第二应用程序需要进行注册、登录、验证用户信息、以及可以实现的功能无法一一对应等原因,第二小程序的页面的数量可能与第一小程序的页面数量不等。
在一个具体的实施例中,获取应用程序1中小程序A1包含的3个页面:宠物档案页面、宠物照片页面、宠物百科页面,基于小程序A1中这3个页面的跳转关系,确定第一逻辑依赖分析结果,可以从宠物档案页面分别跳转到宠物照片页面和宠物百科页面。第一逻辑依赖分析结果包括的3个页面的名称均为abc,宠物档案页面对应的逻辑路径为animalfile\、宠物照片页面对应的逻辑路径为animalfile\photos\、宠物百科页面对应的逻辑路径为animalfile\info\。进一步地,可以从NPM中获取第一逻辑依赖分析结果并保存到本地文件夹中,再按照预设的规定名称将小程序A1的3个页面的名称由abc修改为xyz,得到第二逻辑依赖分析结果,并将该第二逻辑依赖分析结果上传到NPM。进一步地,应用程序2中就可以通过NPM调用页面的逻辑路径以生成小程序A2中相应的3个页面。
本说明书实施例可以通过获取第一小程序包含的M个页面;基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果;基于第二逻辑依赖分析结果生成第二小程序的页面。由此,本说明书实施例中的第二应用中的第二小程序可以通过调用修改名称的方式获取可识别的逻辑路径,以直接生成所需要的页面,这样就不需要开发者根据其他应用端的开发语言重新编写代码,不仅解决了不同平台之间的小程序无法跨平台直接应用的问题,还有效提高了小程序的开发效率。
在一些实施方式中,第一小程序中的N个页面均依赖至少一个组件。其中,组件是指以特定规范构成的一种集合,一个组件可以实现一个或多个功能,例如,实现宠物列表、图片列表等功能。进一步地,一个页面依赖至少一个组件可以理解为,该页面可以实现至少一个功能,例如,当前页面可以是实现拍照功能。
在一个实施例中,图4所示,本说明书实施例提供了一种小程序跨端应用方法流程图。如图4所示,该小程序跨端应用方法可以包括如下步骤:
S401,获取第一小程序包含的M个页面。
可能地,确定第二小程序需要生成的页面;基于第二小程序需要生成的页面和第一小程序包含的M个页面,确定第一小程序和第二小程序之间的公共页面;基于公共页面以及第二小程序需要生成的页面确定第二小程序中的非公共页面。
其中,本说明书实施例的公共页面用于表示第二小程序中与第一小程序的页面相同的页面,非公共页面用于表示第二小程序去除公共页面外的其他页面。例如,由于图2b中第二应用程序中“宠物身份证”页面23与图1中第一应用程序“宠物身份证”页面相同,因此,图2b中第二应用程序中“宠物身份证”页面23为公共页面。由于第二小程序不是第二应用程序的本地小程序,因此需要增设登录页面和等待页面以验证用户身份并等待从获取服务器中第一应用程序中的相关数据,因此图2b中的登录页面21和等待页面22为第二小程序中的非公共页面。
可以理解的是,本说明书实施例可以预先设定在第二应用程序中需要生成的页面以及这些页面的跳转顺序。
具体地,本说明书实施例可以通过页面比对或页面过滤等方式确定第一小程序和第二小程序之间的公共页面,再基于公共页面以及第二小程序需要生成的页面就可以确定第二小程序中的非公共页面。
S402,基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果。
可能地,本说明书实施例可以对公共页面和非公共页面的逻辑关系进行依赖分析处理,生成第一逻辑依赖分析结果。具体地,可以通过确定公共页面和非公共页面之间的跳转顺序确定公共页面和非公共页面之间的逻辑关系,进而根据该逻辑关系确定第一逻辑依赖分析结果。
S403,按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果。
具体地,S403与S303一致,此处不再赘述。
S404,基于第一小程序中的N个页面依赖的组件,确定第一组件依赖分析结果。
可能地,本说明书实施例可以对公共页面和非公共页面依赖的组件之间的关系进行依赖分析处理,得到第一组件依赖分析结果。
具体地,可以通过确定公共页面中的各个组件和非公共页面中的各个组件之间的相互关系确定公共页面依赖的组件和非公共页面依赖的组件之间的关系,进而根据该关系确定第一组件依赖分析结果。
其中,本说明书实施例中的第一组件依赖分析结果可以包括N个页面的名称、以及每个页面中每个组件各自对应的组件路径;组件路径为调用组件的路径。例如,页面中需要展示当前用户的宠物图片列表,组件路径可以理解为调用宠物图片列表的路径charts\animalphotos\,即通过执行该路径可以在页面中实现宠物图片列表功能。具体地,本说明书实施例中N个页面的名称是统一的,例如,N个页面的名称均为abc。
可能地,本说明书实施例中的第一组件依赖分析结果可以理解为一个树形结构,该树形结构包括多个节点,每个节点对应的信息可以包括一个页面的名称和该页面中一个组件对应的组件路径。例如,图5所示的宠物档案页面53可以包括选择宠物类型、填写宠物信息、“下一步”按键等组件。获取到宠物信息后可以点击“下一步”按键,生成“我的宠物”页面,该页面可以包括宠物头像、宠物生长期(养宠须知、幼年期、***等)、宠物常识(疾病防疫、繁殖绝育、健康饮食等)等组件。可以理解的是,“下一步”按键与“我的宠物”页面中的各个组件存在依赖关系。因此,本说明书实施例可以通过页面与页面中各组件之间的相互关系构建组件的树结构。
S405,按照预设的修改规则对N个页面的名称进行修改,得到第二组件依赖分析结果。
可能地,若宠物档案页面中“下一步”按键的组件对应的是节点C,“我的宠物”页面中宠物生长期的组件对应的是节点D,则节点C与节点D为父子关系,节点C为父亲节点,节点D为孩子节点,节点C对应的信息为:页面名称abc以及调用存储该宠物档案页面中“下一步”按键的组件路径animalfile\next\。节点D对应的信息为:页面名称abc以及调用“我的宠物”页面中宠物生长期的组件路径myanimal\generations\。
可以理解的是,本说明书实施例可以通过对N个页面的名称进行修改,以使第二应用程序可以获取调用页面中组件的组件路径。例如,将预设的修改规则为将第一应用程序中小程序的页面名称统一修改为xyz。
可以理解的是,第二组件依赖分析结果为修改了页面名称的第一组件依赖分析结果,也就是说第二组件依赖分析结果可以理解为一个树形结构。例如,在第一组件依赖分析结果修改名称后,第二组件依赖分析结果中的节点C对应的信息为:页面名称xyz以及调用存储该宠物档案页面中“下一步”按键的组件路径animalfile\next\。节点D对应的信息为:页面名称xyz以及调用“我的宠物”页面中宠物生长期的组件路径myanimal\generations\。
可能地,本说明书实施例可以先将第一组件依赖分析结果保存到开发者终端的本地文件夹下,再按照预设的修改规则对N个页面的名称进行修改,完成修改后得到的第二逻辑依赖分析结果,将修改得到的第二组件依赖分析结果再上传到服务器中,以使第二应用程序中第二小程序内各个页面可以实现预设的组件功能。
S406,基于第二逻辑依赖分析结果和第二组件依赖分析结果生成第二小程序的页面。
可以理解的是,本说明书实施例可以通过第二逻辑依赖分析结果确定第二小程序中页面的跳转顺序,通过第二组件依赖分析结果确定第二小程序中各页面内组件或页面之间组件的依赖关系。进一步地,可以通过页面的跳转顺序和页面内组件之间的关系生成第二小程序的页面。
参见图5,在一个具体的实施例中,获取应用程序1中小程序A1包含的3个页面:宠物档案页、“我的宠物”页面、宠物照片页面、宠物百科页面,根据预先设定的应用程序2中小程序A2需要的页面:登录页面51、等待页面52、宠物档案页面53、“我的宠物”页面54,可以确定应用程序1与应用程序2之间的公共页面为:宠物档案页面53、“我的宠物”页面54,非公共页面为:登录页面51、等待页面52。基于小程序A2中这4个页面的跳转关系,确定第一逻辑依赖分析结果,可以从登录页面51到等待页面52到宠物档案页面53到“我的宠物”页面54。基于小程序A2中宠物档案页面53和“我的宠物”页面54中组件之间的依赖关系,确定第一组件依赖分析结果。进一步地,对第一逻辑依赖分析结果和第一组件依赖分析结果中的页面名称进行修改即得到第二逻辑依赖分析结果和第二组件依赖分析结果,将该第二逻辑依赖分析结果和第二组件依赖分析结果上传到NPM,第二应用程序就可以通过NPM调用页面的逻辑路径和页面中的组件路径以生成小程序A2中预先设定的4个页面。
由此,本说明书实施例中的第二应用中的第二小程序可以通过调用修改名称的方式获取可识别的逻辑路径和组件路径,以直接生成所需要的页面和页面中的组件,不仅实现了页面之间逻辑关系的调用,还实现了页面中各项组件功能的调用,有效提高了开发效率。
在一些实施方式中,第二小程序的页面可以包括文字和/或图片。第二小程序的至少两个页面分别可以包括至少一个图片。
在一个实施例中,图6所示,本说明书实施例提供了一种小程序跨端应用方法流程图。如图6所示,该小程序跨端应用方法可以包括如下步骤:
S601,获取第一小程序包含的M个页面。
具体地,S601与S401一致,此处不再赘述。
S602,基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果。
具体地,S602与S402一致,此处不再赘述。
S603,按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果。
具体地,S603与S403一致,此处不再赘述。
S604,基于第一小程序中的N个页面依赖的组件,确定第一组件依赖分析结果。
具体地,S604与S404一致,此处不再赘述。
S605,按照预设的修改规则对N个页面的名称进行修改,得到第二组件依赖分析结果。
具体地,S605与S405一致,此处不再赘述。
S606,确定第二小程序的页面中文字和/或图片各自对应的结构信息。
其中,本说明书实施例中的结构信息用于表示页面中文字和/或图片的位置,长度、大小、个数等信息。例如,图5中宠物档案页面53的图片的数量为3,在宠物头像在页面中的坐标位置为(20,80)等信息。
S607,对结构信息进行依赖分析得到第一结构依赖分析结果。
其中,本说明书实施例中的第一结构依赖分析结果可以包括:N个页面的名称、以及每个页面中文字或图片各自对应的结构路径;结构路径为调用结构信息的路径。例如,页面中包括多张宠物图片时,结构信息为各张宠物图片在页面中的位置和显示尺寸,进一步地,可以通过调用各张宠物图片的结构路径确定宠物图片在页面中的位置和大小。
可能地,本说明书实施例中的第一结构依赖分析结果也可以理解为一个树形结构,该树形结构包括多个节点,每个节点对应的信息可以包括一个页面的名称和每个页面中每个文字和/或图片对应的结构路径。例如,图5所示的宠物档案页面53可以包括“宠物身份证”、“昵称”、“请选择宠物类型”等文字,以及宠物头像等图片。进一步地,可以通过结构路径获取宠物档案页面53中的文字和图片的位置、大小、个数等信息,并进一步基于这些信息生成页面结构的树形结构,即第一结构依赖分析结果。
S608,按照预设的修改规则对N个页面的名称进行修改,得到第二结构依赖分析结果。
可能地,若宠物档案页面中的文字“宠物身份证”和“请选择宠物类型”分别对应节点E和节点F,可以理解的是,由于节点E与节点F处于同一页面,因此,节点E与节点F均为孩子关系。节点E对应的信息为:页面名称abc以及调用存储“宠物身份证”的结构路径animalfile\word1\。节点F对应的信息为:页面名称abc以及调用存储“请选择宠物类型”的结构路径animalfile\word2\。
可以理解的是,本说明书实施例可以通过对N个页面的名称进行修改,以使第二应用程序可以获取调用页面中文字和/或图片的结构信息的结构路径。例如,预设的修改规则为将第一应用程序中小程序的页面名称统一修改为xyz。
可能地,本说明书实施例可以先将第一结构依赖分析结果保存到开发者终端的本地文件夹下,在本地文件夹中完成对N个页面的名称修改后,将修改得到的第二结构依赖分析结果再上传到服务器中,以使第二应用程序可以识别文字和/或图片的结构路径,从而确定第二应用程序中第二小程序内各个页面中文字和/或图片的结构属性。
S609,确定至少两个页面中的图片之间的关系。
其中,本说明书实施例中图片之间的关系表示图片是否相同、是否存在所属等关系。例如,图5中宠物档案页面53中的宠物头像的图片与“我的宠物”页面54中宠物头像的图片相同。
S610,对至少两个页面中的图片之间的关系进行依赖分析,得到第一图片依赖分析结果。
其中,本说明书实施例中的第一图片依赖分析结果包括N个页面的名称、以及每个页面中每个图片各自对应的图片路径;图片路径为调用图片的路径,也就是说,可以通过该路径获取到存储在服务器中的图片。
可能地,本说明书实施例中的第一图片依赖分析结果也可以理解为一个树形结构,该树形结构包括多个节点,每个节点对应的信息可以包括一个页面的名称和每个页面中每个图片对应的图片路径。例如,图5所示的宠物档案页面53中的宠物头像和图5所示的“我的宠物”页面54中的宠物头像对应的节点分别为节点G和节点H,节点G对应的信息包括:页面名称abc和图片路径animalfile\hp\,节点H对应的信息包括:页面名称abc和图片路径animalfile\hp\,进一步基于上述节点G和节点H可以生成这两个页面中图片的树形结构,即第一图片依赖分析结果。
可能地,由于图5中宠物档案页面53中的宠物头像的图片与“我的宠物”页面54中宠物头像的图片相同,因此,不同页面的相同图片调取图片的图片路径(animalfile\hp\)相同。
S611,按照预设的修改规则对N个页面的名称进行修改,得到第二图片依赖分析结果。
可以理解的是,本说明书实施例可以通过对N个页面的名称进行修改,以使第二应用程序可以获取调用页面中图片的图片路径。例如,预设的修改规则为将第一应用程序中小程序的页面名称由abc统一修改为xyz。
S612,基于第二逻辑依赖分析结果、第二组件依赖分析结果、第二结构依赖分析结果、第二图片依赖分析结果,生成第二小程序的页面。
可能地,本说明书实施例可以基于第二逻辑依赖分析结果得到第二小程序的页面逻辑信息;基于第二组件依赖分析结果得到第二小程序的页面配置信息;基于第二结构依赖分析结果得到第二小程序的页面结构信息;基于第二图片依赖分析结果得到第二小程序的页面图片信息;基于第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成第二小程序的页面。
可能地,参见图7,本说明书实施例中第二应用程序中第二小程序的页面的构建过程可以包括:初始化阶段、分析阶段、编译阶段、以及构建阶段等四个阶段。
具体地,初始化阶段可以包括开发配置和输出配置两部分。其中,开发配置可以包括:热更新和输入输出。其中,热更新的目的是在第一小程序中的源代码发生变动后,编译代码能够自动刷新并输出。输入输出的目的是确定代码输入输出的编译路径。输出配置可以包括:页面过滤、插件替换、以及节点包管理替换。其中,页面过滤的目的是确定第一小程序和第二小程序中的公共页面。插件替换的目的是替换插件的类型,以适应不同的应用程序。节点包管理替换的目的是将节点包管理器中第一应用程序的NPM包替换为第二应用程序的NPM包。初始化阶段与分析阶段之间的入口文件列表是指初始化阶段最终输出的文件,即第二小程序最终要输出的是公共页面和非公共页面。
具体地,分析阶段可以包括:依赖分析和文件生成两部分。其中,依赖分析部分包括:组件依赖、页面逻辑依赖、页面结构依赖、以及图片依赖。其中,页面逻辑的目的是获取第一逻辑依赖分析结果,组件依赖的目的是获取第一组件依赖分析结果,页面结构依赖的目的是获取第一结构依赖分析结果,图片依赖的目的是获取第一图片依赖分析结果。可能地,上述组件依赖、页面逻辑依赖、页面结构依赖、以及图片依赖依次可以通过component依赖、JS依赖、sjs依赖、以及assets依赖实现。文件生成部分包括:组件本地化、页面逻辑本地化、以及页面结构文件生成。其中,组件本地化的目的是获取第一组件依赖分析结果、将其中的页面名称按预定规则进行修改、以及存储修改后得到的第二组件依赖分析结果。页面逻辑本地化的目的是获取第一逻辑依赖分析结果、将其中的页面名称按预定规则进行修改、以及存储修改后得到的第二逻辑依赖分析结果。页面结构文件生成的目的是获取第一结构依赖分析结果、将其中的页面名称按预定规则进行修改、以及存储修改后得到的第二结构依赖分析结果。
具体地,编译阶段中的四种转换可以包括:基于第二逻辑依赖分析结果的第一转换、基于第二结构依赖分析结果的第二转换、基于第二组件依赖分析结果的第三转换、以及基于第二图片依赖分析结果的第四转换。
具体地,编译阶段中的第一转换可以包括:语法转换、接口转换、以及实例替换。其中,语法转换的目的是调用文件生成模块中的页面逻辑本地化子文件,并去除掉其中不需要的代码。接口转换的目的是对第二应用程序中需要新增的接口功能进行转换,例如新增针对第二应用程序可以使用的支付功能接口。实例替换的目的是用来做数据隔离,例如不同页面之间可能需要共享宠物数量,但是用户在添加新宠物的档案信息时,可能暂时不需要原有宠物数量的信息。编译阶段中的第二转换可以包括:条件编译、页面结构文件引用、以及属性转换。其中,条件编译的目的是区分是代码的来源,即是第一应用程序的代码还是第二应用程序的代码。页面结构文件引用的目的是调用文件生成模块中的页面结构子文件。属性替换的目的是对于图片和文字有些应用程序可能支持自动拉伸、有些可能不支持,因此,需要对图片和文字的属性进行替换。第三转换可以包括:依赖路径处理和跨端配置替换。其中,依赖路径处理的目的是调用组件本地化子文件,即将NPM包中的节点信息替换为本地文件下的节点信息。跨端配置替换的目的是检查不同应用程序中小程序中相应的功能是否可以一一对应。第四转换可以包括:本地图片转换和优化代码。其中,本地图片转换转的目的是调用第二图片依赖分析结果,并将服务器上的二进制文件图片转换为第二应用程序可以直接应用的base64格式。优化代码的目的是保证输出的图片可以阅读并且占用的存储空间尽可能达到最小值。可能地,第二图片依赖分析结果可以直接以图片的二进制代码形式上传到服务器,在本地图片转换后,第二应用程序即可完成调用,不需要进行名称的识别等过程,因此,第二图片依赖分析结果不需要文件部分对其进行本地化处理。
可能地,本说明书实施例可以通过确定第二小程序的页面逻辑信息中的重复字段和非重复字段、页面配置信息中的重复字段和非重复字段、页面结构信息中的重复字段和非重复字段、以及页面图片信息中的重复字段和非重复字段;将页面逻辑信息中的重复字段打包生成逻辑信息公共包,页面配置信息中的重复字段打包生成配置信息公共包,页面结构信息中的重复字段打包生成结构信息公共包,页面图片信息中的重复字段打包生成图片信息公共包;基于页面逻辑信息中的非重复字段、页面配置信息中的非重复字段、页面结构信息中的非重复字段、页面图片信息中的非重复字段,并调用逻辑信息公共包、配置信息公共包、结构信息公共包、以及图片信息公共包,生成第二小程序的页面。
具体地,参见图7,构建阶段可以包括:公共文件生成和代码合并两部分。其中,公共文件生成可以包括:打包和项目配置输出。其中,打包的目的是将存在重复依赖的代码打包为公共包,例如,可以采用JS Bundle打工工具完成。项目配置输出的目的是确定第二小程序最终输出的信息。代码合并可以包括:多端输出和压缩混淆。其中,多端输出的目的是使不同平台可以输出第二小程序。压缩混淆的目的是去掉代码中的空格、替换变量名等以减小代码体积、防止代码被攻击。
参见图8,在一个具体的例子中,图8示出了一个应用本说明书实施例中小程序跨端应用方法的***架构图。其中,该***架构图可以包括:小程序跨端应用产品product、插件plugin、分析构建commom、社区包utils、以及工具层dep等6个部分。可以理解的是,开发者可以在其开发终端完后小程序跨端应用产品的开发,该小程序跨端应用产品可以包括命令行界面Cli和配置Config模块。其中,命令行界面可以包括:用于构建设计流程的构建单元build、用于添加新增代码的模块热替换HMR、用于监测代码运行的检测模块watch、以及预先设定好的集成开发环境IDE Cli和项目模板boilerate。配置模块可以包括用于确定代码编译路径的输入输出input/output、用于编译代码的编译器Babel、用于检查编译语法是否准确的语法检查ESLint、以及用于确定输出方向的输出平台platform。插件是指运行在目标应用程序的小程序,应用程序2插件是指运行在应用程序2中的小程序,应用程序3插件是指运行在应用程序3中的小程序。应用程序2插件具体可以包括:文件生成FileGenerator和文件转换FileTranspile两部分。文件生成可以包括两个本地化文件和两个其他文件,两个本地化文件分别是:页面逻辑和组件,两个其他文件分别是:静态资源文件(页面中的图片文件)和页面结构文件。文件转换部分可以包括:第一转换、第二转换、第三转换、以及第四转换。其中,第一转换可以包括:语法/接口转换、路径转换、实例替换。第三转换可以包括:路径转换和跨端配置替换。第四转换:图片转换和优化代码。
可以理解的是,图8中的插件中的文件生成和文件转换可以由分析构建、社区包、以及工具层实现。其中,分析构建可以包括:依赖分析和统一构建两部分。依赖分析可以包括:入口文件PageEntry、组件Component、图片依赖分析结果、结构依赖分析结果XML、逻辑依赖分析结果JSS、以及组件依赖分析结果JSON。图片依赖分析结果可以通过CSS实现,其具体可以包括:用于确定图片之间关系的外部层叠样式表、层叠样式表规则CSS Rule、图片资源。结构依赖分析结果可以通过XML实现,其具体可以包括:用于标识文字和/或图片的标签、用于确定文字和/或图片大小、格式、位置等信息的属性、以及用于生成页面中文字和/或图片的页面结构生成。逻辑依赖分析结果可以通过JS实现,其可以包括节点包管理NPM模块、本地模块、以及页面结构sjs。组件依赖分析结果可以通过JSON实现,其可以包括:本地组件和节点包组件。其中,可以通过入口文件可以确定组件依赖分析结果中的本地组件和节点包组件,将这两种组件相结合即得到第二小程序的组件。统一构建可以包括:打包和周边模块两部分。打包可以包括:公共包、引用路径替换、以及压缩混淆。周边模块可以包括:用于储存代码转换前后的对应位置的位置信息SourceMap、项目配置、以及需复制文件。
具体地,图8中的社区包是一种开源的可复用工具,其具体可以包括:代码转换、解析器、文件工具、以及研发过程等开源文件。其中,代码转换可以包括:转换标准、对象替换、引用语法、类转换等工具。解析器可以包括:外部层叠样式解析和页面结构解析。文件工具可以包括:压缩和复制工具。研发过程可以使用转换记录tranformLog、输出不兼容报告generateDoc、错误记录recordError、节点包安装检测NPMinstallcheck等开源文件。分析构建中依赖分析部分可以使用工具层中的工具完成各单元的构建,其具体可以包括:小程序转换器antmove、多媒体文件mpx、前端资源加载/打包工具webpack、流程管理工具tapable。
由此,本说明书实施例可以基于第二逻辑依赖分析结果、第二组件依赖分析结果、第二结构依赖分析结果、以及第二图片依赖分析结果实现了对第二小程序中页面的文字、图片、以及页面之间图片关系的构建。此外,本说明书实施例还将重复的字段打包为公共包,这样就可以将所需的节点包同一抽到公共的输出包中,在保证了体积足够小的基础上,解决了相关技术中小程序调用时使用节点包需要经过间接构建的繁琐性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图9是本说明书实施例提供的小程序跨端应用装置的结构示意图。所述装置用于执行本说明书上述任一实施例小程序跨端应用方法。如图9所示,该小程序跨端应用装置可以包括:
获取模块91,用于获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
确定模块92,用于基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
得到模块93,用于按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
生成模块94,用于基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
本说明书实施例可以通过获取第一小程序包含的M个页面;基于第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;按照预设的修改规则对N个页面的名称进行修改,得到第二逻辑依赖分析结果;基于第二逻辑依赖分析结果生成第二小程序的页面。由此,本说明书实施例中的第二应用中的第二小程序可以通过调用修改名称的方式获取可识别的逻辑路径,以直接生成所需要的页面,这样就不需要开发者根据其他应用端的开发语言重新编写代码,不仅解决了不同平台之间的小程序无法跨平台直接应用的问题,还有效提高了小程序的开发效率。
在一些实施例中,所述第一小程序中的N个页面均依赖至少一个组件;
所述生成模块94之前,所述装置还包括:
第一组件依赖分析结果确定模块,用于基于所述第一小程序中的N个页面依赖的组件,确定第一组件依赖分析结果;其中,所述第一组件依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个组件各自对应的组件路径;所述组件路径为调用所述组件的路径;
第二组件依赖分析结果确定模块,用于按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二组件依赖分析结果;
所述生成模块94,具体用于:
基于所述第二逻辑依赖分析结果和所述第二组件依赖分析结果生成所述第二小程序的页面。
在一些实施例中,N为小于M的正整数;
所述获取模块91之后,所述确定模块92之前,所述装置还包括:
页面确定模块,用于确定所述第二小程序需要生成的页面;
公共页面确定模块,用于基于所述第二小程序需要生成的页面和所述第一小程序包含的M个页面,确定所述第一小程序和所述第二小程序之间的公共页面;
非公共页面确定模块,用于基于所述公共页面以及所述第二小程序需要生成的页面确定所述第二小程序中的非公共页面;
所述确定模块92,包括:
第一逻辑依赖分析结果生成单元,用于对所述公共页面和所述非公共页面的逻辑关系进行依赖分析处理,生成所述第一逻辑依赖分析结果;
所述第一组件依赖分析结果确定模块,具体用于:
对所述公共页面和所述非公共页面依赖的组件之间的关系进行依赖分析处理,得到所述第一组件依赖分析结果。
在一些实施例中,所述第二小程序的页面包括文字和/或图片;
所述生成模块94之前,所述装置还包括:
结构信息确定模块,用于确定所述第二小程序的页面中文字和/或图片各自对应的结构信息;
第一结构依赖分析结果得到,用于对所述结构信息进行依赖分析得到第一结构依赖分析结果;其中,所述第一结构依赖分析结果包括:所述N个页面的名称、以及每个所述页面中文字和/或图片各自对应的结构路径;所述结构路径为调用所述结构信息的路径;
第二结构依赖分析结果得到模块,用于按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二结构依赖分析结果;
所述生成模块94,具体用于:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、以及所述第二结构依赖分析结果,生成所述第二小程序的页面。
在一些实施例中,所述第二小程序的至少两个页面分别包括至少一个图片;
所述生成模块94之前,所述装置还包括:
关系确定模块,用于确定所述至少两个页面中的图片之间的关系;
第一图片依赖分析结果得到模块,用于对所述至少两个页面中的图片之间的关系进行依赖分析,得到第一图片依赖分析结果;其中,所述第一图片依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个图片各自对应的图片路径;所述图片路径为调用所述图片的路径;
第二图片依赖分析结果得到模块,用于按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二图片依赖分析结果;
所述生成模块94,具体用于:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、所述第二结构依赖分析结果、所述第二图片依赖分析结果,生成所述第二小程序的页面。
在一些实施例中,所述生成模块94,包括:
第一得到单元,用于基于所述第二逻辑依赖分析结果得到所述第二小程序的页面逻辑信息;
第二得到单元,用于基于所述第二组件依赖分析结果得到所述第二小程序的页面配置信息;
第三得到单元,用于基于所述第二结构依赖分析结果得到所述第二小程序的页面结构信息;
第四得到单元,用于基于所述第二图片依赖分析结果得到所述第二小程序的页面图片信息;
页面生成单元,用于基于所述第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成所述第二小程序的页面。
在一些实施例中,所述页面生成单元,包括:
字段确定子单元,用于确定所述第二小程序的页面逻辑信息中的重复字段和非重复字段、页面配置信息中的重复字段和非重复字段、页面结构信息中的重复字段和非重复字段、以及页面图片信息中的重复字段和非重复字段;
公共包生成子单元,用于将所述页面逻辑信息中的重复字段打包生成逻辑信息公共包,所述页面配置信息中的重复字段打包生成配置信息公共包,所述页面结构信息中的重复字段打包生成结构信息公共包,所述页面图片信息中的重复字段打包生成图片信息公共包;
页面生成子单元,用于基于所述页面逻辑信息中的非重复字段、所述页面配置信息中的非重复字段、所述页面结构信息中的非重复字段、所述页面图片信息中的非重复字段,并调用所述逻辑信息公共包、所述配置信息公共包、所述结构信息公共包、以及所述图片信息公共包,生成所述第二小程序的页面。
需要说明的是,上述实施例提供的小程序跨端应用装置在执行小程序跨端应用方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的小程序跨端应用装置与小程序跨端应用方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本说明书实施例序号仅仅为了描述,不代表实施例的优劣。
请参见图10,为本说明书实施例提供了一种电子设备10的结构示意图。如图10所示,所述电子设备10可以包括:至少一个处理器11,至少一个网络接口14,用户接口13,存储器15,至少一个通信总线12。
其中,通信总线12用于实现这些组件之间的连接通信。
其中,用户接口13可以包括显示屏(Display)、摄像头(Camera),可选用户接口13还可以包括标准的有线接口、无线接口。
其中,网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器11可以包括一个或者多个处理核心。处理器11利用各种借口和线路连接整个电子设备10内的各个部分,通过运行或执行存储在存储器15内的指令、程序、代码集或指令集,以及调用存储在存储器15内的数据,执行电子设备10的各种功能和处理数据。可选的,处理器11可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器11可集成中心处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器11中,单独通过一块芯片进行实现。
其中,存储器15可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器15包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器15可用于存储指令、程序、代码、代码集或指令集。存储器15可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器15可选的还可以是至少一个位于远离前述处理器11的存储装置。如图10所示,作为一种计算机存储介质的存储器15中可以包括操作***、网络通信模块、用户接口模块以及小程序跨端应用程序。
在图10所示的电子设备10中,用户接口13主要用于为用户提供输入的接口,获取用户输入的数据;而处理器11可以用于调用存储器15中存储的小程序跨端应用程序,并具体执行以下操作:
获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
在一种可能的实施例中,所述第一小程序中的N个页面均依赖至少一个组件;
所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,还执行:
基于所述第一小程序中的N个页面依赖的组件,确定第一组件依赖分析结果;其中,所述第一组件依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个组件各自对应的组件路径;所述组件路径为调用所述组件的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二组件依赖分析结果;
在一种可能的实施例中,所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面,具体执行:
基于所述第二逻辑依赖分析结果和所述第二组件依赖分析结果生成所述第二小程序的页面。
在一种可能的实施例中,N为小于M的正整数;
所述处理器11在执行所述获取第一小程序包含的M个页面之后,所述基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果之前,还执行:
确定所述第二小程序需要生成的页面;
基于所述第二小程序需要生成的页面和所述第一小程序包含的M个页面,确定所述第一小程序和所述第二小程序之间的公共页面;
基于所述公共页面以及所述第二小程序需要生成的页面确定所述第二小程序中的非公共页面;
所述处理器11在执行所述基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果时,具体执行:
对所述公共页面和所述非公共页面的逻辑关系进行依赖分析处理,生成所述第一逻辑依赖分析结果;
所述基于所述第一小程序中N个页面依赖的组件,确定第一组件依赖分析结果,包括:
对所述公共页面和所述非公共页面依赖的组件之间的关系进行依赖分析处理,得到所述第一组件依赖分析结果。
在一种可能的实施例中,所述第二小程序的页面包括文字和/或图片;
所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,还执行:
确定所述第二小程序的页面中文字和/或图片各自对应的结构信息;
对所述结构信息进行依赖分析得到第一结构依赖分析结果;其中,所述第一结构依赖分析结果包括:所述N个页面的名称、以及每个所述页面中文字和/或图片各自对应的结构路径;所述结构路径为调用所述结构信息的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二结构依赖分析结果;
所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面时,具体执行:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、以及所述第二结构依赖分析结果,生成所述第二小程序的页面。
在一种可能的实施例中,所述第二小程序的至少两个页面分别包括至少一个图片;
所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,还执行:
确定所述至少两个页面中的图片之间的关系;
对所述至少两个页面中的图片之间的关系进行依赖分析,得到第一图片依赖分析结果;其中,所述第一图片依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个图片各自对应的图片路径;所述图片路径为调用所述图片的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二图片依赖分析结果;
所述处理器11在执行所述基于所述第二逻辑依赖分析结果生成第二小程序的页面时,具体执行:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、所述第二结构依赖分析结果、所述第二图片依赖分析结果,生成所述第二小程序的页面。
在一种可能的实施例中,所述处理器11在执行所述基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、所述第二结构依赖分析结果、所述第二图片依赖分析结果,生成所述第二小程序的页面时,具体执行:
基于所述第二逻辑依赖分析结果得到所述第二小程序的页面逻辑信息;
基于所述第二组件依赖分析结果得到所述第二小程序的页面配置信息;
基于所述第二结构依赖分析结果得到所述第二小程序的页面结构信息;
基于所述第二图片依赖分析结果得到所述第二小程序的页面图片信息;
基于所述第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成所述第二小程序的页面。
在一种可能的实施例中,所述处理器11在执行所述基于所述第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成所述第二小程序的页面时,具体执行:
确定所述第二小程序的页面逻辑信息中的重复字段和非重复字段、页面配置信息中的重复字段和非重复字段、页面结构信息中的重复字段和非重复字段、以及页面图片信息中的重复字段和非重复字段;
将所述页面逻辑信息中的重复字段打包生成逻辑信息公共包,所述页面配置信息中的重复字段打包生成配置信息公共包,所述页面结构信息中的重复字段打包生成结构信息公共包,所述页面图片信息中的重复字段打包生成图片信息公共包;
基于所述页面逻辑信息中的非重复字段、所述页面配置信息中的非重复字段、所述页面结构信息中的非重复字段、所述页面图片信息中的非重复字段,并调用所述逻辑信息公共包、所述配置信息公共包、所述结构信息公共包、以及所述图片信息公共包,生成所述第二小程序的页面。
本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述图3、图4、图6所示实施例中的一个或多个步骤。上述小程序跨端应用装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本说明书实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(DigitalVersatile Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:制度存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
以上所述的实施例仅仅是本说明书的优选实施例方式进行描述,并非对本说明书的范围进行限定,在不脱离本说明书的设计精神的前提下,本领域普通技术人员对本说明书的技术方案作出的各种变形及改进,均应落入本说明书的权利要求书确定的保护范围内。
Claims (11)
1.一种小程序跨端应用方法,所述方法包括:
获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
2.根据权利要求1所述的方法,所述第一小程序中的N个页面均依赖至少一个组件;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,所述方法还包括:
基于所述第一小程序中的N个页面依赖的组件,确定第一组件依赖分析结果;其中,所述第一组件依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个组件各自对应的组件路径;所述组件路径为调用所述组件的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二组件依赖分析结果;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面,包括:
基于所述第二逻辑依赖分析结果和所述第二组件依赖分析结果生成所述第二小程序的页面。
3.根据权利要求2所述的方法,N为小于M的正整数;
所述获取第一小程序包含的M个页面之后,所述基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果之前,所述方法还包括:
确定所述第二小程序需要生成的页面;
基于所述第二小程序需要生成的页面和所述第一小程序包含的M个页面,确定所述第一小程序和所述第二小程序之间的公共页面;
基于所述公共页面以及所述第二小程序需要生成的页面确定所述第二小程序中的非公共页面;
所述基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果,包括:
对所述公共页面和所述非公共页面的逻辑关系进行依赖分析处理,生成所述第一逻辑依赖分析结果;
所述基于所述第一小程序中N个页面依赖的组件,确定第一组件依赖分析结果,包括:
对所述公共页面和所述非公共页面依赖的组件之间的关系进行依赖分析处理,得到所述第一组件依赖分析结果。
4.根据权利要求2或3所述的方法,所述第二小程序的页面包括文字和/或图片;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,所述方法还包括:
确定所述第二小程序的页面中文字和/或图片各自对应的结构信息;
对所述结构信息进行依赖分析得到第一结构依赖分析结果;其中,所述第一结构依赖分析结果包括:所述N个页面的名称、以及每个所述页面中文字和/或图片各自对应的结构路径;所述结构路径为调用所述结构信息的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二结构依赖分析结果;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面,包括:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、以及所述第二结构依赖分析结果,生成所述第二小程序的页面。
5.根据权利要求4所述的方法,所述第二小程序的至少两个页面分别包括至少一个图片;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面之前,所述方法还包括:
确定所述至少两个页面中的图片之间的关系;
对所述至少两个页面中的图片之间的关系进行依赖分析,得到第一图片依赖分析结果;其中,所述第一图片依赖分析结果包括所述N个页面的名称、以及每个所述页面中每个图片各自对应的图片路径;所述图片路径为调用所述图片的路径;
按照所述预设的修改规则对所述N个页面的名称进行修改,得到第二图片依赖分析结果;
所述基于所述第二逻辑依赖分析结果生成第二小程序的页面,包括:
基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、所述第二结构依赖分析结果、所述第二图片依赖分析结果,生成所述第二小程序的页面。
6.根据权利要求5所述的方法,所述基于所述第二逻辑依赖分析结果、所述第二组件依赖分析结果、所述第二结构依赖分析结果、所述第二图片依赖分析结果,生成所述第二小程序的页面,包括:
基于所述第二逻辑依赖分析结果得到所述第二小程序的页面逻辑信息;
基于所述第二组件依赖分析结果得到所述第二小程序的页面配置信息;
基于所述第二结构依赖分析结果得到所述第二小程序的页面结构信息;
基于所述第二图片依赖分析结果得到所述第二小程序的页面图片信息;
基于所述第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成所述第二小程序的页面。
7.根据权利要求6所述的方法,所述基于所述第二小程序的页面逻辑信息、页面配置信息、页面结构信息、以及页面图片信息,生成所述第二小程序的页面,包括:
确定所述第二小程序的页面逻辑信息中的重复字段和非重复字段、页面配置信息中的重复字段和非重复字段、页面结构信息中的重复字段和非重复字段、以及页面图片信息中的重复字段和非重复字段;
将所述页面逻辑信息中的重复字段打包生成逻辑信息公共包,所述页面配置信息中的重复字段打包生成配置信息公共包,所述页面结构信息中的重复字段打包生成结构信息公共包,所述页面图片信息中的重复字段打包生成图片信息公共包;
基于所述页面逻辑信息中的非重复字段、所述页面配置信息中的非重复字段、所述页面结构信息中的非重复字段、所述页面图片信息中的非重复字段,并调用所述逻辑信息公共包、所述配置信息公共包、所述结构信息公共包、以及所述图片信息公共包,生成所述第二小程序的页面。
8.一种小程序跨端应用装置,所述装置包括:
获取模块,用于获取第一小程序包含的M个页面;其中,所述第一小程序搭载于第一应用程序;M为大于1的正整数;
确定模块,用于基于所述第一小程序中N个页面的逻辑关系,确定第一逻辑依赖分析结果;其中,N为小于或等于M的正整数;所述第一逻辑依赖分析结果包括所述N个页面的名称、以及每个所述页面各自对应的逻辑路径;所述逻辑路径为调用所述逻辑关系的路径;
得到模块,用于按照预设的修改规则对所述N个页面的名称进行修改,得到第二逻辑依赖分析结果;
生成模块,用于基于所述第二逻辑依赖分析结果生成第二小程序的页面;其中,所述第二小程序搭载于第二应用程序;所述第一应用程序与所述第二应用程序不同。
9.一种程序产品,其特征在于,所述程序产品包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至7任一项所述的方法步骤。
10.一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-7任一项的方法步骤。
11.一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-7任一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211347501.8A CN115934093A (zh) | 2022-10-31 | 2022-10-31 | 小程序跨端应用方法、相关装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211347501.8A CN115934093A (zh) | 2022-10-31 | 2022-10-31 | 小程序跨端应用方法、相关装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934093A true CN115934093A (zh) | 2023-04-07 |
Family
ID=86554661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211347501.8A Pending CN115934093A (zh) | 2022-10-31 | 2022-10-31 | 小程序跨端应用方法、相关装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934093A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539451A (zh) * | 2024-01-10 | 2024-02-09 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
-
2022
- 2022-10-31 CN CN202211347501.8A patent/CN115934093A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539451A (zh) * | 2024-01-10 | 2024-02-09 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
CN117539451B (zh) * | 2024-01-10 | 2024-04-12 | 杭州新中大科技股份有限公司 | 流程执行方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825362B (zh) | 低代码应用软件开发***及方法 | |
CN111158818B (zh) | 一种页面渲染方法和装置 | |
WO2018228211A1 (zh) | 应用转换方法、装置及设备 | |
WO2018072626A1 (zh) | 组件调用的方法和装置、组件数据处理的方法和装置 | |
US11667033B2 (en) | Systems and methods for robotic process automation | |
CN108964968B (zh) | 一种容器云环境下的服务接入管理方法和*** | |
US7756905B2 (en) | System and method for building mixed mode execution environment for component applications | |
CN108830720A (zh) | 智能合约运行方法、装置、***和计算机可读存储介质 | |
US8762963B2 (en) | Translation of programming code | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN112035112B (zh) | 应用程序开发方法、***、介质和电子设备 | |
US11537367B1 (en) | Source code conversion from application program interface to policy document | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN111506368B (zh) | 对异步调用转同步调用的方法、装置、设备及存储介质 | |
CN115934093A (zh) | 小程序跨端应用方法、相关装置及计算机存储介质 | |
CN109032693B (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN113568661A (zh) | 一种基于Android sdk实现app混合开发的方法 | |
CN110941443B (zh) | 修改sdk中文件名的方法、装置及电子设备 | |
CN117093286A (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN116166457A (zh) | 数据处理方法及相关设备 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN116227625A (zh) | 智能模型开发方法、介质及设备 | |
CN113032004B (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
CN116263690A (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 |