CN117555645B - 基于多端应用平台的数据处理方法、装置、设备及介质 - Google Patents
基于多端应用平台的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117555645B CN117555645B CN202410047838.XA CN202410047838A CN117555645B CN 117555645 B CN117555645 B CN 117555645B CN 202410047838 A CN202410047838 A CN 202410047838A CN 117555645 B CN117555645 B CN 117555645B
- Authority
- CN
- China
- Prior art keywords
- component
- application
- service
- source code
- template
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 319
- 238000012545 processing Methods 0.000 claims abstract description 208
- 238000011161 development Methods 0.000 claims abstract description 132
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000012790 confirmation Methods 0.000 claims abstract description 12
- 238000012360 testing method Methods 0.000 claims description 170
- 238000004891 communication Methods 0.000 claims description 164
- 238000010276 construction Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 28
- 238000011068 loading method Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 28
- 230000001960 triggered effect Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 5
- 241001020574 Gigantactis ios Species 0.000 description 4
- 238000007639 printing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种基于多端应用平台的数据处理方法、装置、设备及介质。该方法包括:显示业务创建控件;响应于针对业务创建控件的触发操作,显示业务创建界面;响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对模式选择区域的模式切换操作,显示组件开发模式,显示组件目录文件;响应于针对组件项目文件的文件打开操作,显示模板组件源码;响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句得到业务组件的组件配置源码;基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上。本申请可以提升业务的执行成功率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于多端应用平台的数据处理方法、装置、设备及介质。
背景技术
目前,小程序开发者可以通过多端框架对小程序(如应用1)的源码文件进行编译得到多端应用,如iOS(一种运行环境)移动应用、Android(一种运行环境)移动应用,以实现应用的多端开发。其中,应用1中的功能业务(比如功能业务A)是由安装在应用1中的小程序工具包(用于安装在小程序中的工具包,全称为软件开发工具包)提供。相应地,应用1对应的iOS移动应用(如应用2)在执行功能业务A时,也需要通过调用安装在应用2中的iOS工具包(即用于安装在iOS应用中的工具包)实现。
然而,发明人在实践中发现,在小程序开发者没有同步开发适配于应用2的iOS工具包的情况下,多端框架通常是使用官方发布的通用iOS工具包来生成应用2,该通用iOS工具包可能无法提供应用2所需的所有功能业务,比如,在通用iOS工具包本身提供的功能业务中不包含功能业务A时,应用2无法正常使用功能业务A,这意味着在通过多端框架开发得到多端应用的情况下,如何确保在多端应用中特定应用(例如,应用2)上的功能业务的执行成功率是目前亟待解决的技术问题。
发明内容
本申请实施例提供了一种基于多端应用平台的数据处理方法、装置、设备及介质,可以提升在多端应用中特定应用上的业务的执行成功率。
一方面,本申请实施例提供了一种基于多端应用平台的数据处理方法,多端应用平台上的多端应用包括第一应用和第二应用,方法包括:
在多端应用平台上显示第一应用的应用处理界面,在应用处理界面所包含的项目列表中显示业务创建控件;
响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面;业务创建界面用于显示待创建的业务组件的组件配置信息;组件配置信息中包含业务组件的组件标识和项目地址;项目地址为第一应用中的应用项目文件所关联的地址;
响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对应用处理界面中的模式选择区域的模式切换操作,在应用处理界面上显示用于开发业务组件的组件开发模式,并在组件开发模式下显示与业务组件相关联的组件目录文件;组件目录文件为项目地址所对应的应用项目文件中的文件;组件目录文件中包含业务组件的组件项目文件,组件项目文件中的组件源码为携带组件标识的模板组件源码;
响应于针对组件项目文件的文件打开操作,显示模板组件源码;
响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句,得到业务组件的组件配置源码;源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;
基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上;业务组件用于在第二应用运行时,通过建立的通信信道所指示的通信关系,执行业务组件的组件业务。
另一方面,本申请实施例提供了一种基于多端应用平台的数据处理方法,多端应用平台上的多端应用包括第一应用和第二应用,方法包括:
在第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用业务组件的业务参数;业务组件是在多端应用平台上基于组件配置源码所构建得到的;组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;源码调用语句配置操作对应的源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;组件开发模式是多端应用平台上显示的第一应用的应用处理界面中的模式;组件开发模式是在创建与业务组件相关联的组件目录文件时所显示的;组件项目文件属于组件目录文件;
将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于建立的通信信道所指示的通信关系,将业务参数传入业务组件,以使业务组件基于业务参数执行组件业务,得到组件业务对应的业务执行结果,并通过通信信道所指示的通信关系将业务执行结果返回给第二应用的应用工具包;通信信道是在第二应用的应用工具包加载业务组件时基于业务组件中的源码调用语句所建立的;
显示由第二应用中的应用工具包所返回的业务执行结果。
一方面,本申请实施例提供了一种基于多端应用平台的数据处理装置,多端应用平台上的多端应用包括第一应用和第二应用,装置包括:
数据显示模块,用于在多端应用平台上显示第一应用的应用处理界面,在应用处理界面所包含的项目列表中显示业务创建控件;
数据显示模块,还用于响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面;业务创建界面用于显示待创建的业务组件的组件配置信息;组件配置信息中包含业务组件的组件标识和项目地址;项目地址为第一应用中的应用项目文件所关联的地址;
组件文件显示模块,用于响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对应用处理界面中的模式选择区域的模式切换操作,在应用处理界面上显示用于开发业务组件的组件开发模式,并在组件开发模式下显示与业务组件相关联的组件目录文件;组件目录文件为项目地址所对应的应用项目文件中的文件;组件目录文件中包含业务组件的组件项目文件,组件项目文件中的组件源码为携带组件标识的模板组件源码;
组件文件显示模块,还用于响应于针对组件项目文件的文件打开操作,显示模板组件源码;
组件源码配置模块,用于响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句,得到业务组件的组件配置源码;源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;
组件构建模块,用于基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上;业务组件用于在第二应用运行时,通过建立的通信信道所指示的通信关系,执行业务组件的组件业务。
其中,模板组件源码包括针对业务组件的模板组件注册源码和模板组件初始化源码;
组件源码配置模块包括:
注册源码配置单元,用于响应于针对模板组件注册源码的注册源码配置操作,得到针对业务组件的目标组件注册源码;目标组件注册源码用于调用模板组件初始化源码;
配置源码确定单元,用于基于目标组件注册源码确定源码调用语句。
其中,配置源码确定单元包括:
执行方法配置子单元,用于响应于针对组件业务的执行方法配置操作,得到针对组件业务的业务执行方法;
配置源码确定子单元,用于基于模板组件初始化源码、源码调用语句和业务执行方法,得到业务组件的组件配置源码。
其中,应用处理界面中显示有与组件开发模式相关联的调试语句构建控件,以及显示有与组件开发模式相关联的组件调试区域;组件调试区域包括组件加载控件;
组件构建模块还包括:
测试组件构建单元,用于响应于针对调试语句构建控件的触发操作,生成组件调试源码;
测试组件构建单元,还用于响应于针对组件加载控件的触发操作,基于组件配置源码构建得到测试业务组件;
测试组件调试单元,用于在组件调试区域对应的组件调试程序中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化;
测试组件调试单元,还用于在组件实例化完成时,得到组件调试程序与测试业务组件之间的测试通信信道;测试通信信道用于调试测试业务组件。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
测试组件调试单元包括:
测试组件实例子单元,用于在组件调试程序中,基于组件调试源码加载测试业务组件,并通知测试业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;组件调试区域包括组件调用控件;
测试组件调试单元还包括:
测试组件调用子单元,用于响应于针对组件调用控件的触发操作,从组件调试源码中获取用于调用业务执行方法的测试业务参数;
测试组件调用子单元,还用于在组件调试程序中,通过建立的测试通信信道所指示的测试通信关系,将测试业务参数传入测试业务组件,以使测试业务组件基于测试业务参数调用业务执行方法,执行组件业务,得到组件业务对应的测试执行结果;
测试组件调用子单元,还用于基于测试执行结果确定测试业务组件调试完成。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
组件构建模块包括:
组件构建单元,用于在应用处理界面中,显示与组件开发模式相关联的组件构建控件;
组件构建单元,还用于在测试业务组件调试完成后,响应于针对组件构建控件的触发操作,基于模板组件初始化源码、源码调用语句和业务执行方法构建得到业务组件。
其中,组件配置源码包括针对组件业务的业务执行方法;应用项目文件包括第一应用的应用处理文件;
基于多端应用平台的数据处理装置还包括:
多端应用开发模块,用于在模式选择区域中,将组件开发模式切换至用于开发第二应用的应用开发模式;应用开发模式下显示有应用处理文件;
多端应用开发模块,还用于在应用处理文件中配置源码调用语句对应的第一组件处理方法和业务执行方法对应的第二组件处理方法,得到目标应用处理文件;第一组件处理方法用于指示第二应用的应用工具包通知业务组件执行源码调用语句;第二组件处理方法用于指示第二应用的应用工具包通知业务组件,执行业务执行方法;目标应用处理文件用于生成第二应用。
其中,多端应用开发模块还包括:
组件添加单元,用于在应用处理界面中,显示与第二应用相关联的应用配置区域;应用配置区域包括与应用开发模式相关联的组件添加控件;
组件添加单元,还用于响应于针对组件添加控件的触发操作,显示组件添加控件对应的组件添加界面;组件添加界面用于配置待添加的业务组件的组件标识;
应用构建单元,用于在应用处理界面中,显示与应用开发模式相关联的应用构建控件;
应用构建单元,还用于响应于针对应用构建控件的触发操作,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件,并基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。
其中,组件配置信息中包含业务组件所关联的应用标识;
应用构建单元具体用于:
若业务组件所关联的应用标识与第二应用的应用标识一致,则从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件。
另一方面,本申请实施例提供了一种基于多端应用平台的数据处理装置,多端应用平台上的多端应用包括第一应用和第二应用,装置包括:
业务参数获取模块,用于在第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用业务组件的业务参数;业务组件是在多端应用平台上基于组件配置源码所构建得到的;组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;源码调用语句配置操作对应的源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;组件开发模式是多端应用平台上显示的第一应用的应用处理界面中的模式;组件开发模式是在创建与业务组件相关联的组件目录文件时所显示的;组件项目文件属于组件目录文件;
业务处理模块,用于将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于建立的通信信道所指示的通信关系,将业务参数传入业务组件,以使业务组件基于业务参数执行组件业务,得到组件业务对应的业务执行结果,并通过通信信道所指示的通信关系将业务执行结果返回给第二应用的应用工具包;通信信道是在第二应用的应用工具包加载业务组件时基于业务组件中的源码调用语句所建立的;
结果显示模块,用于显示由第二应用中的应用工具包所返回的业务执行结果。
其中,第二应用包括源码调用语句对应的第一组件处理方法;
基于多端应用平台的数据处理装置还包括:
组件加载模块,用于基于第一组件处理方法,调用第二应用的应用工具包加载业务组件,并通知业务组件调用源码调用语句进行组件实例化;
组件加载模块,用于在组件实例化完成时,得到第二应用的应用工具包与业务组件之间的通信信道。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
组件加载模块具体用于:
从第一组件处理方法中获取业务组件的组件标识;
将组件标识传入第二应用的应用工具包,以使第二应用的应用工具包基于组件标识加载业务组件,并通知业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;第二应用包括业务执行方法对应的第二组件处理方法;
业务参数获取模块具体用于:
从第二组件处理方法中获取用于调用业务组件的业务参数;业务参数用于指示业务组件调用业务执行方法执行组件业务。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序由处理器执行时实现本申请实施例中上述任一方面提供的方法。
本申请实施例中,在多端应用平台上显示第一应用的应用处理界面,并显示业务创建控件,响应于针对业务创建控件的触发操作,显示业务创建界面,该业务创建界面用于显示待创建的业务组件的组件配置信息,组件配置信息中包含业务组件的组件标识和项目地址;响应于针对组件配置信息的确认操作,切换回应用处理界面,并在应用处理界面显示用于开发业务组件的组件开发模式,在组件开发模式下显示为业务组件所创建的组件目录文件,该组件目录文件包括组件项目文件,组件项目文件包括携带组件标识的模板组件源码;打开组件项目文件,显示模板组件源码,并响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,该源码调用语句可以用于触发调用模板组件源码中的部分源码,由此基于模板组件源码和源码调用语句确定业务组件的组件配置源码,进而构建得到可以实现指定业务的业务组件。因此,可以通过可视化界面配置某种业务(组件业务)的业务组件,其中,用于构建得到业务组件的组件配置源码中的源码调用语句可用于建立第二应用的应用工具包与业务组件之间的通信信道,这样,所得到的第二应用在运行时,可以通过建立的通信信道调用业务组件执行组件业务。也就是说,可以针对某个业务(业务A)生成对应的业务组件,并通过建立第二应用中的应用工具包和业务组件之间的通信信道就可以使得第二应用使用业务组件所提供的业务A,而不受第二应用的应用工具包自身所提供的业务的限制,即实现了应用工具包的业务扩展,由此,在开发得到第二应用时可以更加便捷的使得所生成的第二应用实现一些自定义业务,进而提升应用开发的灵活性,也就是说,可以在生成第一应用对应的第二应用时,可以通过开发指定业务的业务组件确保在多端应用中特定应用(例如,第二应用)上的业务的执行成功率,即可以将第一应用中的业务成功共享给第二应用。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构示意图;
图2是本申请实施例提供的一种组件生成过程示意图;
图3是本申请实施例提供的一种组件调用过程示意图;
图4是本申请实施例提供的一种基于多端应用平台的数据处理方法的流程示意图;
图5是本申请实施例提供的一种应用处理界面的示意图;
图6是本申请实施例提供的一种显示模板组件源码的过程示意图;
图7是本申请实施例提供的一种业务组件的构建过程示意图;
图8是本申请实施例提供的另一种业务组件的构建过程示意图;
图9是本申请实施例提供的又一种业务组件的构建过程示意图;
图10是本申请实施例提供的一种业务组件的发布过程示意图;
图11是本申请实施例提供的另一种基于多端应用平台的数据处理方法的流程示意图;
图12是本申请实施例提供的一种生成第二应用的过程示意图;
图13是本申请实施例提供的另一种生成第二应用的过程示意图;
图14是本申请实施例提供的又一种生成第二应用的过程示意图;
图15是本申请实施例提供的一种第二应用的生成场景示意图;
图16是本申请实施例提供的又一种基于多端应用平台的数据处理方法的流程示意图;
图17是本申请实施例提供的一种业务执行的交互流程示意图;
图18是本申请实施例提供的一种基于多端应用平台的数据处理装置的结构示意图;
图19是本申请实施例提供的另一种基于多端应用平台的数据处理装置的结构示意图;
图20是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种网络架构示意图。如图1所示,该系统架构可以包括业务服务器100以及业务终端集群,其中,业务终端集群可以包括一个或多个业务终端(比如为用户终端),这里将不对业务终端集群中的业务终端的数量进行限定。如图1所示,业务终端集群中的多个业务终端具体可以包括:业务终端200a、业务终端200b、…、业务终端200n,其中,业务终端集群之间可以存在通信连接,例如业务终端200a与业务终端200b之间存在通信连接,业务终端200a与业务终端200n之间存在通信连接。同时,业务终端集群中的任一业务终端可以与业务服务器100存在通信连接,以便于业务终端集群中的每个业务终端均可以通过该通信连接与业务服务器100进行数据交互,例如业务终端200a与业务服务器100之间存在通信连接。其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其它方式,本申请在此不做限制。
应该理解,如图1所示的业务终端集群中的每个业务终端均可以安装有通过多端应用平台所开发的多端应用(比如第二应用)。当第二应用运行于各业务终端中时,可以分别与上述图1所示的业务服务器100之间进行数据交互。其中,该第二应用可以为任意类型的应用,比如可以是社交应用、文本处理应用、即时通信应用(例如,会议应用)、娱乐应用(例如,游戏应用、直播应用)、资讯类应用(例如,新闻资讯应用)、购物应用、车载应用、多媒体应用等具有显示文字、图像、音频以及视频等数据信息功能的应用。在此对应用的具体类型不做限定。
例如,此处以第二应用为游戏应用为例,对业务终端200a以及业务服务器100之间的数据交互过程进行阐述。游戏应用是指能够即时发送和接收互联网消息、且具有信息搜索功能等的客户端。游戏应用中的业务组件(又称业务插件)可以是用于执行支付业务的支付组件,业务终端200a上的游戏应用在触发支付业务(比如购买某个游戏装备)时,可以通过游戏应用中的应用工具包建立与与支付组件之间的通信信道,并通过该通信信道所指示的通信关系调用支付组件执行支付业务,其中,支付组件在执行支付业务时,可以与业务服务器进行数据交互,比如支付组件向业务服务器发送支付请求,业务服务器在基于支付请求完成支付后返回支付结果。
其中,可以理解的是,本申请实施例所涉及的计算机设备可以是服务器(例如,图1所示的业务服务器100),也可以是终端(例如,图1所示的业务终端集群中的任意一个业务终端)。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、飞行器等等,但并不局限于此。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
可以理解的是,图1只是实例性地表征本申请技术方案的可能存在的网络架构,并不对本申请技术方案的具体架构进行限定,即本申请技术方案还可以提供其他形式的网络架构。
进一步地,请参见图2,图2是本申请实施例提供的一种组件生成过程示意图。其中,多端应用平台部署在计算机设备上,该计算机设备可以是图1中的业务终端集群中的任意一个业务终端(例如,业务终端200a);其中,在多端应用平台上显示第一应用的应用处理界面(界面1),此时可以点击应用处理界面中的项目控件21a,显示项目列表,该项目列表中显示有业务创建控件22a(如“创建组件”控件);响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面(界面2);该业务创建界面可以显示待创建的业务组件的组件配置信息,组件配置信息可以包括业务组件的组件标识23a(如为“A1”)和项目地址24a(如为“B1”);响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,并在应用处理界面中的模式选择区域显示用于开发业务组件的组件开发模式25a,该组件开发模式下显示有为业务组件所创建的组件目录文件26a,组件目录文件包括组件项目文件27a,该组件项目文件包括携带组件标识的模板组件源码;打开组件项目文件,显示源码输出界面,该源码输出界面中显示有模板组件源码,可以基于模板组件源码确定业务组件的组件配置源码;模板组件源码可以用于建立第二应用的应用工具包与业务组件之间的通信信道;比如可以是,响应于针对模板组件源码的源码调用语句配置操作(配置操作),得到模板组件源码所关联的源码调用语句,可以基于模板组件源码和源码调用语句确定业务组件的组件配置源码;该源码调用语句可以用于建立第二应用的应用工具包与业务组件之间的通信信道;可以基于组件配置源码构建得到业务组件28a,并将业务组件发布显示在多端应用平台。
可以理解,可以通过业务组件生成第一应用对应的第二应用,该第二应用是指与第一应用是不同格式的多端应用,比如第一应用为第一格式应用(如小程序应用),第二应用为第二格式应用(如第二格式的移动应用,比如第二格式可以是iOS格式,即iOS移动应用,又称iOS应用,也就是安装在第二格式的运行环境的移动应用),或者可以为第三格式应用(第三格式移动应用,比如第三格式可以是Android格式,即Android移动应用,又称Android应用,也就是安装在第三格式的运行环境的移动应用)。在此对第一格式、第二格式和第三格式不做限定,即第一应用和第二应用均可以是指安装在任意运行环境下的应用(比如为小程序应用或者移动应用)。随着业务的发展,还是可以有其他格式,其他格式的应用的生成过程与第二格式应用、第三格式应用的生成过程同理。此时仅以第一格式、第二格式和第三格式为例。
可以理解,在独立开发不同格式的应用时,所使用的编程语言(即开发语法)是不同的,比如独立开发的第二格式应用(如iOS应用)的原生代码的是编程语言1、独立开发的第一格式应用(如小程序应用)的原生代码的是编程语言2、独立开发的第三格式应用(如Android应用)使用的原生代码的是编程语言3。此时,可以通过多端应用平台可以对一种格式的应用的应用处理文件(比如开发有应用的执行逻辑、设计界面等数据)进行编译得到另一种格式的应用(如对小程序的项目文件进行编译得到iOS应用,即通过多端应用平台实现跨语言跨格式的应用开发)。
其中,以小程序为例,小程序中的所有功能业务依赖于应用工具包提供,小程序中的用于提供功能业务的应用工具包(该应用工具包即为软件开发工具包SDK)是安装在小程序格式的应用中的工具包,即开发小程序SDK的编程语言应同为编程语言1。在多端应用平台下基于小程序所生成的其他格式的多端应用中的所有功能业务(比如应用原生功能业务或开放性功能业务(例如:分享业务、支付业务等))同样依赖于应用工具包提供。
可以理解,第二格式应用(如iOS应用)中的应用工具包是安装在第二格式的应用中的工具包,即开发第二格式SDK的编程语言应同为编程语言2。第三格式应用(如Android应用)中的应用工具包是安装在第三格式的应用中的工具包,即开发第三格式SDK的编程语言应同为编程语言3。应用工具包可用于为对应的应用提供业务。
可以理解,第二应用在运行且触发组件业务时,可以通过建立的通信信道调用业务组件执行组件业务,也就是说,第二应用可以通过业务组件实现组件业务。
可以理解,这样实现了应用工具包的业务扩展,使得应用工具包可以向第二应用提供应用工具包原本自身不具有的功能,比如第二应用需要业务1-4,应用工具包自身可以提供业务1-3,此时可以仅需开发针对业务4的业务组件,这样,通过建立应用工具包与业务组件之间的通信信道,可以在第二应用中正常使用业务4,提升应用开发灵活性和效率。
进一步地,请参见图3,图3是本申请实施例提供的一种组件调用过程示意图。其中,第二应用30a可由与第二应用为相同格式的应用工具包31a和业务组件32a(即按照上述图2实例所生成的业务组件28a)生成。第二应用部署在计算机设备上,该计算机设备可以是图1中的业务终端集群中的任意一个业务终端(例如,业务终端200a);其中,运行第二应用,第二应用的应用界面显示有业务组件对应的业务控件33a(如组件业务为支付业务,业务组件控件可以是指示支付的控件),响应于针对业务组件对应的业务控件的触发操作,即在第二应用的应用界面上触发组件业务时,获取用于调用业务组件的业务参数,将业务参数传入第二应用中的应用工具包,由第二应用中的应用工具包基于与业务组件之间建立的通信信道所指示的通信关系,将业务参数传入业务组件;该通信信道是第二应用的应用工具包加载业务组件时所建立的,可以理解,第二应用的应用工具包可以在第一次触发组件业务时,加载业务组件并建立通信信道,后续可以在任意触发组件业务的时刻通过该通信信道执行组件业务。
可以理解,触发组件业务处理可以是控件触发,还可以是手势触发、语音触发等等。比如,在第二应用的应用界面上通过双击或手势划动等方式触发;或者,在第二应用的应用界面上通过语音识别业务关键词的方式触发。在此不做限定,组件业务的触发方式根据具体场景确定。
可以理解,业务组件基于业务参数执行组件业务,得到组件业务对应的业务执行结果34a,业务组件可以通过通信关系将业务执行结果返回给第二应用的应用工具包,第二应用可以在应用界面上显示由应用工具包所返回的业务执行结果。由此,实现业务组件的调用,即组件业务的实现。
可选的,在一种可能的实施方式中,计算机设备可根据实际的业务需求,执行该基于多端应用平台的数据处理方法以提高应用开发灵活性和效率。本申请技术方案可以应用于任意多端应用开发场景中。比如第一格式应用(如小程序应用)可以是购物应用1,可以通过多端应用平台生成购物应用1对应的第二格式应用(如iOS应用),即购物应用2,该购物应用2可以称为购物应用1对应的多端应用,购物应用2中的所需业务以及相关逻辑与购物应用1相同。又如,第一格式应用(如小程序应用)可以是游戏应用1,可以通过多端应用平台生成游戏应用1对应的第二格式应用(如iOS应用),即游戏应用2,该游戏应用2可以称为游戏应用1对应的多端应用,游戏应用2中的所需业务以及相关逻辑与游戏应用1相同。可选地,组件业务可以是任意类型的业务,比如可以是购物应用1中的商品分享业务,也可以是游戏应用1中的支付业务。在此对可开发业务组件的组件业务不做限定。第一应用的开发人员可以为任意业务开发业务组件。为了便于区别,将多端应用的所需业务称为应用业务,应用工具包提供的业务称为工具包业务,开发有业务组件的业务称为组件业务。可以理解,此处的业务又可称为网络功能。
可以理解,本申请技术方案可以应用在应用工具包的业务扩展场景上,比如第一应用(如游戏应用1)的应用业务(如业务1-4)需要由第一应用中的应用工具包(应用工具包1)提供,也就是说,第一应用在触发某个业务(如业务4)时,是通过调用应用工具包1的方式,由应用工具包1执行所触发的业务4。
可以理解,第一应用的应用工具包的工具包业务包括业务1-4,此时根据第一应用所对应生成的第二应用(如游戏应用2,可以理解,第一应用和第二应用使用的编程语言可以不同)的应用业务同样包括业务1-4,且第二应用在触发某个业务(业务4)时,也是通过调用第二应用的应用工具包(应用工具包2)的方式,由应用工具包2执行所触发的业务4。
此时,当应用工具包2的工具包业务不包括业务4时,应用工具包2无法为第二应用提供业务4,即表示用户无法正常使用第二应用中的业务4。因此可以生成业务4对应的业务组件(该业务组件使用的编程语言与第二应用相同),这样可以通过建立第二应用的应用工具包与业务组件之间的通信信道,使得第二应用可以调用业务组件正常使用业务4,即此时第二应用的应用工具包实现了业务扩展,第二应用可以正常使用业务4,从而可以通过业务组件的形式实现了业务扩展。
可以理解,本申请技术方案可以应用在应用工具包的业务升级场景上,比如第二应用中的应用业务为业务1-4,应用工具包2的工具包业务包括业务1-4,即第二应用中的应用业务可以正常使用,若业务4需要升级,则需要在应用工具包2中进行相关业务的升级,但对应用工具包2进行业务升级的步骤比较繁琐,因此可以针对升级后的业务4生成业务组件,第二应用在使用业务4时,可以通过应用工具包2调用业务组件的方式,使用业务组件所提供的升级后的业务4,从而可以通过业务组件的形式实现了业务升级。也就是说,可以针对任意组件业务构建业务组件,在多端应用需要使用组件业务时,可以通过该多端应用中的对应业务组件实现组件业务,使得多端应用的业务使用无需受多端应用中的应用工具包自身可提供的业务的限制,延续多端应用开发体验。比如可以在第一应用所对应构建的多端应用中自定义的使用所需要的原生业务和拓展业务。
可以理解,多端应用可以包括多种格式的应用,如小程序应用、iOS应用和Android应用。本申请技术方案在可以通过一个应用(第一应用)的应用处理文件生成另一个应用(第二应用)时,将一个业务(业务X)的业务组件添加到应用B中,以使得应用B在使用业务X时,通过应用B中的应用工具包调用该业务组件执行业务X,即使应用工具包不具有业务X,也可以通过业务组件实现应用工具包的业务扩展,由此可以在应用B中使用业务X。在多端应用平台可以实现基于一个应用的应用处理文件生成另一个应用。为了便于阐述,此处以基于第一格式应用(如小程序应用)生成第二格式应用(如iOS应用)为例对本申请技术方案进行说明。也就是说,多端应用平台可以指的是支持使用第一格式(如小程序格式)原生语法(即小程序格式的编程语言)开发第二格式应用(如iOS应用,即通过多端框架编译出的多端应用)的框架,即对于小程序开发者,可以开发一次小程序项目文件,分别编译得到为小程序格式的应用、其他格式的应用(如iOS应用、Android应用),实现多端开发。
可以理解,多端应用平台可以用于开发第一应用,也可以用于开发第二应用。第一应用和第二应用为不同格式。即可以通过多端应用平台(多端框架)基于第一应用的应用处理文件、安装在第二应用中的应用工具包和业务组件生成第二应用,第二应用所具有的业务和应用执行逻辑由第一应用的应用处理文件确定(在应用处理文件被配置为目标应用处理文件时,即由目标应用处理文件确定)。该第二应用可以通过应用工具包调用业务组件。比如,第一应用可以是小程序应用,第二应用可以是iOS应用。第一应用和第二应用均是指通过应用工具包实现业务的应用(此时可以是由应用工具包自身提供业务,也可以是由应用工具包调用业务组件以提供业务)。
其中,在开发第一应用时,也可以按照开发第二应用的方式,在已有第一应用中配置业务组件,得到新的第一应用,以实现第一应用中的应用工具包的业务扩展。即此时,第二应用可以是与第一应用为同一格式的应用,也可以是不同格式的应用。在第一应用和第二应用为同一格式时,第一应用中的应用工具包和第二应用中的应用工具包的编程语言相同。在第一应用和第二应用为不同格式时,第一应用中的应用工具包和第二应用中的应用工具包的编程语言不同。第一应用中的应用工具包和第二应用中的应用工具包所提供的业务可以相同也可以不同。
需要说明的是,本申请实施例中的多端应用(如第二应用)获取用户的用户数据(如用户账号、身份信息)等时,可以在相应应用显示提示界面或者弹窗,提示界面或者弹窗用于提示业务对象当前正在搜集用户数据等数据,仅仅在获取到用户对该提示界面或者弹窗发出确认操作(如用户通过第二应用确认授权)后,开始执行数据获取的相关的步骤,否则结束。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等业务对象相关的账户地址、私钥信息等数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等业务对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
进一步的,请参见图4,图4是本申请实施例提供的一种基于多端应用平台的数据处理方法的流程示意图,如图4所示,方法可以由上述提及的计算机设备来执行,计算机设备可以是配置有多端应用平台的业务终端,比如,该业务终端可以为上述图1所示的业务终端200a。方法具体可以包括以下步骤S101-步骤S106:
S101、在多端应用平台上显示第一应用的应用处理界面,在应用处理界面所包含的项目列表中显示业务创建控件。
其中,多端应用平台可用于开发多端应用,多端应用包括第一应用和第二应用,第一应用为已开发有应用处理文件的应用(可以通过该应用处理文件编译得到第一应用),第二应用为待基于第一应用的应用处理文件所开发得到的应用。可以在多端应用平台上打开第一应用的项目,显示第一应用的应用处理界面,该应用处理界面上显示有模式选择区域,该模式选择区域上显示用于开发第二应用的应用开发模式,可以在该应用开发模式下构建得到第二应用。
其中,应用处理界面上包括项目控件,通过触控该项目控件显示项目列表,该项目列表可以包括业务创建控件(如为“创建组件”控件)。可选地,业务创建控件可以用于基于当前打开的项目创建业务组件,也就是说,用于创建属于当前打开的项目的业务组件,也可以理解为是用于创建属于当前待生成的第二应用(多端应用)的业务组件。
S102、响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面。
其中,可以理解,第一应用的开发人员可以在业务创建界面配置相关组件配置信息,业务创建界面用于显示待创建的业务组件的组件配置信息。组件配置信息中包含业务组件的组件标识和项目地址。项目地址为第一应用中的应用项目文件所关联的地址。即第一应用的应用项目文件所在的地址。可以理解,此处的应用项目文件为与第一应用这个应用项目相关的文件,比如包括开发有第一应用的执行逻辑等数据的应用处理文件,还可以包括为第一应用对应的第二应用所开发的业务组件的组件相关文件(比如开发有业务组件的执行逻辑的组件项目文件等,可以理解,组件项目文件为与业务组件这个组件项目相关的文件)。
例如,如图5所示,图5是本申请实施例提供的一种应用处理界面的示意图;其中,第一应用的应用处理界面(界面50a,如上述图2示例中的界面1)上显示有第一应用的应用项目文件的目录信息(比如第一应用的项目标识为ABC,应用项目文件包括第一应用的应用处理文件,该应用处理文件可包括文件a1、文件a2、文件a3),可以通过该目录信息点击查看对应的应用处理文件(比如点击文件a1,在多端应用平台显示文件a1中的内容),应用处理界面上包括模式选择区域,在打开第一应用的应用项目后,该模式选择区域显示的是用于开发第二应用的应用开发模式51c,即在该应用开发模式下开发第一应用的多端应用,可以理解,当第一应用为小程序应用时,第一应用的多端应用可以是iOS应用等。并且,应用处理界面上包括项目控件52c,通过触控该项目控件显示项目列表,该项目列表可以包括新建项目控件(用于新建应用项目)、导入项目控件(用于导入已有应用项目)、业务创建控件53c(如为“创建组件”控件)。可选地,业务创建控件可以用于基于当前打开的项目创建业务组件,也就是说,用于创建属于当前打开的项目的业务组件,也可以理解为是用于创建属于当前待生成的第二应用(多端应用)的业务组件。其中,可以通过触控该业务创建控件,显示业务创建控件对应的业务创建界面(界面50b,如上述图2示例中的界面2),该业务创建界面用于创建业务组件。该业务创建界面用于填写待创建的业务组件的组件配置信息,比如可以包括待创建的业务组件的组件标识(如上述图2实例中的组件标识23a)、所属的第一应用的项目标识(即业务组件所关联的项目标识)、所属的第二应用的应用标识(即业务组件所关联的应用标识)、以及所属的应用项目的项目地址(即业务组件所关联的项目地址,如上述图2实例中的项目地址24a)。可以理解,该项目地址为第一应用中的应用项目文件所关联的地址,即第一应用的应用项目所在的地址。也就是说,第一应用的应用处理文件和所创建的业务组件的组件相关文件均在同一个项目地址下,均可作为第一应用的应用项目文件。
可选地,业务创建界面中的项目标识(如为ABC)和项目地址(如为abc/def/ABC)可以自动填入。比如,在生成业务创建界面时,获取当前所打开的项目(第一应用的应用项目)的项目地址和项目标识,该应用标识可以由第一应用的开发人员配置,也可以自动获取,该应用标识是为了后续基于第一应用生成第二应用时,为第二应用所配置的应用标识,该应用标识可由多端应用平台在打开第一应用的应用处理界面时自动生成,可以理解,当此前已生成过应用标识或第一应用的开发人员已经配置过时,则使用此前生成或配置过的应用标识。
可以理解,该组件标识可以由第一应用的开发人员手动填写,也可以由第一应用的开发人员从已创建的业务组件中获取,比如此前已创建过一个业务组件A,即此时第一应用的项目地址中包含为业务组件A所创建的组件目录文件,可通过该组件目录文件解析出此前为业务组件A所配置的组件标识,因此可以从第一应用的项目地址中解析出已经存在的组件标识,第一应用的开发人员可以选择已经存在的组件标识重新创建新的业务组件,即重新创建新的组件目录文件(同时覆盖原有的组件目录文件),也可以自行配置全新的组件标识以创建新的组件目录文件。
S103、响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对应用处理界面中的模式选择区域的模式切换操作,在应用处理界面上显示用于开发业务组件的组件开发模式,并在组件开发模式下显示与业务组件相关联的组件目录文件。
其中,在第一应用的应用处理界面上创建的业务组件的组件相关文件的地址为第一应用的项目地址。组件相关文件包括组件目录文件,该组件目录文件为所创建的业务组件的组件相关文件,组件目录文件为项目地址所对应的应用项目文件中的文件。组件目录文件中包含业务组件的组件项目文件,组件项目文件中的组件源码为携带组件标识的模板组件源码。该组件项目文件用于定义业务组件的实例化操作(比如业务组件的注册语句和初始化语句等等)。也就是说,模板组件源码可以包括针对业务组件的模板组件注册源码和模板组件初始化源码。第一应用的开发人员可以在模板组件源码的基础上对模板组件注册源码和模板组件初始化源码进行适应性配置。
也就是说,应用处理界面上显示有为业务组件所创建的组件相关文件的目录信息,可以通过该目录信息打开某个组件相关文件(比如打开组件项目文件)。
其中,组件目录文件中有自动为业务组件所创建的用于开发不同格式的业务组件的组件目录文件,比如组件目录文件中包括用于开发第二格式(如iOS格式)的业务组件的组件目录文件(比如称为第一组件目录文件),以及为业务组件所创建的用于开发第三格式(如Android格式)的业务组件的组件目录文件(比如称为第二组件目录文件)。可以理解,第一目录文件中包括用于开发第二格式(如iOS格式)的组件项目文件(比如称为组件项目文件1),第二目录文件中包括用于开发第三格式(如Android格式)的组件项目文件(比如称为组件项目文件2)。组件项目文件1为针对第二格式(如iOS格式)的模板组件源码,比如为组件项目文件1中的源码使用的编程语言为编程语言1,即针对第二格式(如iOS格式)的原生代码。组件项目文件2为针对第三格式(如Android格式)的模板组件源码,比如为组件项目文件2中的源码使用的编程语言为编程语言2,即针对第三格式(如Android格式)的原生代码。此时以第二应用为第二格式应用(如iOS应用)为例,因此所提及的组件目录文件和组件项目文件均为第二格式(如iOS格式)下的文件。
同理,若所开发的第二应用可以是第一格式应用(如小程序应用)时,那么组件目录文件会包括用于开发第一格式(如小程序格式)的业务组件的组件目录文件,该组件目录文件包括用于开发第一格式(如小程序格式)的组件项目文件,该组件项目文件为针对第一格式(如小程序格式)的模板组件源码,比如为组件项目文件中的源码使用的编程语言为编程语言3,即针对第一格式(如小程序格式)的原生代码。
此外,可以理解,多端应用平台在响应于针对组件配置信息的确认操作时,将业务创建界面自动切换回应用处理界面,在应用处理界面中的模式选择区域上,将应用开发模式自动切换至组件开发模式,且在组件开发模式下显示为业务组件所创建的组件目录文件。可以理解,此时仍然可以查看第一应用的应用处理文件。可以理解,这里的模式切换操作可以是由多端应用平台自动触发的。
可选地,在组件开发模式下,还可以显示组件调试区域,该组件调试区域可用于调试所开发的业务组件,该组件调试区域中可以包括组件加载控件和组件调用控件。其中,通过组件调试区域对业务组件进行组件调试的具体过程可以参见下述相关描述。
S104、响应于针对组件项目文件的文件打开操作,显示模板组件源码。
其中,如图6所示,图6是本申请实施例提供的一种显示模板组件源码的过程示意图;其中,第一应用的开发人员在业务创建界面(界面60a,如上述图5所示的界面50b)中配置业务组件的组件配置信息(比如组件配置信息包括项目标识(如为“ABC”)、项目地址(如为“abc/def/ABC”)、应用标识(如为“Wxdd1”)、组件标识(如为Wxdd11)),并通过点击确认控件,由多端应用平台将业务创建界面切换回应用处理界面(界面60b,如上述图5所示的界面50a),且该应用处理界面的模式选择区域显示为组件开发模式61c。该应用处理界面上显示有第一应用的应用项目文件,比如包括第一应用的应用处理文件(文件a1、文件a2、文件a3),应有处理界面上还显示有组件目录文件,该组件目录文件比如包括针对第二格式的第一目录文件62c(目录文件b1)和针对第三格式的第二目录文件63c(目录文件b2)。
其中,在待开发的业务组件需为第二格式时,可以通过点击目录文件b1,显示目录文件b1下的组件项目文件64c,并通过点击该组件项目文件,在多端应用平台的源码显示界面上显示模板组件源码65c。
其中,界面60b中还可以包括组件加载控件和组件调用控件,该组件加载控件和组件调用控件可以用于进行组件配置源码的调试。
S105、响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句,得到业务组件的组件配置源码。
其中,源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道。
其中,模板组件源码包括针对业务组件的模板组件注册源码和模板组件初始化源码。模板组件注册源码用于组件注册,比如可以包括组件对象注册、组件标识注册、业务执行方法注册等等。也就是说,模板组件源码中的模板组件注册源码用于定义与业务注册相关的格式语句,比如定义组件标识、定义业务执行方法的相关模板语句。第一应用的开发人员可以针对模板组件注册源码进行相关配置,比如配置组件标识为当前待创建的业务组件的组件标识,配置业务执行方法的方法名和参数名等等。此外,模板组件初始化模板可用于进行组件初始化,在模板组件注册源码执行后被调用。比如可以包括组件对象初始化、跳转链接初始化(为组件对象所注册的跳转链接,该跳转链接为业务组件提供给该应用工具包,以用于调用该业务组件的链接)、通用链接初始化(为组件对象所注册的通用链接,该通用链接为业务组件提供给该应用工具包,以用于调用该业务组件的链接)等等,具体初始化的数据根据具体的模板组件初始化模板确定,由多端应用平台的开发人员配置。
因此,响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句可以是,响应于针对模板组件注册源码的注册源码配置操作,得到针对业务组件的目标组件注册源码;目标组件注册源码用于调用模板组件初始化源码;基于目标组件注册源码确定源码调用语句。
也就是说,可以在模板组件注册源码的基础上进行针对业务组件的源码配置,将源码配置后的模板组件注册源码作为目标组件注册源码。可以将适配于业务组件的目标组件注册源码作为源码调用语句。即组件配置源码中可以包括模板组件初始化源码和目标组件注册源码。
其中,多端应用平台在基于业务组件的组件配置信息所生成的模板组件源码携带第一应用的开发人员所配置的业务标识,即自动生成针对业务标识的组件标识注册语句,此时第一应用的开发人员可以适配性的配置业务组件的业务执行方法的注册语句,比如基于模板组件源码中的方法注册语句为指定方法名和方法参数配置适用于业务组件的方法注册语句。例如,模板组件源码的中的方法注册语句包括声明方法语句“WEAPP_EXPORT_PLUGIN_METHOD_SYNC(method)”,该“method”为所声明的模板业务执行方法的方法名,此时第一应用的开发人员可以基于声明方法语句的格式配置针对业务组件的业务执行方法的声明方法语句,如为“WEAPP_EXPORT_PLUGIN_METHOD_SYNC(mySyncFunc)”,该“mySyncFunc”为针对业务组件的业务执行方法的方法名。又如,例如,模板组件源码的中的方法注册语句包括方法定义语句,该方法定义语句包括模板业务执行方法所需的方法参数的参数名为“a”和“b”,此时第一应用的开发人员可以基于方法定义语句的格式配置针对业务组件的业务执行方法所需的方法参数,如参数名从“a”和“b”配置为“name”和“age”。在此对注册源码配置操作的不做限定,根据业务组件具体的开发过程确定。比如组件业务为支付组件,业务执行方法用于定义具体的支付逻辑。
可选地,也可以对组件对象的对象名进行适应性配置,配置原理同业务执行方法的配置原理。可以理解,当对业务执行方法的方法名(或组件对象的对象名)进行配置后,在所有组件相关文件中,涉及业务执行方法的方法名(或组件对象的对象名)的地方均需要配置统一。
也就是说,多端应用平台可以提供模板组件源码,由第一应用的开发人员基于模板组件源码进行业务组件的原生代码开发,提高第一应用的开发人员的开发便捷性和效率。
可以理解,组件项目文件中的模板组件源码为用于建立第二应用的应用工具包与业务组件之间的通信信道的示例源码。比如,应用工具包在加载业务组件时,业务组件会通过模板组件源码中的模板组件注册源码进行组件注册,且在组件注册后,调用模板组件源码中的模板组件初始化源码进行组件初始化,且在组件初始化完成时,表示业务组件实例化完成,得到实例化的组件对象(也就是说业务组件需要注册对象并完成初始化,才表示对象实例化完成),此时业务组件会将实例化的组件对象返回给第二应用的应用工具包,第二应用的应用工具包在得到实例化的组件对象后,表示第二应用的应用工具包与业务组件之间的通信信道构建完成,此时第二应用可以使用实例化的组件对象(即实例化对象)暴露出的方法,使得业务组件可以执行业务执行方法以实现组件业务。
也就是说,目标组件注册源码包括针对业务组件所配置得到的对象注册语句、组件标识注册语句、方法注册语句(在此对目标组件注册源码中的注册操作不做限定),可以用于组件注册,从而调用模板组件初始化源码进行组件初始化。
例如,以模板组件源码为第二格式(如iOS格式)为例,基于上述图6中的组件配置信息所生成的模板组件源码可以包括模板组件注册源码和模板组件初始化源码,其中,模板组件注册源码可以为:
//定义组件对象的相关语句,在所定义的MyPlugin这个类上实现组件对象的注册(也就是创建组件对象,即组件实例化),此时所得到的组件对象被定义为“plugin”(可预先固定配置好),在完成实例化后,返回给第二应用的应用工具包;
__attribute__((constructor))//指示在加载业务组件时自动执行下述语句;
static void initPlugin(){//定义函数为“initPlugin”;
[MyPlugin registerPluginAndInit:[[MyPlugin alloc]init]];
};
@implementation MyPlugin//声明类为“MyPlugin”
//定义组件标识的相关语句,实现组件标识的注册,“wxdd11”为在业务创建界面上所填写的组件配置信息,可由多端应用平台在生成模板组件源码时自动填入,“WEAPP_DEFINR_PLUGIN_ID”用于定义组件标识;
WEAPP_DEFINR_PLUGIN_ID(wxdd11)
//定义同步的业务执行方法的相关语句一,实现业务执行方法的注册,即业务执行方法“method1”的声明语句;“WEAPP_EXPORT_PLUGIN_METHOD_SYNC”用于定义同步的业务执行方法;
WEAPP_EXPORT_PLUGIN_METHOD_SYNC(method1,@selector(method1:))
//定义异步的业务执行方法的相关语句一,实现业务执行方法的注册,即业务执行方法“method2”的声明语句;“WEAPP_EXPORT_PLUGIN_METHOD_ASYNC”用于定义同步的业务执行方法;
WEAPP_EXPORT_PLUGIN_METHOD_ASYNC(method2withCallback,@selector(method1:withCallback)))
//定义同步的业务执行方法的相关语句二,即业务执行方法“method1”的方法定义语句
-(id)method1:(NSDictionary)param{ //用于传递参数;
NSLog(@”method1&@”,param);//传递参数给方法“method1”,并打印方法“method1”的操作日志;
return @”method1”; //接收方法“method1”的返回;
}
//定义异步的业务执行方法的相关语句二,即业务执行方法“method2”的方法定义语句,”a”和”b”为需要传递给业务执行方法“method2”的参数;
-(viod)method2:(NSDictionaryparam withCallback:(WeAppNativePluginCallback)callback{ //用于传递参数;
NSLog(@”method2&@”,param);//传递参数给方法“method2”,并打印方法“method1”的操作日志;
callback(@{@”a”:@”1”,@”b”:@[@1,@2],@”c”:@3}); //“callback”为回调函数,在回调函数中处理参数“a”和“b”,回调结果“c”;
}
根据上述可知,针对模板组件源码的源码调用语句配置操作可以包括业务执行方法的声明语句中的方法名配置,业务执行方法的方法定义语句中的方法参数配置,如此时业务组件的业务执行方法包括方法1和方法2,方法1为同步的业务执行方法,且方法名为“mySyncFunc”,方法2为异步的业务执行方法,且方法名为“myAsyncFunc”。
因此,配置得到的目标组件注册源码为:
//定义组件对象的相关语句,在所定义的MyPlugin这个类上实现组件对象的注册(也就是创建组件对象,即组件实例化),此时所得到的组件对象被定义为“plugin”(可预先固定配置好),在完成实例化后,返回给第二应用的应用工具包;
__attribute__((constructor))//指示在加载业务组件时自动执行下述语句;
static void initPlugin(){//定义函数为“initPlugin”;
[MyPlugin registerPluginAndInit:[MyPlugin alloc]init]];
};
@implementation MyPlugin//声明类为“MyPlugin”;
//定义组件标识的相关语句,实现组件标识的注册,“wxdd11”为在业务创建界面上所填写的组件配置信息,可由多端应用平台在生成模板组件源码时自动填入,“WEAPP_DEFINR_PLUGIN_ID”用于定义组件标识;
WEAPP_DEFINR_PLUGIN_ID(wxdd11)
//定义同步的业务执行方法的相关语句一,实现业务执行方法的注册,业务执行方法的方法名由“method1”更新配置为“mySyncFunc”;“WEAPP_EXPORT_PLUGIN_METHOD_SYNC”用于定义同步的业务执行方法;
WEAPP_EXPORT_PLUGIN_METHOD_SYNC(method1,@selector(mySyncFunc:))
//定义异步的业务执行方法的相关语句一,实现业务执行方法的注册,即业务执行方法的方法名由“method2”更新配置为“myAsyncFunc”;“WEAPP_EXPORT_PLUGIN_METHOD_ASYNC”用于定义同步的业务执行方法;
WEAPP_EXPORT_PLUGIN_METHOD_ASYNC(method2withCallback,@selector(mySyncFunc:withCallback)))
//定义同步的业务执行方法的相关语句二,即业务执行方法“mySyncFunc”的方法定义语句;
-(id)myAsyncFunc:(NSDictionary)param{ //用于传递参数;
NSLog(@”method1&@”,param);//传递参数给方法“method1”,并打印方法“method1”的操作日志;
return @”method1”; //接收方法“method1”的返回;
}
//定义异步的业务执行方法的相关语句二,即业务执行方法“myAsyncFunc”的方法定义语句,由”a”更新配置为的”name”和由”b”更新配置为的”age”为需要传递给业务执行方法“myAsyncFunc”的参数;
-(viod)method2:(NSDictionary)param withCallback:(WeAppNativePluginCallback)callback{ //用于传递参数;
NSLog(@”method2&@”,param);//传递参数给方法“method2”,并打印方法“method1”的操作日志;
callback(@{@”name”:@”1”,@”age”:@[@1,@2],@”c”:@3});//“callback”为回调函数,在回调函数中处理参数“name”和“age”,回调结果“c”;
}
其中,用于声明同步的业务执行方法的宏定义为:
WEAPP_EXPORT_PLUGIN_METHOD_SYNC(methodName,methodSelector)
其中,参数“methodName”是指业务执行方法的方法名,为必填的参数,第二应用可以通过第二组件处理方法(如pluginInstance.methodName)进行该业务执行方法的调用;参数“methodSelector”为定义的注册方法(又称实例化方法)。同步的业务执行方法的入参“NSDictionary”,为非必填的参数,是第二应用通过第二组件处理方法所传入的参数;同步的业务执行方法的出参,为非必填的参数,是业务组件调用业务执行方法执行组件业务所得到的结果。
其中,用于声明同步的业务执行方法的宏定义为:
WEAPP_EXPORT_PLUGIN_METHOD_ASYNC(methodName,methodSelector)
其中,参数“methodName”是指业务执行方法的方法名,为必填的参数,第二应用可以通过第二组件处理方法(如pluginInstance.methodName,“pluginInstance”为定义的组件对象)进行该业务执行方法的调用;参数“methodSelector”为定义的注册方法(又称实例化方法)。异步的业务执行方法的入参1“NSDictionary”,为非必填的参数,是第二应用通过第二组件处理方法所传入的第一个参数;异步的业务执行方法的入参2“WeAppNativePluginCallback”,为非必填的参数,是第二应用通过第二组件处理方法所传入的第二个参数,可以通过该入参2回调给第二应用,业务组件调用业务执行方法执行组件业务所得到的结果可作为该入参2的回调。
其中,模板组件初始化源码可以为:
//用于组件初始化,目标组件注册源码在执行后,被触发调用;
//定义组件对象初始化的相关语句,用于初始化所注册的组件对象;
-(viod)initPlugin {
NSLog(@”initPlugin”); //输出”initPlugin”的初始化日志;
}
可选地,对组件对象进行初始化时还可以注册并初始化针对业务组件的代理方法,如用于启用业务组件或保持业务组件的业务执行,在此对模板组件初始化源码中的初始化操作不做限定。即模板组件初始化源码可以为:
-(viod)initPlugin {
NSLog(@”initPlugin”);
[self registerAppDelegateMethod:@selector(application:openURL:options:)]; //针对组件对象的入口“registerAppDelegateMethod”进行注册并初始化用于启用业务组件的链接“openURL”;
[self registerAppDelegateMethod:@selector(application:continueUserActivity:restorationHandler:)]; //针对组件对象的入口“registerAppDelegateMethod”进行注册并初始化用于在启用业务组件可以继续保持执行组件业务的机制“continueUserActivity”;
}
//定义为组件对象注册的跳转链接“url scheme”初始化的相关语句;
-(viod)application:(UIApplicaiton)app openURL:(NSURL/>)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id>/>)options{//用于处理链接“openURL”,即当业务组件通过”url scheme”被调用时,回调到此处,用于检测传入的业务参数以及回调结果;
NSLog(@”url scheme”);//输出”url scheme”的初始化日志;
}
//定义为组件对象注册的通用链接“universal link”初始化的相关语句;
-(viod)application:(UIApplicaiton)application continueUserActivaty:(NSDictionary/>)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>>/>__nullable
restorableObjects))restorationHandler{//用于处理机制“continueUserActivity”,即当业务组件通过”universal link”被调用时,回调到此处,用于检测传入的业务参数以及回调结果;
NSLog(@”universal link”);//输出”universal link”的初始化日志;
}
可选地,第一应用的开发人员还需要定义业务组件对应的组件业务的执行逻辑,即针对组件业务的业务执行方法的具体执行过程。因此,确定组件配置源码可以是,响应于针对组件业务的执行方法配置操作,得到针对组件业务的业务执行方法;基于模板组件初始化源码、源码调用语句和业务执行方法,得到业务组件的组件配置源码。可以理解,当组件项目文件1为针对第二格式(如iOS格式)的模板组件源码,在第一目录文件下配置的业务执行方法使用的编程语言为编程语言1,即针对第二格式(如iOS格式)的原生代码。组件项目文件2为针对第三格式(如Android格式)的模板组件源码,在第二目录文件下配置的业务执行方法为编程语言2,即针对第三格式(如Android格式)的原生代码。同理,若组件项目文件为针对第一格式(如小程序格式)的模板组件源码,在对应的组件目录文件下配置的业务执行方法为编程语言3,即针对第一格式(如小程序格式)的原生代码。
可以理解,模板组件初始化源码和源码调用语句可以与业务执行方法在同一组件项目文件,也可以在不同组件项目文件。可以理解,在通过模板组件初始化源码和源码调用语句建立第二应用的应用工具包和业务组件之间的通信信道时,第二应用的应用工具包可以通过通信信道通知业务组件,调用业务执行方法来执行组件业务。
S106、基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上。
其中,在应用处理界面中,显示与组件开发模式相关联的组件构建控件。该组件构建控件包括不同格式的组件构建控件。比如针对第二格式(如iOS格式)的组件构建控件(如为“构建格式1组件”控件)、针对第三格式(如Android格式)的组件构建控件(如为“构建格式2组件”控件)。同理,可能还包括针对第一格式(如小程序格式)的组件构建控件(如为“构建格式3组件”控件)。可以理解,当触发某个格式的组件构建控件时,是基于该格式对应的组件目录文件下的组件配置源码构建得到相应格式的业务组件。比如,触发针对iOS格式的组件构建控件时,从iOS格式对应的目录文件中获取为iOS原生代码的组件配置源码,并基于该为iOS原生代码的组件配置源码构建得到iOS格式的业务组件。该iOS格式的业务组件用于安装到iOS格式的第二应用中。
可以理解,在得到组件配置源码后,可以对组件配置源码进行调试,在测试业务组件(即组件配置源码)调试完成后,可以响应于针对组件构建控件的触发操作,基于模板组件初始化源码、源码调用语句和业务执行方法构建得到业务组件。
其中,应用处理界面中显示有与组件开发模式相关联的调试语句构建控件,以及显示有与组件开发模式相关联的组件调试区域;组件调试区域包括组件加载控件和组件调用控件。
因此,可以响应于针对调试语句构建控件的触发操作,生成组件调试源码,响应于针对组件加载控件的触发操作,基于组件配置源码构建得到测试业务组件,在组件调试区域对应的组件调试程序中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化,在组件实例化完成时,得到组件调试程序与测试业务组件之间的测试通信信道;测试通信信道用于调试测试业务组件。
其中,组件调试源码可用于调用组件配置源码,以实现业务组件的组件实例化。可以理解,业务组件的组件实例化(即组件对象的创建过程)包括组件注册(包括组件对象的创建过程中的一个步骤,即创建组件对象,也就是创建组件实例)和组件初始化(包括组件对象的创建过程中的一个步骤,即初始化组件对象,也就是初始化组件实例),即可以通过组件配置源码中的模板组件初始化源码和源码调用语句进行组件实例化整个完整过程。
可以理解,在确定需要对组件配置源码进行调试时,先构建测试业务组件,然后通过组件调试区域对应的组件调试程序,执行组件调试源码以通知测试业务组件进行组件实例化,可以理解,当测试业务组件进行组件实例化后,返回测试业务组件的组件对象(即组件实例化对象,也就是在上述目标组件注册源码中定义的组件对象在实例化后所返回的信息,该返回的信息可配置为固定参数,如“plugin”),组件调试程序在接收到组件实例化对象时,表示组件调试程序与测试业务组件之间的测试通信信道建立完成,该测试通信信道可用于组件调试程序与测试业务组件之间的数据交互。
其中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化可以是:在组件调试程序中,基于组件调试源码加载测试业务组件,并通知测试业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。也就是说,组件调试程序会加载测试业务组件,并且在加载测试业务组件时触发源码调用语句的执行,以实现组件注册,进而触发模板组件初始化源码的执行,以实现组件初始化。在测试通信信道建立时,表示源码调用语句和模板组件初始化源码调试完成。也就是说,此时测试业务组件加载成功。
可以理解,组件配置源码包括针对组件业务的业务执行方法,组件调试程序可以通过测试业务组件调用业务执行方法,以确定该业务执行方法是否配置正确。
其中,组件调试区域包括组件调用控件。多端应用平台响应于针对组件调用控件的触发操作,(调用组件调试程序)从组件调试源码中获取用于调用业务执行方法的测试业务参数;在组件调试程序中,通过建立的测试通信信道所指示的测试通信关系,将测试业务参数传入测试业务组件,以使测试业务组件基于测试业务参数执行组件业务,得到组件业务对应的测试执行结果;基于测试执行结果确定测试业务组件调试完成,即在确定测试执行结果正确时,确定测试业务组件调试完成。也就是说,表示业务执行方法无误,可以基于该组件配置源码构建业务组件。
其中,组件调试源码(即组件调试方法)可以为:
loadNativePlugin({ //组件加载方法;
pluginID:’wxdd11’, //待加载的测试业务组件的组件标识,组件调试程序基于该组件标识加载对应的测试业务组件;
success:(plugin)=>{ //测试业务组件加载成功时执行下述源码;
console.log(‘load plugin success’) //输出“组件加载成功”;
const ret = plugin.mySyncFunc({a:’hello’,b:[1,2]}) //组件使用方法,此处定义组件调试程序需要获取到的用于调用业务组件方法的入参(方法参数,也就是测试业务参数,需要由第一应用的开发人员根据具体的业务组件配置),业务组件方法mySyncFunc为组件实例化对象plugin暴露出来的业务组件方法,组件调试程序若想要使用该业务组件方法,是通过使得测试业务组件调用该业务组件方法实现的,即将用于调用业务组件方法mySyncFunc的测试业务参数(参数a(具体为hello)和参数b(具体为[1,2]))通过测试通信信道传给测试业务组件,测试业务组件基于该方法参数执行业务组件方法mySyncFunc得到业务执行结果;
console.log(mySyncFunc ret:’,ret) //输出测试业务组件返回的业务执行结果;
},
fail:(e)=>{ //测试业务组件加载失败时执行下述源码;
console.log(‘load plugin fail’,e)//输出“组件加载失败”;
}
})
也就是说,可以生成模板调试源码,由第一应用的开发人员基于模板调试源码配置得到组件调试源码,该组件调试源码中可以定义待加载的测试业务组件的组件标识,以使得组件调试程序加载该测试业务组件,以及组件调试源码中可以定义需要传入测试业务组件的测试业务参数的获取方式(由第一应用的开发人员配置),以及在得到测试业务参数时以使得组件调试程序将测试业务参数传入测试业务组件,以调用业务执行方法,执行组件业务。
例如,如图7-图9所示,图7-图9是本申请实施例提供的一种业务组件的构建过程示意图;其中,在配置得到组件配置源码时,切换显示在组件开发模式下的应用处理界面(界面70a,如上述图6示例中的界面60b),此时应用处理界面上显示有组件调试区域71c以及构建控件72c(应用处理界面上的其他元素的具体描述可以参见上述图6中的相关描述);通过触发该构建控件显示调试语句构建控件和组件构建控件,可以理解,针对不同格式的组件有指示不同格式的调试语句构建控件和组件构建控件,比如在第二格式(如iOS格式)下,调试语句构建控件可以是“构建格式1调试语句”控件73c、组件构建控件可以是“构建格式1组件”控件74c;又如在第三格式(如Android格式)下,调试语句构建控件可以是“构建格式2调试语句”控件、组件构建控件可以是“构建格式2组件”控件,又如在第一格式(如小程序格式)下,调试语句构建控件可以是“构建格式3调试语句”控件、组件构建控件可以是“构建格式3组件”控件(此处仅示出第二格式下的构建控件)。
因此,如图7,通过触控该“构建格式1调试语句”控件,生成模板调试源码75c,响应于第一应用的开发人员对模板调试源码的配置,得到组件调试源码76c。
此时,如图8,多端应用平台切换回应用处理界面70a,第一应用的开发人员可以触控组件调试区域上的组件加载控件77c,多端应用平台基于组件配置源码78c构建(S81)得到测试业务组件79c,并使得组件调试区域对应的组件调试程序710c基于组件调试源码加载(S82)测试业务组件,以通知测试业务组件通过组件配置源码进行组件实例化(S83),由此得到组件调试程序与测试业务组件之间的测试通信信道。
其中,在测试业务组件加载完成后,第一应用的开发人员可以触控组件调试区域上的组件调用控件711c,使得组件调试区域对应的组件调试程序,从组件调试源码中获取用于调用业务执行方法的测试业务参数,并通过建立的测试通信信道所指示的测试通信关系,将测试业务参数传入测试业务组件,测试业务组件基于测试业务参数调用业务执行方法,执行组件业务,得到组件业务对应的测试执行结果。
可以理解,如图9,在测试执行结果正确时,第一应用的开发人员确定测试业务组件调试完成,第一应用的开发人员可以应用处理界面(界面70a)触控“构建格式1组件”控件74c,多端应用平台从格式1(如iOS格式)对应的组件目录文件712c(目录文件b1)中获取格式1(如iOS格式)的组件配置源码78c,以构建得到格式1(如iOS格式)的业务组件713c。可以理解,在构建测试业务组件时同理,即从格式1(如iOS格式)对应的组件目录文件中获取格式1(如iOS格式)的组件配置源码,以构建得到格式1(如iOS格式)的测试业务组件。
又如,如图10所示,图10是本申请实施例提供的一种业务组件的发布过程示意图;其中,应用处理界面(界面100a,如上述图7-图9示例中的界面70a)显示有组件上传控件,在通过上述图7-图9所示的组件创建过程得到业务组件后,第一应用的开发人员可以触控该组件上传控件101c,显示针对业务组件的组件上传界面(界面100b),该组件上传界面上可以填写业务组件的版本号(如“1.0.0”)和组件备注(如“开发人员A在2050年5月1日上传”),以及显示该业务组件的组件格式(如“格式1”),通过触控组件上传控件102c,可将该业务组件上传至多端应用平台,此时可以在多端应用平台上查看已经上传的业务组件,比如可以查看业务组件的组件标识(如“Wxdd11”)、所属第二应用的应用标识(如“Wxdd1”)、创建时间(如“2050-5-1”)等,此时,通过触控“详情”控件,可以查看业务组件的详细组件信息(比如查看开发人员、查看组件备注等等),第一应用的开发人员可以触控“发布”控件103c,将业务组件发布在多端应用平台上,即将业务组件设置为线上版。
因此,可以理解,在得到业务组件后,可以通过业务组件、第一应用的应用处理文件和第二应用的应用工具包生成第二应用,该业务组件用于在第二应用运行时,通过建立的通信信道所指示的通信关系,执行业务组件的组件业务。也就是说,此时即使第二应用的应用工具包自身没有提供组件业务的情况下,第二应用中可以正常使用组件业务。其中,生成第二应用的具体过程可以参见下述实施例的相关描述。
因此,本申请技术方案在于可以为开发人员提供在不同格式下的模板组件源码,允许开发人员在模板组件源码的基础上开发针对某种业务的组件配置源码,并以资源化的形式生成相应的业务组件,以上传在多端应用平台上,进而可以以配置的形式在第一应用的应用处理文件中定义针对该业务组件的组件处理方法(即以资源化、插件化的形式提供给开发人员开发自定义业务的组件配置源码的能力,并以配置化的形式接入到第二应用中),以使得在对应生成的第二应用中,可以由第二应用中的应用工具包建立与业务组件之间的通信信道,从而实现第二应用中的应用工具包与业务组件之间的通信,即使得业务组件将自己所能提供的功能业务暴露给第二应用,可由第二应用在任意时刻调用,即使得第二应用可以一键快速接入第二应用的应用工具包本身不具备的原生能力或开放性能力,可以无需等待官方发布具备第二应用所需能力的通用应用工具包,使得第二应用变相具备了对应的第一应用的所有业务,也就是实现将第一应用的所有业务通过第二应用中的应用工具包和业务组件成功共享给第二应用,确保第二应用中的业务的成功执行率。本申请技术方案不仅帮助开发人员可以在第二应用中使用自定义的原生能力或开放性能力,还帮助开发人员将这部分组件配置源码资源化和组件化,可由开发人员指定需要编译到第二应用中的业务组件,并可以根据需求在第二应用中去掉某个业务组件(即通过是否启用某个业务组件的方式),从而实现了业务组件的热拔插和版本管理的能力。可以理解,同一业务组件可以存在多种版本,可由第一应用的不同开发人员分别进行开发和管理,进行多人协作、多版本共同存在。
本申请实施例中,在多端应用平台上显示第一应用的应用处理界面,并显示业务创建控件,响应于针对业务创建控件的触发操作,显示业务创建界面,该业务创建界面用于显示待创建的业务组件的组件配置信息,组件配置信息中包含业务组件的组件标识和项目地址;响应于针对组件配置信息的确认操作,切换回应用处理界面,并在应用处理界面显示用于开发业务组件的组件开发模式,在组件开发模式下显示为业务组件所创建的组件目录文件,该组件目录文件包括组件项目文件,组件项目文件包括携带组件标识的模板组件源码;打开组件项目文件,显示模板组件源码,并响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,该源码调用语句可以用于触发调用模板组件源码中的部分源码,由此基于模板组件源码和源码调用语句确定业务组件的组件配置源码,进而构建得到可以实现指定业务的业务组件。因此,可以通过可视化界面配置某种业务(组件业务)的业务组件,其中,用于构建得到业务组件的组件配置源码中的源码调用语句可用于建立第二应用的应用工具包与业务组件之间的通信信道,这样,所得到的第二应用在运行时,可以通过建立的通信信道调用业务组件执行组件业务。也就是说,可以针对某个业务(业务A)生成对应的业务组件,并通过建立第二应用中的应用工具包和业务组件之间的通信信道就可以使得第二应用使用业务组件所提供的业务A,而不受第二应用的应用工具包自身所提供的业务的限制,即实现了应用工具包的业务扩展,由此,在开发得到第二应用时可以更加便捷的使得所生成的第二应用实现一些自定义业务,进而提升应用开发的灵活性,无需从头开发一个可以为第二应用提供所有所需业务的应用工具包,提升应用开发效率,也就是说,可以在生成第一应用对应的第二应用时,可以通过开发指定业务的业务组件确保在多端应用中特定应用(例如,第二应用)上的业务的执行成功率,即可以将第一应用中的业务成功共享给第二应用。
进一步的,请参见图11,图11是本申请实施例提供的一种基于多端应用平台的数据处理方法的流程示意图,如图11所示,方法可以由上述提及的计算机设备来执行,计算机设备可以是配置有多端应用平台的业务终端,比如,该业务终端可以为上述图1所示的业务终端200a。方法具体可以包括以下步骤S201-步骤S205:
S201、在模式选择区域中,将组件开发模式切换至用于开发第二应用的应用开发模式。
其中,第一应用的开发人员可以将组件开发模式切换至应用开发模式,以用于开发第二应用。也就是说,第一应用的开发人员可以进行针对第二应用的相关配置,比如添加业务组件,配置用于与业务组件进行通信的相关语句等等。
其中,应用项目文件包括第一应用的应用处理文件。应用开发模式下显示有应用处理文件,即可以在应用开发模式下对应用处理文件进行配置。
S202、在第一应用的应用处理文件中配置源码调用语句对应的第一组件处理方法和业务执行方法对应的第二组件处理方法,得到目标应用处理文件。
其中,可以理解,若在第一应用中,某个应用业务是由第一应用的应用工具包提供(此时称为工具包业务),那么在触发该工具包业务时,第一应用是通过调用应用工具包,以使得第一应用的应用工具包执行该工具包业务。而此时,若某个应用业务由业务组件提供(此时称为组件业务),那么在得到第一应用对应的第二应用后,在触发该组件业务时,第二应用是将业务组件的组件标识传入第二应用的应用工具包,以使第二应用的应用工具包加载业务组件,进而通过调用该业务组件来执行该组件业务。也就是说,此时,需要在第一应用的应用处理文件中定义相关语句,以实现在触发该组件业务时,通过第二应用的应用工具包与业务组件进行通信(可以理解,此时第二应用的应用工具包具备加载业务组件并与业务组件进行通信的功能)。
其中,第一组件处理方法可以用于指示第二应用的应用工具包通知业务组件执行源码调用语句(即可以用于加载和实例化业务组件);第二组件处理方法可以用于指示第二应用的应用工具包通知业务组件,执行业务执行方法(即可以用于使用业务组件);目标应用处理文件用于生成第二应用。
可以理解,第一组件处理方法和第二组件处理方法用于供第二应用与业务组件进行数据通信,也就是说,可以通过第一组件处理方法触发第二应用的应用工具包和业务组件之间的通信信道的建立,可以通过第二组件处理方法获取用于传入业务组件以调用业务执行方法的方法参数。可以理解,第一组件处理方法与上述组件调试源码中的组件加载方法同理,用于通知应用工具包加载业务组件,可以理解,加载业务组件时源码调用语句和模板组件初始化源码会被触发执行。第二组件处理方法与上述组件调试源码中的组件使用方法同理,用于获取用于调用业务组件的业务执行方法的方法参数,可以理解,业务组件中的业务执行方法会被触发执行。
其中,第一组件处理方法(loadNativePlugin)可以如下:
loadNativePlugin({
pluginID:’wxdd11’, //待加载的业务组件的组件标识,第二应用将该组件标识传递给第二应用的应用工具包,第二应用的应用工具包可基于该组件标识加载对应的业务组件;
success:(plugin)=>{ //业务组件加载成功时执行下述源码;
console.log(‘load plugin success’,plugin) //输出“组件加载成功”;
this.setData({
myPlugin:plugin // 将组件实例化对象plugin定义为myPlugin进行存储;
})
},
fail:(e)=>{ //测试业务组件加载失败时执行下述源码;
console.log(‘load Plugin fail’,e)//输出“组件加载失败”;
}
})
可以理解,第一组件处理方法可以定义待调用的业务组件的组件标识,以使得第二应用的应用工具包在获取到该组件标识时,加载对应的业务组件。同时第一组件处理方法可以定义在接收到业务组件返回的组件实例化对象时,将组件实例化对象进行存储,进而可以在任意时刻通过组件实例化对象所暴露出的业务执行方法调用业务组件执行组件业务。
其中,第二组件处理方法可以如下:
const ret =myPlugin.mySyncFunc({a:’hello’,b:[1,2]}) //此处定义第二应用需要获取到的用于调用业务组件方法的入参(方法参数,也就是业务参数,需要由第一应用的开发人员根据具体的业务组件配置),业务组件方法mySyncFunc为所存储的组件实例化对象myPlugin暴露出来的业务组件方法,第二应用若想要使用该业务组件方法,是通过使得业务组件调用该业务组件方法实现的,即将用于调用业务组件方法mySyncFunc的业务参数(参数a(具体为hello)和参数b(具体为[1,2]))经由第二应用的应用工具包通过通信信道传给业务组件,业务组件基于该方法参数执行业务组件方法mySyncFunc得到业务执行结果;
console.log(mySyncFunc ret:’,ret) //输出业务组件返回的业务执行结果;
可以理解,第二组件处理方法可以定义待调用的业务执行方法的方法参数,即业务执行方法的入参获取方式(具体根据不同组件业务确定),即在触发组件业务的情况下应该将怎样的业务参数传入给业务组件。可以理解,第二组件处理方法中的业务执行方法即为第二应用所暴露出的方法,该暴露出的方法的方法名与业务组件的组件配置源码中的业务执行方法的方法名保持一致。
可以理解,目标应用处理文件用于生成第二应用。此时所生成的第二应用基于目标应用处理文件运行,且在运行时,若触发了组件业务,则通过第一组件处理方法和第二组件处理方法调用业务组件实现组件业务。
S203、在应用处理界面中,显示与第二应用相关联的应用配置区域,在应用配置区域中,显示与应用开发模式相关联的组件添加控件。
可以理解,目标应用处理文件定义了如何使用业务组件,此时还需要配置需要添加到第二应用中的业务组件。
其中,应用处理界面所显示的应用处理文件包括应用配置文件(project.miniapp.json),多端应用平台响应于针对应用配置文件的文件打开操作,显示应用配置文件对应的应用配置区域,在该应用配置区域可以进行业务组件的添加配置。
其中,在应用配置区域中,显示有与应用开发模式相关联的组件添加控件。可以理解,组件添加控件可以包括用于添加不同格式的业务组件的添加控件,比如用于添加第二格式(如iOS格式)的业务组件的添加控件,用于添加第三格式(如Android格式)的业务组件的添加控件等等。此处以需要生成的第二应用为第二格式(如iOS格式)为例,因此通过用于第二格式(如iOS格式)的业务组件的添加控件添加对应格式的业务组件。
S204、响应于针对组件添加控件的触发操作,显示组件添加控件对应的组件添加界面。
其中,组件添加界面用于配置待添加的业务组件的组件标识,可选地,还可以配置待添加的业务组件的版本号。
可选地,组件添加界面还包括针对业务组件的启用开关,通过该启用开关确定是否要启用业务组件,如果启用开关处于开启状态,表示将业务组件配置到第二应用;如果启用开关处于关闭状态,表示不将业务组件配置到第二应用,此时仅保留该业务组件的配置记录。这样可以实现业务组件的热拔插。
可选地,在应用配置区域中,可以查看业务组件的配置记录,即所配置的已启用的业务组件,或者所配置的未启用的业务组件。此时可以触控任意业务组件,进入针对业务组件的组件添加界面,可以在该组件添加界面确定是否要启用该业务组件。
S205、在应用处理界面中,显示与应用开发模式相关联的应用构建控件,响应于针对应用构建控件的触发操作,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件,并基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。
其中,应用处理界面上显示有与应用开发模式相关联的应用构建控件,该应用构建控件可以包括针对不同格式的构建控件,比如包括针对第二格式(如iOS格式)的构建控件(如为“构建格式1应用”控件),比如包括针对第三格式(如Android格式)的构建控件(如为“构建格式2应用”控件)。
因此,在检测到针对应用构建控件的触发操作时,可以从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件(或者,所配置的组件标识和版本号对应的业务组件,可选地,在组件添加界面包括启用开关时,所获取到的业务组件需是处于启用状态的业务组件),此时可以获取用于安装在第二应用的应用工具包,进而可以基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。
可以理解,在第一应用的开发人员触发的“构建格式1应用”控件时,第二应用的应用工具包可为官方发布的第二格式(如iOS格式)的工具包,也可以是第一应用的开发人员指定的工具包。在第一应用的开发人员触发的“构建格式2应用”控件时,第二应用的应用工具包可为官方发布的第三格式(如Android格式)的工具包,也可以是第一应用的开发人员指定的工具包。
可以理解,在不同格式的构建控件下,获取针对不同格式的添加控件所配置的待添加的业务组件。比如,第一应用的开发人员触发的“构建格式1应用”控件,则获取所配置的待添加的第二格式(如iOS格式)的业务组件。又如,第一应用的开发人员触发的“构建格式2应用”控件,则获取所配置的待添加的第三格式(如Android格式)的业务组件。
可以理解,此时得到的第二应用可以通过目标应用处理文件中的组件处理方法(第一组件处理方法和第二组件处理方法)和第二应用中的应用工具包实现与业务组件之间的数据通信,从而使得第二应用可以正常使用组件业务。第二应用中使用组件业务的具体过程可以参见下述实施例的相关描述。
其中,组件配置信息中包含业务组件所关联的应用标识。因此,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件可以是,若业务组件所关联的应用标识与第二应用的应用标识一致,则从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件。即确定该业务组件属于待生成的第二应用。
也就是说,在第一应用的开发人员配置完待添加的业务组件后,多端应用平台需要对该业务组件进行校验,以确定该业务组件是否属于第一应用的开发人员,即业务组件所关联的应用标识是否为即将生成的第二应用的应用标识,也就是说,确定业务组件是否属于即将生成的第二应用。在业务组件校验成功后,可从已发布的业务组件中获取在组件添加界面中所配置的组件标识对应的业务组件。该第二应用的应用标识由多端应用平台预先生成或者由第一应用的开发人员预先配置。
例如,如图12-图14所示,图12-图14是本申请实施例提供的一种生成第二应用的过程示意图;其中,如图12,在得到目标应用处理文件后,切换显示应用处理界面(界面120a,如上述图10示例中的界面100a),该应用处理界面上显示有第一应用的应用项目文件的目录信息121c(比如第一应用的项目标识为ABC,应用项目文件包括第一应用的应用处理文件,该应用处理文件可包括文件a1、文件a2、文件a3),以及显示有为业务组件所创建的目录文件b1和目录文件b2(目录文件b1和目录文件b2的具体描述可以参见上述图6的相关描述)。比如应用配置文件为文件a1,第一应用的开发人员可以点击该文件a1,在应用处理界面上显示应用配置区域122c(此时应用处理界面上的模式选择区域处于应用开发模式),并点击组件配置控件123c,进入组件配置区域,该组件配置区域上显示有组件添加控件(比如“添加格式1业务组件”的控件124c、“添加格式2业务组件”的控件125c),此外,组件配置区域还可以包括配置记录控件126c,通过触控该配置记录控件查看业务组件的配置记录,该配置记录包括有不同格式的业务组件的配置记录(比如针对格式1业务组件的配置记录、针对格式2业务组件的配置记录),同时,在针对格式1业务组件的配置记录中可以查看已启用的格式1业务组件(比如组件z1-z3),或者未启用的格式1业务组件(比如组件z4),此时可以点击某个业务组件(如组件z4),进入针对组件z4的组件添加界面(界面120b),该组件添加界面中显示有组件z4的版本号(如“1.0.0”)和组件标识(如“Wxdd11”),以及可以在该界面确定是否启动该业务组件,如在需要启用该业务组件时,勾选启用开关,使得启用开关处于开启状态。
可以理解,如图13,响应于在应用处理界面(界面120a)中的组件配置区域上针对组件添加控件124c的触发操作,显示组件添加控件对应的组件添加界面(界面120b),第一应用的开发人员可以在该组件添加界面上配置待添加的业务组件的组件标识和版本号,同时确定是否启用业务组件,比如通过勾选启用开关确定启用业务组件,通过取消勾选启用开关确定不启用业务组件,在该组件添加界面上确认后,可以在组件配置区域的配置记录中查看到该所配置的待添加的业务组件。
因此,如图14,可以切换显示至应用处理界面(界面120a),在应用处理界面的模式选择区域处于应用开发模式时,此时应用处理界面上的构建控件为应用构建控件,通过触控该应用构建控件可以查看针对不同格式的应用构建控件,比如包括针对第二格式(如iOS格式)的应用构建控件127c(如为“构建格式1应用”控件)、针对第二格式(如Android格式)的应用构建控件128c(如为“构建格式2应用”控件)。此时,通过触控“构建格式1应用”控件,可以从配置记录中确定要启用的第二格式(格式1)的业务组件129c,并在对要启用的第二格式(格式1)的业务组件进行校验成功后,从多端应用平台上所发布的业务组件中获取相应的第二格式(格式1)的业务组件,并基于目标应用处理文件1210c、所获取到的第二格式(格式1)的业务组件和第二应用的应用工具包1211c(即格式1的应用工具包)生成第二格式(格式1)的第二应用1212c。也就是说,在生成第二格式(格式1)的第二应用的应用程序文件(如IPA文件,一种iOS应用程序包的文件格式。IPA文件包含应用程序的所有代码、资源、元数据和签名,它是用于在第二格式设备(iOS运行环境的设备)上安装和部署应用程序的标准格式)时,将所获取到的第二格式(格式1)的业务组件一并编译到该应用程序文件中。
又如,如图15所示,图15是本申请实施例提供的一种第二应用的生成场景示意图;其中,开发人员A在多端应用平台上打开第一应用的应用处理界面,并在应用处理界面上开发组件配置源码,并基于组件配置源码构建(S51)业务组件,将业务组件发布(S52)显示在多端应用平台上;此时开发人员可以在应用处理界面配置目标应用处理文件,并配置待添加的业务组件,此时在构建第二应用时,对待添加的业务组件进行校验,且在校验成功后,从多端应用平台所发布的业务组件上获取(S53)相应待添加的业务组件,进而可以基于获取到的业务组件151a、目标应用处理文件152a和用于安装到第二应用的应用工具包153a(同样可以从多端应用平台上获取,如为多端应用平台上的官方发布的应用工具包)编译生成(S54)第二应用154a。
可以理解,在第一应用为小程序时,小程序的所有业务依赖于小程序工具包提供,相应生成的第二应用(如iOS应用)的所有业务依赖于iOS工具包提供。并且,应用工具包中所集成的业务无法实现热拔插,如果要在应用工具包中新增业务,则势必为增加应用工具包的体积,从而会提升对应生成的第二应用的包体积。当第二应用中的应用工具包可能是通用的应用工具包,所提供的新增业务可能是当前的第二应用不需要的。因此可以将需要新增的业务进行组件资源化,这样,开发人员在生成第二应用时,可以选择不将该新增业务对应的业务组件配置到第二应用中,这样,所生成的第二应用不会被不需要的业务占用包体积,从而优化第二应用的包体积占用大小。此外,开发人员可以在任意时刻确定调整要启用或不启用的业务组件,这样在构建第二应用时,需要的业务组件会以一定的规则被编译进第二应用中,在第二应用运行的任意时刻都能发起调用。也就是说,可以在第二应用中随时添加或去掉业务组件,实现了业务组件的热拔插,即可在第二应用中实现任意原生业务或拓展业务的热插拔。
本申请实施例中,在模式选择区域中,将组件开发模式切换至用于开发第二应用的应用开发模式,在应用处理文件中配置源码调用语句对应的第一组件处理方法和业务执行方法对应的第二组件处理方法,得到目标应用处理文件,在应用处理界面中,显示与第二应用相关联的应用配置区域,在应用处理界面中,显示与应用开发模式相关联的应用构建控件,响应于针对应用构建控件的触发操作,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件,并基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。其中,应用工具包可以建立与业务组件之间的通信信道,所得到的第二应用在运行时,可以通过建立的通信信道调用业务组件执行组件业务。也就是说,可以针对某个业务(业务A)生成对应的业务组件,并将业务组件安装到第二应用中,这样可以通过建立第二应用中的应用工具包和业务组件之间的通信信道就使得第二应用使用业务组件所提供的业务A,而不受第二应用的应用工具包自身所提供的业务的限制,即实现了应用工具包的业务扩展,由此,在开发得到第二应用时可以更加便捷的使得所生成的第二应用实现一些自定义业务,进而提升应用开发的灵活性,无需从头开发一个可以为第二应用提供所有所需业务的应用工具包,提升应用开发效率,也就是说,可以在生成第一应用对应的第二应用时,可以通过开发指定业务的业务组件确保在多端应用中特定应用(例如,第二应用)上的业务的执行成功率,即可以将第一应用中的业务成功共享给第二应用。
进一步的,请参见图16,图16是本申请实施例提供的一种基于多端应用平台的数据处理方法的流程示意图,如图16所示,方法可以由上述提及的计算机设备来执行,计算机设备可以是配置有第二应用的业务终端,比如,该业务终端可以为上述图1所示的业务终端200b。方法具体可以包括以下步骤S301-步骤S303:
S301、在第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用业务组件的业务参数。
其中,第二应用在运行时(可以理解,第二应用基于目标应用处理文件运行),可以触发组件业务,此时需要通过组件业务对应的业务组件执行该组件业务。其中,第二应用的构建方式可以参见上述实施例的相关描述。
其中,业务组件是在多端应用平台上基于组件配置源码所构建得到的;组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;源码调用语句配置操作对应的源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;组件开发模式是多端应用平台上显示的第一应用的应用处理界面中的模式;组件开发模式是在创建与业务组件相关联的组件目录文件时所显示的;组件项目文件属于组件目录文件。业务组件的构建方式可以参见上述实施例的相关描述,在此不做赘述。
其中,根据上述实施例可知,组件配置源码包括针对组件业务的业务执行方法,由目标应用处理文件所确定的第二应用包括业务执行方法对应的第二组件处理方法,该第二组件处理方法中定义了业务执行方法所需的方法参数(即入参,也就是调用业务组件的业务参数,也即调用业务组件中的业务执行方法的业务参数)的获取方式,因此可以从第二组件处理方法中获取用于调用业务组件的业务参数。该业务参数用于指示业务组件调用业务执行方法执行组件业务。
S302、将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于第二应用的应用工具包与业务组件之间建立的通信信道所指示的通信关系,将业务参数传入业务组件。
因此,第二应用可以将业务参数传入第二应用中的应用工具包,第二应用中的应用工具包通过建立的通信信道所指示的通信关系传入业务参数给业务组件。此时业务组件基于业务参数调用对应的业务执行方法执行组件业务,得到组件业务对应的业务执行结果,业务组件可以通过通信信道所指示的通信关系将业务执行结果返回给第二应用的应用工具包。
其中,可以理解,通信信道是在第二应用的应用工具包加载业务组件时基于业务组件中的源码调用语句所建立的。也就是说,在首次触发组件业务时,需要先建立通信信道。这样,后续可以在任意时刻基于该通信信道实现第二应用与业务组件之间的数据通信。
其中,第二应用包括源码调用语句对应的第一组件处理方法,以用于建立通信信道。其具体可以是:基于第一组件处理方法,调用第二应用的应用工具包加载业务组件,并通知业务组件调用源码调用语句进行组件实例化;在组件实例化完成时,得到第二应用的应用工具包与业务组件之间的通信信道。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码,组件实例化可以是:从第一组件处理方法中获取业务组件的组件标识;将组件标识传入第二应用的应用工具包,以使第二应用的应用工具包基于组件标识加载业务组件,并通知业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
可以理解,第二应用执行第一组件处理方法,以传递组件标识给第二应用的应用工具包,以使得第二应用的应用工具包基于组件标识加载业务组件,并通知业务组件进行组件实例化(其中包括组件注册和组件初始化)。可以理解,当业务组件进行组件实例化后,返回业务组件的组件对象(即组件实例化对象,也就是在上述目标组件注册源码中定义的组件对象在实例化后所返回的信息,该返回的信息可配置为固定参数,如“plugin”),第二应用的应用工具包在接收到组件实例化对象时,将组件实例化对象返回给第二应用,第二应用可以将组件实例化对象进行存储,该表示第二应用的应用工具包与业务组件之间的通信信道建立完成,即业务组件加载完成,该通信信道可用于第二应用与业务组件之间的数据交互。此时第二应用在将组件实例化对象进行存储后,则可以实现组件实例化对象所暴露出的方法,即从第二组件处理方法中获取组件实例化对象所暴露出的方法的方法参数,以基于该方法参数使用组件实例化对象所暴露出的方法。
S303、显示由第二应用中的应用工具包所返回的业务执行结果。
其中,第二应用可以接收第二应用的应用工具包返回的业务执行结果,并输出显示。
可以理解,当第二应用触发了无需调用业务组件才能执行的业务(工具包业务)时,第二应用是通过调用第二应用的应用工具包执行工具包业务,并显示由第二应用的应用工具包所返回的工具包业务的业务执行结果。
其中,当第二应用触发了需调用业务组件才能执行的业务(组件业务)时,第二应用是通过调用第二应用的应用工具包与业务组件建立通信信道的方式,由第二应用的应用工具包基于通信信道,触发业务组件调用业务执行方法执行组件业务,同时业务组件在得到业务执行结果后返回给第二应用的应用工具包,由第二应用的应用工具包将业务执行结果返回给第二应用。
例如,如图17所示,图17是本申请实施例提供的一种业务执行的交互流程示意图;其中,目标应用处理文件、应用工具包和业务组件编译得到第二应用,基于目标应用处理文件运行第二应用,此时:S61、第二应用在运行时,若触发业务组件对应的业务控件,则从针对组件业务对应的业务组件的第一组件处理方法中获取业务组件的组件标识;S62、第二应用将组件标识传入第二应用的应用工具包;S63、应用工具包基于组件标识加载业务组件;此时业务组件进行组件实例化,其包括组件注册和组件初始化;S64、业务组件在组件实例化完成后,返回组件实例化对象给应用工具包;S65、应用工具包可以将组件实例化对象返回给第二应用;此时第二应用将组件实例化对象进行存储,该表示业务组件加载完成,建立得到应用工具包与业务组件之间的通信信道,并且,第二应用可以使用组件实例化对象所暴露出的业务执行方法;S66、第二应用从针对组件业务对应的业务组件的第二组件处理方法中获取用于调用业务执行方法的业务参数,并将业务参数传入应用工具包;S67、应用工具包基于与业务组件之间的通信信道,将业务参数传入业务组件;此时业务组件基于业务参数调用对应的业务执行方法执行组件业务,得到业务执行结果;S68、业务组件将业务执行结果返回给应用工具包;S69、应用工具包将业务执行结果返回给第二应用;S610、第二应用显示业务执行结果,表示组件业务执行完成。
也就是说,第二应用的行为层(Javascript层)执行第一组件处理方法,传入相关参数(如组件标识)给第二应用的应用工具包,第二应用的应用工具包基于组件标识加载业务组件以使业务组件进行一系列实例化业务组件的操作,例如:组件注册、组件初始化等。当业务组件完成实例化之后,返回组件实例化对象,此时表示已建立业务组件与第二应用的应用工具包之间的通信通道(即第二应用可通知第二应用的应用工具包基于通信信道调用业务组件)。此时,第二应用的行为层可调用组件实例化对象暴露出的所有业务执行方法,即通过第二应用的应用工具包使用该业务执行方法。
本申请实施例中,在第二应用运行时,响应于针对组件业务的触发操作,获取用于调用业务组件的业务参数,将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于第二应用的应用工具包与业务组件之间建立的通信信道所指示的通信关系,将业务参数传入业务组件,以使业务组件基于业务参数执行组件业务,第二应用显示由应用工具包所返回的业务执行结果。其中,应用工具包可以建立与业务组件之间的通信信道,第二应用在运行时,可以通过建立的通信信道调用业务组件执行组件业务。也就是说,可以针对某个业务(业务A)生成对应的业务组件,并将业务组件安装到第二应用中,这样可以通过建立第二应用中的应用工具包和业务组件之间的通信信道就使得第二应用使用业务组件所提供的业务A,而不受第二应用的应用工具包自身所提供的业务的限制,即实现了应用工具包的业务扩展,由此,在开发得到第二应用时可以更加便捷的使得所生成的第二应用实现一些自定义业务,进而提升应用开发的灵活性,无需从头开发一个可以为第二应用提供所有所需业务的应用工具包,提升应用开发效率,也就是说,可以在生成第一应用对应的第二应用时,可以通过开发指定业务的业务组件确保在多端应用中特定应用(例如,第二应用)上的业务的执行成功率,即可以将第一应用中的业务成功共享给第二应用。
进一步的,请参见图18,图18是本申请实施例提供的一种基于多端应用平台的数据处理装置的结构示意图。如图18所示,基于多端应用平台的数据处理装置1可以包括:数据显示模块11、组件文件显示模块12、组件源码配置模块13、组件构建模块14、多端应用开发模块15;其中:
数据显示模块11,用于在多端应用平台上显示第一应用的应用处理界面,在应用处理界面所包含的项目列表中显示业务创建控件;
数据显示模块11,还用于响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面;业务创建界面用于显示待创建的业务组件的组件配置信息;组件配置信息中包含业务组件的组件标识和项目地址;项目地址为第一应用中的应用项目文件所关联的地址;
组件文件显示模块12,用于响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对应用处理界面中的模式选择区域的模式切换操作,在应用处理界面上显示用于开发业务组件的组件开发模式,并在组件开发模式下显示与业务组件相关联的组件目录文件;组件目录文件为项目地址所对应的应用项目文件中的文件;组件目录文件中包含业务组件的组件项目文件,组件项目文件中的组件源码为携带组件标识的模板组件源码;
组件文件显示模块12,还用于响应于针对组件项目文件的文件打开操作,显示模板组件源码;
组件源码配置模块13,用于响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句,得到业务组件的组件配置源码;源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;
组件构建模块14,用于基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上;业务组件用于在第二应用运行时,通过建立的通信信道所指示的通信关系,执行业务组件的组件业务。
其中,模板组件源码包括针对业务组件的模板组件注册源码和模板组件初始化源码;
组件源码配置模块13包括:
注册源码配置单元131,用于响应于针对模板组件注册源码的注册源码配置操作,得到针对业务组件的目标组件注册源码;目标组件注册源码用于调用模板组件初始化源码;
配置源码确定单元132,用于基于目标组件注册源码确定源码调用语句。
其中,配置源码确定单元132包括:
执行方法配置子单元1321,用于响应于针对组件业务的执行方法配置操作,得到针对组件业务的业务执行方法;
配置源码确定子单元1322,用于基于模板组件初始化源码、源码调用语句和业务执行方法,得到业务组件的组件配置源码。
其中,应用处理界面中显示有与组件开发模式相关联的调试语句构建控件,以及显示有与组件开发模式相关联的组件调试区域;组件调试区域包括组件加载控件;
组件构建模块14还包括:
测试组件构建单元141,用于响应于针对调试语句构建控件的触发操作,生成组件调试源码;
测试组件构建单元141,还用于响应于针对组件加载控件的触发操作,基于组件配置源码构建得到测试业务组件;
测试组件调试单元142,用于在组件调试区域对应的组件调试程序中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化;
测试组件调试单元142,还用于在组件实例化完成时,得到组件调试程序与测试业务组件之间的测试通信信道;测试通信信道用于调试测试业务组件。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
测试组件调试单元142包括:
测试组件实例子单元1421,用于在组件调试程序中,基于组件调试源码加载测试业务组件,并通知测试业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;组件调试区域包括组件调用控件;
测试组件调试单元142还包括:
测试组件调用子单元1422,用于响应于针对组件调用控件的触发操作,从组件调试源码中获取用于调用业务执行方法的测试业务参数;
测试组件调用子单元1422,还用于在组件调试程序中,通过建立的测试通信信道所指示的测试通信关系,将测试业务参数传入测试业务组件,以使测试业务组件基于测试业务参数调用业务执行方法,执行组件业务,得到组件业务对应的测试执行结果;
测试组件调用子单元1422,还用于基于测试执行结果确定测试业务组件调试完成。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
组件构建模块14包括:
组件构建单元143,用于在应用处理界面中,显示与组件开发模式相关联的组件构建控件;
组件构建单元143,还用于在测试业务组件调试完成后,响应于针对组件构建控件的触发操作,基于模板组件初始化源码、源码调用语句和业务执行方法构建得到业务组件。
其中,组件配置源码包括针对组件业务的业务执行方法;应用项目文件包括第一应用的应用处理文件;
装置1还包括:
多端应用开发模块15,用于在模式选择区域中,将组件开发模式切换至用于开发第二应用的应用开发模式;应用开发模式下显示有应用处理文件;
多端应用开发模块15,还用于在应用处理文件中配置源码调用语句对应的第一组件处理方法和业务执行方法对应的第二组件处理方法,得到目标应用处理文件;第一组件处理方法用于指示第二应用的应用工具包通知业务组件执行源码调用语句;第二组件处理方法用于指示第二应用的应用工具包通知业务组件,执行业务执行方法;目标应用处理文件用于生成第二应用。
其中,多端应用开发模块15还包括:
组件添加单元151,用于在应用处理界面中,显示与第二应用相关联的应用配置区域;应用配置区域包括与应用开发模式相关联的组件添加控件;
组件添加单元151,还用于响应于针对组件添加控件的触发操作,显示组件添加控件对应的组件添加界面;组件添加界面用于配置待添加的业务组件的组件标识;
应用构建单元152,用于在应用处理界面中,显示与应用开发模式相关联的应用构建控件;
应用构建单元152,还用于响应于针对应用构建控件的触发操作,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件,并基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。
其中,组件配置信息中包含业务组件所关联的应用标识;
应用构建单元152具体用于:
若业务组件所关联的应用标识与第二应用的应用标识一致,则从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件。
其中,数据显示模块11、组件文件显示模块12、组件源码配置模块13、组件构建模块14、多端应用开发模块15的具体实现方式,可以参见上述实施例中的相关描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
进一步的,请参见图19,图19是本申请实施例提供的一种基于多端应用平台的数据处理装置的结构示意图。如图19所示,基于多端应用平台的数据处理装置2可以包括:业务参数获取模块21、业务处理模块22、结果显示模块23、组件加载模块24;其中:
业务参数获取模块21,用于在第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用业务组件的业务参数;业务组件是在多端应用平台上基于组件配置源码所构建得到的;组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;源码调用语句配置操作对应的源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;组件开发模式是多端应用平台上显示的第一应用的应用处理界面中的模式;组件开发模式是在创建与业务组件相关联的组件目录文件时所显示的;组件项目文件属于组件目录文件;
业务处理模块22,用于将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于建立的通信信道所指示的通信关系,将业务参数传入业务组件,以使业务组件基于业务参数执行组件业务,得到组件业务对应的业务执行结果,并通过通信信道所指示的通信关系将业务执行结果返回给第二应用的应用工具包;通信信道是在第二应用的应用工具包加载业务组件时基于业务组件中的源码调用语句所建立的;
结果显示模块23,用于显示由第二应用中的应用工具包所返回的业务执行结果。
其中,第二应用包括源码调用语句对应的第一组件处理方法;
装置2还包括:
组件加载模块24,用于基于第一组件处理方法,调用第二应用的应用工具包加载业务组件,并通知业务组件调用源码调用语句进行组件实例化;
组件加载模块24,用于在组件实例化完成时,得到第二应用的应用工具包与业务组件之间的通信信道。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
组件加载模块24具体用于:
从第一组件处理方法中获取业务组件的组件标识;
将组件标识传入第二应用的应用工具包,以使第二应用的应用工具包基于组件标识加载业务组件,并通知业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;第二应用包括业务执行方法对应的第二组件处理方法;
业务参数获取模块21具体用于:
从第二组件处理方法中获取用于调用业务组件的业务参数;业务参数用于指示业务组件调用业务执行方法执行组件业务。
其中,业务参数获取模块21、业务处理模块22、结果显示模块23、组件加载模块24的具体实现方式,可以参见上述实施例中的相关描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
进一步地,请参见图20,图20是本申请实施例提供的一种计算机设备的结构示意图。如图20所示,该计算机设备2000可以为终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为服务器为例,该计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,该计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图20所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
其中,该计算机设备2000中的网络接口2004还可以提供网络数据交互功能。在图20所示的计算机设备2000中,网络接口2004可提供网络数据交互功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的计算机程序,以执行上述图4、图11和图16所对应实施例中对基于多端应用平台的数据处理方法的描述,还可以执行前文图18所对应实施例中对基于多端应用平台的数据处理装置1以及图19所对应实施例中对基于多端应用平台的数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
在一个可能的实施方式中,存储器2005用于存储计算机程序。处理器2001可以调用计算机程序,执行以下步骤:
在多端应用平台上显示第一应用的应用处理界面,在应用处理界面所包含的项目列表中显示业务创建控件;
响应于针对业务创建控件的触发操作,显示业务创建控件对应的业务创建界面;业务创建界面用于显示待创建的业务组件的组件配置信息;组件配置信息中包含业务组件的组件标识和项目地址;项目地址为第一应用中的应用项目文件所关联的地址;
响应于针对组件配置信息的确认操作,将业务创建界面切换回应用处理界面,响应于针对应用处理界面中的模式选择区域的模式切换操作,在应用处理界面上显示用于开发业务组件的组件开发模式,并在组件开发模式下显示与业务组件相关联的组件目录文件;组件目录文件为项目地址所对应的应用项目文件中的文件;组件目录文件中包含业务组件的组件项目文件,组件项目文件中的组件源码为携带组件标识的模板组件源码;
响应于针对组件项目文件的文件打开操作,显示模板组件源码;
响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句,基于模板组件源码和源码调用语句,得到业务组件的组件配置源码;源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;
基于组件配置源码构建得到业务组件,将业务组件发布显示在多端应用平台上;业务组件用于在第二应用运行时,通过建立的通信信道所指示的通信关系,执行业务组件的组件业务。
其中,模板组件源码包括针对业务组件的模板组件注册源码和模板组件初始化源码;
处理器2001在用于响应于针对模板组件源码的源码调用语句配置操作,得到模板组件源码所关联的源码调用语句时,具体用于:
响应于针对模板组件注册源码的注册源码配置操作,得到针对业务组件的目标组件注册源码;目标组件注册源码用于调用模板组件初始化源码;
基于目标组件注册源码确定源码调用语句。
其中,处理器2001在用于基于模板组件源码和源码调用语句,得到业务组件的组件配置源码时,具体用于:
响应于针对组件业务的执行方法配置操作,得到针对组件业务的业务执行方法;
基于模板组件初始化源码、源码调用语句和业务执行方法,得到业务组件的组件配置源码。
其中,应用处理界面中显示有与组件开发模式相关联的调试语句构建控件,以及显示有与组件开发模式相关联的组件调试区域;组件调试区域包括组件加载控件;
处理器2001还用于:
响应于针对调试语句构建控件的触发操作,生成组件调试源码;
响应于针对组件加载控件的触发操作,基于组件配置源码构建得到测试业务组件;
在组件调试区域对应的组件调试程序中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化;
在组件实例化完成时,得到组件调试程序与测试业务组件之间的测试通信信道;测试通信信道用于调试测试业务组件。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
处理器2001在用于在组件调试区域对应的组件调试程序中,基于组件调试源码通知测试业务组件通过组件配置源码进行组件实例化时,具体用于:
在组件调试程序中,基于组件调试源码加载测试业务组件,并通知测试业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;组件调试区域包括组件调用控件;
处理器2001还用于:
响应于针对组件调用控件的触发操作,从组件调试源码中获取用于调用业务执行方法的测试业务参数;
在组件调试程序中,通过建立的测试通信信道所指示的测试通信关系,将测试业务参数传入测试业务组件,以使测试业务组件基于测试业务参数调用业务执行方法,执行组件业务,得到组件业务对应的测试执行结果;
基于测试执行结果确定测试业务组件调试完成。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
处理器2001在用于基于组件配置源码构建得到业务组件时,具体用于:
在应用处理界面中,显示与组件开发模式相关联的组件构建控件;
在测试业务组件调试完成后,响应于针对组件构建控件的触发操作,基于模板组件初始化源码、源码调用语句和业务执行方法构建得到业务组件。
其中,组件配置源码包括针对组件业务的业务执行方法;应用项目文件包括第一应用的应用处理文件;
处理器2001还用于:
在模式选择区域中,将组件开发模式切换至用于开发第二应用的应用开发模式;应用开发模式下显示有应用处理文件;
在应用处理文件中配置源码调用语句对应的第一组件处理方法和业务执行方法对应的第二组件处理方法,得到目标应用处理文件;第一组件处理方法用于指示第二应用的应用工具包通知业务组件执行源码调用语句;第二组件处理方法用于指示第二应用的应用工具包通知业务组件,执行业务执行方法;目标应用处理文件用于生成第二应用。
其中,处理器2001还用于:
在应用处理界面中,显示与第二应用相关联的应用配置区域;应用配置区域包括与应用开发模式相关联的组件添加控件;
响应于针对组件添加控件的触发操作,显示组件添加控件对应的组件添加界面;组件添加界面用于配置待添加的业务组件的组件标识;
在应用处理界面中,显示与应用开发模式相关联的应用构建控件;
响应于针对应用构建控件的触发操作,从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件,并基于目标应用处理文件、第二应用的应用工具包和从多端应用平台上获取到的业务组件,生成第二应用。
其中,组件配置信息中包含业务组件所关联的应用标识;
处理器2001在用于从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件时,具体用于:
若业务组件所关联的应用标识与第二应用的应用标识一致,则从多端应用平台上获取在组件添加界面中所配置的组件标识对应的业务组件。
在一个可能的实施方式中,存储器2005用于存储计算机程序。处理器2001可以调用计算机程序,执行以下步骤:
在第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用业务组件的业务参数;业务组件是在多端应用平台上基于组件配置源码所构建得到的;组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;源码调用语句配置操作对应的源码调用语句用于建立第二应用的应用工具包与业务组件之间的通信信道;模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;组件开发模式是多端应用平台上显示的第一应用的应用处理界面中的模式;组件开发模式是在创建与业务组件相关联的组件目录文件时所显示的;组件项目文件属于组件目录文件;
将业务参数传入第二应用中的应用工具包,由第二应用的应用工具包基于建立的通信信道所指示的通信关系,将业务参数传入业务组件,以使业务组件基于业务参数执行组件业务,得到组件业务对应的业务执行结果,并通过通信信道所指示的通信关系将业务执行结果返回给第二应用的应用工具包;通信信道是在第二应用的应用工具包加载业务组件时基于业务组件中的源码调用语句所建立的;
显示由第二应用中的应用工具包所返回的业务执行结果。
其中,第二应用包括源码调用语句对应的第一组件处理方法;
处理器2001还用于:
基于第一组件处理方法,调用第二应用的应用工具包加载业务组件,并通知业务组件调用源码调用语句进行组件实例化;
在组件实例化完成时,得到第二应用的应用工具包与业务组件之间的通信信道。
其中,组件配置源码包括模板组件源码中的模板组件初始化源码;
处理器2001在用于基于第一组件处理方法,调用第二应用的应用工具包加载业务组件,并通知业务组件调用源码调用语句进行组件实例化时,具体用于:
从第一组件处理方法中获取业务组件的组件标识;
将组件标识传入第二应用的应用工具包,以使第二应用的应用工具包基于组件标识加载业务组件,并通知业务组件调用源码调用语句进行组件注册,且在组件注册后,调用模板组件初始化源码进行组件初始化。
其中,组件配置源码包括针对组件业务的业务执行方法;第二应用包括业务执行方法对应的第二组件处理方法;
处理器2001在用于获取用于调用业务组件的业务参数时,具体用于:
从第二组件处理方法中获取用于调用业务组件的业务参数;业务参数用于指示业务组件调用业务执行方法执行组件业务。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于多端应用平台的数据处理装置1和基于多端应用平台的数据处理装置2所执行的计算机程序,当处理器执行该计算机程序时,能够执行前文图4、图11和图16所对应实施例中对基于多端应用平台的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
此外,需要说明的是:根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序由处理器执行时实现本申请实施例中上述任一方面提供的方法。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器可以执行该计算机程序,使得该计算机设备执行前文图4、图11和图16所对应实施例中对基于多端应用平台的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (19)
1.一种基于多端应用平台的数据处理方法,其特征在于,所述多端应用平台上的多端应用包括第一应用和第二应用,所述方法包括:
在所述多端应用平台上显示所述第一应用的应用处理界面,在所述应用处理界面所包含的项目列表中显示业务创建控件;
响应于针对所述业务创建控件的触发操作,显示所述业务创建控件对应的业务创建界面;所述业务创建界面用于显示待创建的业务组件的组件配置信息;所述组件配置信息中包含所述业务组件的组件标识和项目地址;所述项目地址为所述第一应用中的应用项目文件所关联的地址;
响应于针对所述组件配置信息的确认操作,将所述业务创建界面切换回所述应用处理界面,响应于针对所述应用处理界面中的模式选择区域的模式切换操作,在所述应用处理界面上显示用于开发所述业务组件的组件开发模式,并在所述组件开发模式下显示与所述业务组件相关联的组件目录文件;所述组件目录文件为所述项目地址所对应的应用项目文件中的文件;所述组件目录文件中包含所述业务组件的组件项目文件,所述组件项目文件中的组件源码为携带所述组件标识的模板组件源码;
响应于针对所述组件项目文件的文件打开操作,显示所述模板组件源码;
响应于针对所述模板组件源码的源码调用语句配置操作,得到所述模板组件源码所关联的源码调用语句,基于所述模板组件源码和所述源码调用语句,得到所述业务组件的组件配置源码;所述源码调用语句用于建立所述第二应用的应用工具包与所述业务组件之间的通信信道;所述源码调用语句为适配于所述业务组件的目标组件注册源码,所述模板组件源码包括针对所述业务组件的模板组件注册源码,所述目标组件注册源码为在所述模板组件注册源码的基础上,对所述业务组件进行源码配置、得到的源码配置后的模板组件注册源码;所述源码调用语句配置操作包括所述源码配置;
基于所述组件配置源码构建得到所述业务组件,将所述业务组件发布显示在所述多端应用平台上;所述业务组件用于在所述第二应用运行时,通过建立的所述通信信道所指示的通信关系,执行所述业务组件的组件业务。
2.根据权利要求1所述的方法,其特征在于,所述模板组件源码包括针对所述业务组件的模板组件初始化源码;
所述响应于针对所述模板组件源码的源码调用语句配置操作,得到所述模板组件源码所关联的源码调用语句,包括:
响应于针对所述模板组件注册源码的注册源码配置操作,得到针对所述业务组件的目标组件注册源码;所述目标组件注册源码用于调用所述模板组件初始化源码;
基于所述目标组件注册源码确定所述源码调用语句。
3.根据权利要求2所述的方法,其特征在于,所述基于所述模板组件源码和所述源码调用语句,得到所述业务组件的组件配置源码,包括:
响应于针对所述组件业务的执行方法配置操作,得到针对所述组件业务的业务执行方法;
基于所述模板组件初始化源码、所述源码调用语句和所述业务执行方法,得到所述业务组件的组件配置源码。
4.根据权利要求1所述的方法,其特征在于,所述应用处理界面中显示有与所述组件开发模式相关联的调试语句构建控件,以及显示有与所述组件开发模式相关联的组件调试区域;所述组件调试区域包括组件加载控件;
所述方法还包括:
响应于针对所述调试语句构建控件的触发操作,生成组件调试源码;
响应于针对所述组件加载控件的触发操作,基于所述组件配置源码构建得到测试业务组件;
在所述组件调试区域对应的组件调试程序中,基于所述组件调试源码通知所述测试业务组件通过所述组件配置源码进行组件实例化;
在组件实例化完成时,得到所述组件调试程序与所述测试业务组件之间的测试通信信道;所述测试通信信道用于调试所述测试业务组件。
5.根据权利要求4所述的方法,其特征在于,所述组件配置源码包括所述模板组件源码中的模板组件初始化源码;
所述在所述组件调试区域对应的组件调试程序中,基于所述组件调试源码通知所述测试业务组件通过所述组件配置源码进行组件实例化,包括:
在所述组件调试程序中,基于所述组件调试源码加载所述测试业务组件,并通知所述测试业务组件调用所述源码调用语句进行组件注册,且在组件注册后,调用所述模板组件初始化源码进行组件初始化。
6.根据权利要求4所述的方法,其特征在于,所述组件配置源码包括针对所述组件业务的业务执行方法;所述组件调试区域包括组件调用控件;
所述方法还包括:
响应于针对所述组件调用控件的触发操作,从所述组件调试源码中获取用于调用所述业务执行方法的测试业务参数;
在所述组件调试程序中,通过建立的所述测试通信信道所指示的测试通信关系,将所述测试业务参数传入所述测试业务组件,以使所述测试业务组件基于所述测试业务参数调用所述业务执行方法,执行所述组件业务,得到所述组件业务对应的测试执行结果;
基于所述测试执行结果确定所述测试业务组件调试完成。
7.根据权利要求6所述的方法,其特征在于,所述组件配置源码包括所述模板组件源码中的模板组件初始化源码;
所述基于所述组件配置源码构建得到所述业务组件,包括:
在所述应用处理界面中,显示与所述组件开发模式相关联的组件构建控件;
在所述测试业务组件调试完成后,响应于针对所述组件构建控件的触发操作,基于所述模板组件初始化源码、所述源码调用语句和所述业务执行方法构建得到所述业务组件。
8.根据权利要求1所述的方法,其特征在于,所述组件配置源码包括针对所述组件业务的业务执行方法;所述应用项目文件包括所述第一应用的应用处理文件;
所述方法还包括:
在所述模式选择区域中,将所述组件开发模式切换至用于开发所述第二应用的应用开发模式;所述应用开发模式下显示有所述应用处理文件;
在所述应用处理文件中配置所述源码调用语句对应的第一组件处理方法和所述业务执行方法对应的第二组件处理方法,得到目标应用处理文件;所述第一组件处理方法用于指示所述第二应用的应用工具包通知所述业务组件执行所述源码调用语句;所述第二组件处理方法用于指示所述第二应用的应用工具包通知所述业务组件,执行所述业务执行方法;所述目标应用处理文件用于生成所述第二应用。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述应用处理界面中,显示与所述第二应用相关联的应用配置区域;所述应用配置区域包括与所述应用开发模式相关联的组件添加控件;
响应于针对所述组件添加控件的触发操作,显示所述组件添加控件对应的组件添加界面;所述组件添加界面用于配置待添加的业务组件的组件标识;
在所述应用处理界面中,显示与所述应用开发模式相关联的应用构建控件;
响应于针对所述应用构建控件的触发操作,从所述多端应用平台上获取在所述组件添加界面中所配置的组件标识对应的业务组件,并基于所述目标应用处理文件、所述第二应用的应用工具包和从所述多端应用平台上获取到的业务组件,生成所述第二应用。
10.根据权利要求9所述的方法,其特征在于,所述组件配置信息中包含所述业务组件所关联的应用标识;
所述从所述多端应用平台上获取在所述组件添加界面中所配置的组件标识对应的业务组件,包括:
若所述业务组件所关联的应用标识与所述第二应用的应用标识一致,则从所述多端应用平台上获取在所述组件添加界面中所配置的组件标识对应的业务组件。
11.一种基于多端应用平台的数据处理方法,其特征在于,所述多端应用平台上的多端应用包括第一应用和第二应用,所述方法包括:
在所述第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用所述业务组件的业务参数;所述业务组件是在所述多端应用平台上基于组件配置源码所构建得到的;所述组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;所述源码调用语句配置操作对应的源码调用语句用于建立所述第二应用的应用工具包与所述业务组件之间的通信信道;所述源码调用语句为适配于所述业务组件的目标组件注册源码,所述模板组件源码包括针对所述业务组件的模板组件注册源码,所述目标组件注册源码为在所述模板组件注册源码的基础上,对所述业务组件进行源码配置、得到的源码配置后的模板组件注册源码;所述源码调用语句配置操作包括所述源码配置;所述模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;所述组件开发模式是所述多端应用平台上显示的所述第一应用的应用处理界面中的模式;所述组件开发模式是在创建与所述业务组件相关联的组件目录文件时所显示的;所述组件项目文件属于所述组件目录文件;
将所述业务参数传入所述第二应用中的应用工具包,由所述第二应用的应用工具包基于建立的所述通信信道所指示的通信关系,将所述业务参数传入所述业务组件,以使所述业务组件基于所述业务参数执行组件业务,得到所述组件业务对应的业务执行结果,并通过所述通信信道所指示的通信关系将所述业务执行结果返回给所述第二应用的应用工具包;所述通信信道是在所述第二应用的应用工具包加载所述业务组件时基于所述业务组件中的所述源码调用语句所建立的;
显示由所述第二应用中的应用工具包所返回的所述业务执行结果。
12.根据权利要求11所述的方法,其特征在于,所述第二应用包括所述源码调用语句对应的第一组件处理方法;
所述方法还包括:
基于所述第一组件处理方法,调用所述第二应用的应用工具包加载所述业务组件,并通知所述业务组件调用所述源码调用语句进行组件实例化;
在组件实例化完成时,得到所述第二应用的应用工具包与所述业务组件之间的通信信道。
13.根据权利要求12所述的方法,其特征在于,所述组件配置源码包括所述模板组件源码中的模板组件初始化源码;
所述基于所述第一组件处理方法,调用所述第二应用的应用工具包加载所述业务组件,并通知所述业务组件调用所述源码调用语句进行组件实例化,包括:
从所述第一组件处理方法中获取所述业务组件的组件标识;
将所述组件标识传入所述第二应用的应用工具包,以使所述第二应用的应用工具包基于所述组件标识加载所述业务组件,并通知所述业务组件调用所述源码调用语句进行组件注册,且在组件注册后,调用所述模板组件初始化源码进行组件初始化。
14.根据权利要求11所述的方法,其特征在于,所述组件配置源码包括针对所述组件业务的业务执行方法;所述第二应用包括所述业务执行方法对应的第二组件处理方法;
所述获取用于调用所述业务组件的业务参数,包括:
从所述第二组件处理方法中获取用于调用所述业务组件的业务参数;所述业务参数用于指示所述业务组件调用所述业务执行方法执行所述组件业务。
15.一种基于多端应用平台的数据处理装置,其特征在于,所述多端应用平台上的多端应用包括第一应用和第二应用,所述装置包括:
数据显示模块,用于在所述多端应用平台上显示所述第一应用的应用处理界面,在所述应用处理界面所包含的项目列表中显示业务创建控件;
所述数据显示模块,还用于响应于针对所述业务创建控件的触发操作,显示所述业务创建控件对应的业务创建界面;所述业务创建界面用于显示待创建的业务组件的组件配置信息;所述组件配置信息中包含所述业务组件的组件标识和项目地址;所述项目地址为所述第一应用中的应用项目文件所关联的地址;
组件文件显示模块,用于响应于针对所述组件配置信息的确认操作,将所述业务创建界面切换回所述应用处理界面,响应于针对所述应用处理界面中的模式选择区域的模式切换操作,在所述应用处理界面上显示用于开发所述业务组件的组件开发模式,并在所述组件开发模式下显示与所述业务组件相关联的组件目录文件;所述组件目录文件为所述项目地址所对应的应用项目文件中的文件;所述组件目录文件中包含所述业务组件的组件项目文件,所述组件项目文件中的组件源码为携带所述组件标识的模板组件源码;
所述组件文件显示模块,还用于响应于针对所述组件项目文件的文件打开操作,显示所述模板组件源码;
组件源码配置模块,用于响应于针对所述模板组件源码的源码调用语句配置操作,得到所述模板组件源码所关联的源码调用语句,基于所述模板组件源码和所述源码调用语句,得到所述业务组件的组件配置源码;所述源码调用语句用于建立所述第二应用的应用工具包与所述业务组件之间的通信信道;所述源码调用语句为适配于所述业务组件的目标组件注册源码,所述模板组件源码包括针对所述业务组件的模板组件注册源码,所述目标组件注册源码为在所述模板组件注册源码的基础上,对所述业务组件进行源码配置、得到的源码配置后的模板组件注册源码;所述源码调用语句配置操作包括所述源码配置;
组件构建模块,用于基于所述组件配置源码构建得到所述业务组件,将所述业务组件发布显示在所述多端应用平台上;所述业务组件用于在所述第二应用运行时,通过建立的所述通信信道所指示的通信关系,执行所述业务组件的组件业务。
16.一种基于多端应用平台的数据处理装置,其特征在于,所述多端应用平台上的多端应用包括第一应用和第二应用,所述装置包括:
业务参数获取模块,用于在所述第二应用运行时,响应于针对业务组件对应的业务控件的触发操作,获取用于调用所述业务组件的业务参数;所述业务组件是在所述多端应用平台上基于组件配置源码所构建得到的;所述组件配置源码是在响应于针对模板组件源码的源码调用语句配置操作时所得到的;所述源码调用语句配置操作对应的源码调用语句用于建立所述第二应用的应用工具包与所述业务组件之间的通信信道;所述源码调用语句为适配于所述业务组件的目标组件注册源码,所述模板组件源码包括针对所述业务组件的模板组件注册源码,所述目标组件注册源码为在所述模板组件注册源码的基础上,对所述业务组件进行源码配置、得到的源码配置后的模板组件注册源码;所述源码调用语句配置操作包括所述源码配置;所述模板组件源码是在组件开发模式下所显示的组件项目文件中的组件源码;所述组件开发模式是所述多端应用平台上显示的所述第一应用的应用处理界面中的模式;所述组件开发模式是在创建与所述业务组件相关联的组件目录文件时所显示的;所述组件项目文件属于所述组件目录文件;
业务处理模块,用于将所述业务参数传入所述第二应用中的应用工具包,由所述第二应用的应用工具包基于建立的所述通信信道所指示的通信关系,将所述业务参数传入所述业务组件,以使所述业务组件基于所述业务参数执行组件业务,得到所述组件业务对应的业务执行结果,并通过所述通信信道所指示的通信关系将所述业务执行结果返回给所述第二应用的应用工具包;所述通信信道是在所述第二应用的应用工具包加载所述业务组件时基于所述业务组件中的所述源码调用语句所建立的;
结果显示模块,用于显示由所述第二应用中的应用工具包所返回的所述业务执行结果。
17.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-14任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-14任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047838.XA CN117555645B (zh) | 2024-01-12 | 2024-01-12 | 基于多端应用平台的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047838.XA CN117555645B (zh) | 2024-01-12 | 2024-01-12 | 基于多端应用平台的数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555645A CN117555645A (zh) | 2024-02-13 |
CN117555645B true CN117555645B (zh) | 2024-04-05 |
Family
ID=89811545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410047838.XA Active CN117555645B (zh) | 2024-01-12 | 2024-01-12 | 基于多端应用平台的数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555645B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220036A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种组件和模板的可视化开发方法及系统 |
CN113094123A (zh) * | 2021-03-23 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 应用程序中功能的实现方法、装置、电子设备和存储介质 |
CN116841543A (zh) * | 2023-07-03 | 2023-10-03 | 杭州指令集智能科技有限公司 | 基于Flutter动态生成跨平台多端应用的开发方法 |
CN116974620A (zh) * | 2022-11-21 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 应用程序的生成方法、运行方法以及相应的装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110936B2 (en) * | 2001-02-23 | 2006-09-19 | Complementsoft Llc | System and method for generating and maintaining software code |
US20140282371A1 (en) * | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using a pre-existing application |
US11048483B2 (en) * | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
-
2024
- 2024-01-12 CN CN202410047838.XA patent/CN117555645B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220036A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种组件和模板的可视化开发方法及系统 |
CN113094123A (zh) * | 2021-03-23 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 应用程序中功能的实现方法、装置、电子设备和存储介质 |
CN116974620A (zh) * | 2022-11-21 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 应用程序的生成方法、运行方法以及相应的装置 |
CN116841543A (zh) * | 2023-07-03 | 2023-10-03 | 杭州指令集智能科技有限公司 | 基于Flutter动态生成跨平台多端应用的开发方法 |
Non-Patent Citations (1)
Title |
---|
基于mui和H5+混合应用的菜篮子APP设计和实现;谭晖涛等;信息通信;20200531(第5期);第98-101页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117555645A (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026396B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN107203419B (zh) | 应用程序中的模块间调用方法、装置及系统 | |
EP3011444B1 (en) | Method and apparatus for code virtualization and remote process call generation | |
US20110154305A1 (en) | System and method for remotely compiling multi-platform native applications for mobile devices | |
CN103530156A (zh) | 动态加载和调用程序的方法及装置 | |
US20170286269A1 (en) | Local Chat Service Simulator for Bot Development | |
CN110580154A (zh) | 基于h5接入方式的接入方法及其接入组件和移动终端 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN108089873A (zh) | 一种应用组件即时更新的方法及终端 | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN115407977A (zh) | 一种信息编译方法、装置、设备及计算机可读存储介质 | |
CN114168460A (zh) | 混合开发中前端代码的远程调试方法、设备及存储介质 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN103917951B (zh) | 应用调用的方法及操作系统、浏览器 | |
CN117555645B (zh) | 基于多端应用平台的数据处理方法、装置、设备及介质 | |
CN115291933A (zh) | 小程序数据包构建方法、装置、设备及存储介质 | |
CN115080109A (zh) | 基于混合开发的多云端环境联调方法、装置、系统和设备 | |
CN111427770B (zh) | 一种资源测试方法及相关设备 | |
CN114356520A (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN112650494A (zh) | 用于开发智能合约的在线ide的搭建方法及装置 | |
AFREEN | Mobile Applications Development | |
CN114398082B (zh) | 一种框架式区块链应用的兼容运行方法及装置 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN117056317B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |