基于Electron的小程序运行方法、系统、设备和介质技术方案

技术编号:35460221 阅读:25 留言:0更新日期:2022-11-03 12:26
本发明专利技术公开了一种基于Electron的小程序运行方法、系统、设备和介质,该小程序运行方法包括获取用户基于Electron桌面端触发的小程序点击指令;基于点击指令获取与点击指令对应的目标小程序的元信息;基于元信息读取目标小程序对应的当前代码包;基于应用实例管理器选择空闲的应用实例,并在应用实例对应的虚拟机环境中运行当前代码包的代码;在代码运行成功之后读取应用实例对应的浏览器窗体数据,并向用户显示浏览器窗体数据对应的界面视图;实现了在Electron桌面端提供小程序服务,实现了一套小程序代码达到多终端运行的效果,提高了小程序的开发效率,为更多的终端用户提供小程序服务,提高了小程序的应用效率。提高了小程序的应用效率。提高了小程序的应用效率。

【技术实现步骤摘要】
基于Electron的小程序运行方法、系统、设备和介质


[0001]本专利技术涉及软件设计
,尤其涉及一种基于Electron的小程序运行方法、系统、设备和介质。

技术介绍

[0002]小程序是一种不需要下载安装就可使用的应用,它实现了应用触手可及的需求,还体现了用完即走的理念。随着小程序在工作、生活中各个领域的不断应用,需要开发的小程序数量不断增加。目前的小程序大多是微信小程序,基于微信平台运行,并无基于其他平台运行的小程序。
[0003]Electron是一个使用JavaScript(一种编程语言)、HTML(Hyper Text Markup Language,超文本标记语言)和CSS(Cascading Style Sheets,层叠样式表,是一种用来表现HTML等文件样式的计算机语言)等Web(World Wide Web,全球广域网,也称为万维网,它是一种基于超文本和超文本传输协议的、全球性的、动态交互的、跨平台的分布式图形信息系统)技术创建原生程序的框架。开发人员可以在Electron框架上开发跨平台的桌面端应用,在发布阶段将应用进行编译打包成一个程序包,最终部署在客户的桌面终端。
[0004]但在大型团队合作开发时,会有其他的团队或者个人希望能在某款Electron桌面端应用提供小程序服务,以提高小程序服务的应用效率。在此需求下,需要设计一套能在Electron桌面端运行小程序的方案。

技术实现思路

[0005]本专利技术要解决的技术问题是为了克服现有技术中Electron桌面端应用无法提供小程序服务,小程序服务的应用效率低的缺陷,提供一种基于Electron的小程序运行方法、系统、设备和介质。
[0006]本专利技术是通过下述技术方案来解决上述技术问题:
[0007]第一方面,提供一种基于Electron的小程序运行方法,所述小程序运行方法包括:
[0008]获取用户基于Electron桌面端触发的小程序点击指令;
[0009]基于所述点击指令获取与所述点击指令对应的目标小程序的元信息;
[0010]基于所述元信息读取所述目标小程序对应的当前代码包;
[0011]基于应用实例管理器选择空闲的应用实例,并在所述应用实例对应的虚拟机环境中运行所述当前代码包的代码;
[0012]在所述代码运行成功之后读取所述应用实例对应的浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图。
[0013]较佳地,所述获取用户基于Electron桌面端触发的小程序点击指令的步骤之前包括:
[0014]建立小程序运行架构;
[0015]其中,所述小程序运行架构包括原生层、桥接层和视图层,所述桥接层桥接所述原
生层与所述视图层;
[0016]所述原生层用于运行所述Electron的主进程、下载并解压每个小程序的代码包;
[0017]所述桥接层用于读取小程序对应的代码包,管理应用实例管理器,以在虚拟机环境中运行所述代码包的代码;
[0018]所述视图层用于在所述代码运行成功之后读取浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图,以向用户显示所述小程序对应的视图;
[0019]和/或,所述元信息包括所述当前代码包的版本号;所述小程序运行方法还包括:
[0020]基于所述版本号检测所述小程序是否存在更新代码包;
[0021]若是,则下载所述更新代码包,并在解压所述更新代码包后覆盖所述小程序的当前代码包。
[0022]较佳地,所述应用实例管理器管理多个应用实例,每个应用实例对应一个小程序的运行实例;
[0023]所述应用实例包括一个虚拟机环境、一个浏览器窗体和所述浏览器窗体对应的多个浏览器页面;
[0024]所述虚拟机环境用于运行小程序对应的代码;所述浏览器窗体用于向用户显示所述小程序的总界面视图;所述浏览器页面用于向用户显示所述总界面视图下的分界面视图;
[0025]所述小程序运行方法还包括:
[0026]将所述虚拟机环境的ID(Identification,身份识别)与所述浏览器窗体的ID绑定,以便在多个小程序中识别出对应的目标小程序。
[0027]较佳地,所述浏览器窗体包括浏览器页面池和浏览器页面队列;所述小程序运行方法还包括:
[0028]基于浏览器页面点击指令从所述浏览器页面池中获取预先设置的浏览器页面,以向用户显示所述浏览器页面对应的视图;
[0029]建立所述浏览器页面点击指令对应的新建浏览器页面,将所述新建浏览器页面放入所述浏览器页面池中,并将所述新建浏览器页面加入到当前所述浏览器页面队列中;
[0030]当获取到用户的页面后退指令时,从当前所述浏览器页面队列中获取所述新建浏览器页面,以向用户显示所述新建浏览器页面对应的视图。
[0031]第二方面,提供一种基于Electron的小程序运行系统,所述小程序运行系统包括:
[0032]指令获取模块,用于获取用户基于Electron桌面端触发的小程序点击指令;
[0033]元信息获取模块,用于基于所述点击指令获取与所述点击指令对应的目标小程序的元信息;
[0034]代码包读取模块,用于基于所述元信息读取所述目标小程序对应的当前代码包;
[0035]代码运行模块,用于基于应用实例管理器选择空闲的应用实例,并在所述应用实例对应的虚拟机环境中运行所述当前代码包的代码;
[0036]视图显示模块,用于在所述代码运行成功之后读取所述应用实例对应的浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图。
[0037]较佳地,所述小程序运行系统包括:
[0038]运行架构建立模块,用于建立小程序运行架构;
[0039]其中,所述小程序运行架构包括原生层、桥接层和视图层,所述桥接层桥接所述原生层与所述视图层;
[0040]所述原生层用于运行所述Electron的主进程、下载并解压每个小程序的代码包;
[0041]所述桥接层用于读取小程序对应的代码包,管理应用实例管理器,以在虚拟机环境中运行所述代码包的代码;
[0042]所述视图层用于在所述代码运行成功之后读取浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图,以向用户显示所述小程序对应的视图;
[0043]和/或,所述元信息包括所述当前代码包的版本号;所述小程序运行系统还包括:
[0044]代码包更新模块,用于基于所述版本号检测所述小程序是否存在更新代码包;
[0045]若是,则下载所述更新代码包,并在解压所述更新代码包后覆盖所述小程序的当前代码包。
[0046]较佳地,所述应用实例管理器管理多个应用实例,每个应用实例对应一个小程序的运行实例;
[0047]所述应用实例包括一个虚拟机环境、一个浏览器窗体和所述浏览器窗体对应的多个浏览器页面;
[0048]所述虚拟本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Electron的小程序运行方法,其特征在于,所述小程序运行方法包括:获取用户基于Electron桌面端触发的小程序点击指令;基于所述点击指令获取与所述点击指令对应的目标小程序的元信息;基于所述元信息读取所述目标小程序对应的当前代码包;基于应用实例管理器选择空闲的应用实例,并在所述应用实例对应的虚拟机环境中运行所述当前代码包的代码;在所述代码运行成功之后读取所述应用实例对应的浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图。2.根据权利要求1所述的小程序运行方法,其特征在于,所述获取用户基于Electron桌面端触发的小程序点击指令的步骤之前包括:建立小程序运行架构;其中,所述小程序运行架构包括原生层、桥接层和视图层,所述桥接层桥接所述原生层与所述视图层;所述原生层用于运行所述Electron的主进程、下载并解压每个小程序的代码包;所述桥接层用于读取小程序对应的代码包,管理应用实例管理器,以在虚拟机环境中运行所述代码包的代码;所述视图层用于在所述代码运行成功之后读取浏览器窗体数据,并向用户显示所述浏览器窗体数据对应的界面视图,以向用户显示所述小程序对应的视图;和/或,所述元信息包括所述当前代码包的版本号;所述小程序运行方法还包括:基于所述版本号检测所述小程序是否存在更新代码包;若是,则下载所述更新代码包,并在解压所述更新代码包后覆盖所述小程序的当前代码包。3.根据权利要求1所述的小程序运行方法,其特征在于,所述应用实例管理器管理多个应用实例,每个应用实例对应一个小程序的运行实例;所述应用实例包括一个虚拟机环境、一个浏览器窗体和所述浏览器窗体对应的多个浏览器页面;所述虚拟机环境用于运行小程序对应的代码;所述浏览器窗体用于向用户显示所述小程序的总界面视图;所述浏览器页面用于向用户显示所述总界面视图下的分界面视图;所述小程序运行方法还包括:将所述虚拟机环境的ID与所述浏览器窗体的ID绑定,以便在多个小程序中识别出对应的目标小程序。4.根据权利要求3所述的小程序运行方法,其特征在于,所述浏览器窗体包括浏览器页面池和浏览器页面队列;所述小程序运行方法还包括:基于浏览器页面点击指令从所述浏览器页面池中获取预先设置的浏览器页面,以向用户显示所述浏览器页面对应的视图;建立所述浏览器页面点击指令对应的新建浏览器页面,将所述新建浏览器页面放入所述浏览器页面池中,并将所述新建浏览器页面加入到当前所述浏览器页面队列中;当获取到用户的页面后退指令时,从当前所述浏览器页面队列中获取所述新建浏览器页面,以向用户显示所述新建浏览器页面对应的视图。
5.一种基于Electron的小程序运行系统,其特征在于,所述小程序运行系统包括:指令获取模块,用于获取用户基于Electron桌面端触发的小程序点击指令;元信息获取模块,用于基于所述点击指令获取与所述点击指令对应的目标小程序的元信息;代码包读取模块,用于基于所述元信...

【专利技术属性】
技术研发人员:潘斐斐储诚栋卞奕龙
申请(专利权)人:携程旅游信息技术上海有限公司
类型:发明
国别省市:

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

1