CN116107657B - 基于qiankun的应用存储方法、装置、设备和计算机存储介质 - Google Patents

基于qiankun的应用存储方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
CN116107657B
CN116107657B CN202310001582.4A CN202310001582A CN116107657B CN 116107657 B CN116107657 B CN 116107657B CN 202310001582 A CN202310001582 A CN 202310001582A CN 116107657 B CN116107657 B CN 116107657B
Authority
CN
China
Prior art keywords
application
sub
file
qiankun
local storage
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
Application number
CN202310001582.4A
Other languages
English (en)
Other versions
CN116107657A (zh
Inventor
苏滨
郑桂
卢超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xuanwu Wireless Technology Co Ltd
Original Assignee
Guangzhou Xuanwu Wireless Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Xuanwu Wireless Technology Co Ltd filed Critical Guangzhou Xuanwu Wireless Technology Co Ltd
Priority to CN202310001582.4A priority Critical patent/CN116107657B/zh
Publication of CN116107657A publication Critical patent/CN116107657A/zh
Application granted granted Critical
Publication of CN116107657B publication Critical patent/CN116107657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明提供了基于qiankun的应用存储方法、装置、设备和计算机存储介质,该基于qiankun的应用存储方法包括:获取具有qiankun微前端框架,qiankun微前端框架具有qiankun接口;利用qiankun接口在主应用中注册多个子应用,每个子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;利用qiankun接口在主应用中加载至少一个子应用,得到每个子应用的沙箱和资源文件,且资源文件包括对子应用的本地存储对象进行重写的代码文件;针对每个子应用,在沙箱中运行资源文件,以对子应用的本地存储对象进行重写,其通过在每个沙箱中分别运行每个资源文件以利用该子应用的名称对其本地存储对象进行重写,以确保每个子应用的本地存储对象的key是唯一的,以避免多个子应用出现存储冲突。

Description

基于qiankun的应用存储方法、装置、设备和计算机存储介质
技术领域
本发明涉及数据处理技术领域,特别是涉及基于qiankun的***存储方法、装置、设备和计算机存储介质。
背景技术
微前端是通过qiankun接口将多个独立开发、独立部署的子应用联合以形成主应用,但是,当多个子应用联合时,多个子应用将会共享存储空间,使得多个子应用的本地存储地址存在冲突,导致多个子应用存在相互覆盖的情况,因此,为了避免多个子应用出现本地存储地址出现冲突,目前主要通过为每个子应用设置唯一的标识规则,然后按照统一的标识规则,对每个子应用的本地存储接口的代码进行更新,但是,其需要对全部子应用的存储接口的代码进行更新,工作量较大;而且,不同子应用的存储接口的代码格式不同,增加了对全部子应用的存储接口的代码进行更新的难度。
发明内容
基于此,本发明的目的在于,提供一种基于qiankun的应用存储方法、装置、设备和计算机存储介质,其无需对全部子应用的本地存储的接口进行更新即可解决子应用的本地存储地址出现冲突的问题。
本发明所采用的技术方案内容具体如下:
基于qiankun的应用存储方法,包括:
S1:获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口;
S2:利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;
S3:利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件;
S4:针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写。
进一步地,步骤S3包括:
S31:利用所述qiankun接口的getTemplate方法获得所述子应用的html文件;
S32:对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件。
进一步地,步骤S32包括:
S321:获取所述html文件中用于处理所述子应用本地存储的代码文件;
S322:利用script标签对所述代码文件进行包裹处理,得到所述资源文件。
进一步地,步骤S32中,所述JS文件为JS代码文件或JS路径文件,当所述JS文件为所述JS路径文件时,步骤S3还包括步骤S33,且S33为:
S33:所述qiankun接口利用fetch方法或ajax方法对所述JS路径文件进行请求,得到所述JS路径文件对应的所述JS代码文件。
进一步地,步骤S4包括:
S41:获取每个所述子应用在其沙箱中的window代理对象,所述主应用的window对象包括多个所述window代理对象,所述window代理对象包括所述本地存储对象;
S42:针对每个所述子应用,利用所述window代理对象在所述沙箱中运行所述JS代码文件,以对所述本地存储对象进行重写。
进一步地,步骤S42中,对所述本地存储对象进行重写包括:
S421:对所述子应用的本地存储接口对象的设置项setItem(key,value)进行重写和调用,且key包括子应用名称-use和子应用名称-token;
S422:对所述子应用的本地存储接口对象的获取项getItem(value)进行重写与调用。
本发明还提供了基于qiankun的应用存储装置,包括:
获取模块,用于获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口;
注册模块,用于利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;
加载模块,用于利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件;
重写模块,用于针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写。
进一步地,所述加载模块包括:
第一获取单元,用于利用所述qiankun接口的getTemplate方法获得所述子应用的html文件和沙箱;
解析单元:用于对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件。
本发明还提供了基于qiankun的应用存储设备,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现本发明所述的基于qiankun的应用存储方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本发明所述的基于qiankun的应用存储方法。
与现有技术相比,本发明的有益效果在于:
本发明公开的基于qiankun的应用存储方法,其主应用通过所述qiankun接口加载多个所述子应用时可以获得每个所述子应用的沙箱和资源文件,然后在每个所述沙箱中分别运行每个所述资源文件,以对所述子应用的本地存储接口进行重写,其对多个所述子应用进行存储时无需对多个所述子应用的全部代码进行改动即可实现对多个所述子应用存储时的隔离,可以避免多个所述子应用出现存储地址冲突。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明一实施例中基于qiankun的应用存储方法的流程图;
图2为本发明一实施例中基于qiankun的应用存储装置的结构框图;
其中,各附图的附图标记为:
1、获取模块;2、注册模块;3、加载模块;31、第一获取单元;32、解析单元;4、重写模块;41、第二获取单元;42、重写单元。
具体实施方式
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
应当理解的是,本申请实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请实施例的范围仅由所附的权利要求来限制。
参照图1,本实施例提供了基于qiankun的应用存储方法,包括:
S1:获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口。
S2:利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径。
S3:利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件。
在本实施例中,当利用所述qiankun接口在所述主应用中加载至少一个所述子应用时,可以生成多个沙箱,且多个所述沙箱和多个所述子应用是一一对应的,通过所述沙箱可以对多个所述子应用进行隔离,以将所述子应用的资源文件运行的影响反馈限制在所述子应用上;而且,利用所述qiankun接口在所述主应用中加载至少一个所述子应用时,其首先可以利用所述qiankun接口的getTemplate方法获得所述子应用的html文件,然后,对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件,其通过所述html文件可以对所述资源文件的内容进行管理,以便于对其用于处理本地存储的代码文件进行处理,使所述JS文件包含对所述本地存储对象进行重写的代码文件。
在本实施例中,对所述html文件进行解析包括:(1)获取所述html文件中用于处理所述子应用本地存储的代码文件;(2)利用script标签对所述代码文件进行包裹处理,得到所述资源文件。
在本实施例中,所述JS文件为JS代码文件或JS路径文件,当所述JS文件为所述JS路径文件时,还需要通过所述JS路径文件获得所述JS代码文件,具体为:所述qiankun接口利用fetch方法或ajax方法对所述JS路径文件进行请求,得到所述JS路径文件对应的所述JS代码文件。
S4:针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写。
在本实施例中,步骤S4通过如下步骤实现:
(1)获取每个所述子应用在其沙箱中的window代理对象,所述主应用的window对象包括多个所述window代理对象,所述window代理对象包括所述本地存储对象。
(2)针对每个所述子应用,利用所述window代理对象在所述沙箱中运行所述JS代码文件,以对所述本地存储对象进行重写。
在本实施例中,所述本地存储对象包括设置项setItem(key,value)和获取项getItem(value),其中:设置项setItem(key,value)和获取项getItem(value)分别为所述本地存储接口的API方法;设置项setItem(key,value)的作用是存储,使用key作为键,将value的值存储到所述本地存储对象中;获取项getItem(value)是以key作为键,读取出所述本地存储对象中key为键映射的存储值。
在本实施例中,对所述本地存储对象进行重写包括:
(1)对所述子应用的本地存储接口对象的设置项setItem(key,value)进行重写和调用,且key包括子应用名称-use和子应用名称-token,具体地,当使用所述本地存储对象的设置项setItem(key,value)时,首先缓存原有的设置项setItem(key,value),然后将设置项setItem(key,value)的key修改为子应用名称_user和子应用名称_token;最后,利用window代理对象调用重写前的设置项setItem,此时所述子应用可以自动将具体信息存放到所述本地存储对象中key值为相对应位置。
(2)对所述子应用的本地存储接口对象的获取项getItem(value)进行重写与调用,具体地,当使用所述本地存储对象的获取项getItem(value)时,首先缓存原有的获取项getItem(value),然后将获取项getItem(value)的key修改为子应用名称_user和子应用名称_token;最后,利用window代理对象调用重写前的获取项getItem(value),此时所述子应用可以自动将存放到所述本地存储对象中key值为相对应位置的数据返回。
S5:针对每个所述子应用,利用所述本地存储对象对所述子应用进行存储。
本实施例提供的基于qiankun的应用存储方法,其利用qiankun微前端框架的qiankun接口可以实现多个子应用在所述主应用上的注册与加载,以满足多个子应用单独开发和单独部署的需求;而且,其利用qiankun接口加载多个多个子应用时,可以对每个子应用的html文件进行处理,以获取包含对子应用的所述本地存储对象进行重写的代码文件的资源文件,以便于对多个所述子应用的本地存储对象进行重写,确保每个子应用的本地存储对象的key是唯一的,避免多个所述子应用存在存储冲突;另外,采用沙箱分别对多个所述子应用的资源文件进行分别运行,可以实现多个子应用的隔离,以避免多个子应用的运行所述主应用产生影响。
基于本实施例提供的基于qiankun的应用存储方法,参照图2,本实施例还提供了基于qiankun的应用存储装置,包括:
获取模块1,用于获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口;
注册模块2,用于利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;
加载模块3,用于利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件;
重写模块4,用于针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写。
在本实施例中,所述加载模块3包括第一获取单元31和解析单元32,所述第一获取单元31用于利用所述qiankun接口的getTemplate方法获得所述子应用的html文件和沙箱;所述解析单元32用于对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件。
在本实施例中,所述解析单元32用于对所述html文件进行解析,得到所述子应用的所述资源文件通过如下步骤实现:(1)获取所述html文件中用于处理所述子应用本地存储的代码文件;(2)利用script标签对所述代码文件进行包裹处理,得到所述资源文件。而且,当所述JS文件为所述JS路径文件时,所述解析单元32还通过所述JS路径文件获得所述JS代码文件,具体为:所述解析单元32通过所述qiankun接口利用fetch方法或ajax方法对所述JS路径文件进行请求,得到所述JS路径文件对应的所述JS代码文件。
在本实施例中,所述重写模块4包括第二获取单元41和重写单元42,所述第二获取单元41用于获取每个所述子应用在其沙箱中的window代理对象,所述主应用的window对象包括多个所述window代理对象,所述window代理对象包括所述本地存储对象;针对每个所述子应用,所述重写单元42利用所述window代理对象在所述沙箱中运行所述JS代码文件,以对所述本地存储对象进行重写。
而且,所述重写单元42对所述本地存储对象进行存储重写包括对所述子应用的本地存储接口对象的设置项setItem(key,value)进行重写和调用、以及对所述子应用的本地存储接口对象的获取项getItem(value)进行重写与调用,其中:(1)当使用所述本地存储对象的设置项setItem(key,value)时,首先缓存原有的设置项setItem(key,value),然后将设置项setItem(key,value)的key修改为子应用名称_user和子应用名称_token;最后,利用window代理对象调用重写前的设置项setItem,此时所述子应用可以自动将具体信息存放到所述本地存储对象中key值为相对应位置;(2)当使用所述本地存储对象的获取项getItem(value)时,首先缓存原有的获取项getItem(value),然后将获取项getItem(value)的key修改为子应用名称_user和子应用名称_token;最后,利用window代理对象调用重写前的获取项getItem(value),此时所述子应用可以自动将存放到所述本地存储对象中key值为相对应位置的数据返回。
基于本实施例提供的基于qiankun的应用存储方法,本实施例还提供了基于qiankun的应用存储设备,所述基于qiankun的应用存储设备可以是服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备,其包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现本实施例所述的基于qiankun的应用存储方法。
基于本实施例提供的基于qiankun的应用存储方法,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本实施例所述的基于qiankun的应用存储方法。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。

Claims (6)

1.基于qiankun的应用存储方法,其特征在于,包括:
S1:获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口;
S2:利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;
S3:利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件;
S4:针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写;步骤S3具体包括:
S31:利用所述qiankun接口的getTemplate方法获得所述子应用的html文件;
S32:对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件;
步骤S4具体包括:
S41:获取每个所述子应用在其沙箱中的window代理对象,所述主应用的window对象包括多个所述window代理对象,所述window代理对象包括所述本地存储对象;
S42:针对每个所述子应用,利用所述window代理对象在所述沙箱中运行JS代码文件,以对所述本地存储对象进行重写;所述JS代码文件为所述JS文件中的对所述本地存储对象进行重写的代码文件;
步骤S42中,对所述本地存储对象进行重写包括:
S421:对所述子应用的本地存储接口对象的设置项setItem(key,value)进行重写和调用,且key包括子应用名称-use和子应用名称-token;
S422:对所述子应用的本地存储接口对象的获取项getItem(value)进行重写与调用。
2.根据权利要求1所述的基于qiankun的应用存储方法,其特征在于,步骤S32包括:
S321:获取所述html文件中用于处理所述子应用本地存储的代码文件;
S322:利用script标签对所述代码文件进行包裹处理,得到所述资源文件。
3.根据权利要求2所述的基于qiankun的应用存储方法,其特征在于,步骤S32中,所述JS文件为JS代码文件或JS路径文件,当所述JS文件为所述JS路径文件时,步骤S3还包括步骤S33,且S33为:
S33:所述qiankun接口利用fetch方法或ajax方法对所述JS路径文件进行请求,得到所述JS路径文件对应的所述JS代码文件。
4.基于qiankun的应用存储装置,其特征在于,包括:
获取模块,用于获取具有qiankun微前端框架,所述qiankun微前端框架具有qiankun接口;
注册模块,用于利用所述qiankun接口在主应用中注册多个子应用,每个所述子应用包括名称、访问地址、在主应用中的挂载节点和访问路径;
加载模块,用于利用所述qiankun接口在所述主应用中加载至少一个所述子应用,得到每个所述子应用的沙箱和资源文件,且所述资源文件包括对所述子应用的本地存储对象进行重写的代码文件;
重写模块,用于针对每个所述子应用,在所述沙箱中运行资源文件,以对所述子应用的本地存储对象进行重写;
所述加载模块包括:
第一获取单元,用于利用所述qiankun接口的getTemplate方法获得所述子应用的html文件和沙箱;
解析单元:用于对所述html文件进行解析,得到所述子应用的所述资源文件,且所述资源文件为JS文件;
所述重写模块包括第二获取单元和重写单元,所述第二获取单元用于获取每个所述子应用在其沙箱中的window代理对象,所述主应用的window对象包括多个所述window代理对象,所述window代理对象包括所述本地存储对象;针对每个所述子应用,所述重写单元利用所述window代理对象在所述沙箱中运行所述JS代码文件,以对所述本地存储对象进行重写;
所述重写单元对所述本地存储对象进行重写包括:对所述子应用的本地存储接口对象的设置项setItem(key,value)进行重写和调用,且key包括子应用名称-use和子应用名称-token;对所述子应用的本地存储接口对象的获取项getItem(value)进行重写与调用。
5.基于qiankun的应用存储设备,其特征在于,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现权利要求1-3中任一项所述的基于qiankun的应用存储方法。
6.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现权利要求1-3中任一项所述的基于qiankun的应用存储方法。
CN202310001582.4A 2023-01-03 2023-01-03 基于qiankun的应用存储方法、装置、设备和计算机存储介质 Active CN116107657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310001582.4A CN116107657B (zh) 2023-01-03 2023-01-03 基于qiankun的应用存储方法、装置、设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310001582.4A CN116107657B (zh) 2023-01-03 2023-01-03 基于qiankun的应用存储方法、装置、设备和计算机存储介质

Publications (2)

Publication Number Publication Date
CN116107657A CN116107657A (zh) 2023-05-12
CN116107657B true CN116107657B (zh) 2023-09-26

Family

ID=86266814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310001582.4A Active CN116107657B (zh) 2023-01-03 2023-01-03 基于qiankun的应用存储方法、装置、设备和计算机存储介质

Country Status (1)

Country Link
CN (1) CN116107657B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117194298B (zh) * 2023-09-18 2024-05-31 上海鸿翼软件技术股份有限公司 一种控制方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677804A (zh) * 2012-09-26 2014-03-26 三星电子株式会社 用于处理移动终端中的应用的方法和设备
CN114625439A (zh) * 2022-03-10 2022-06-14 腾讯音乐娱乐科技(深圳)有限公司 基于微前端架构的子应用运行方法、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677804A (zh) * 2012-09-26 2014-03-26 三星电子株式会社 用于处理移动终端中的应用的方法和设备
CN114625439A (zh) * 2022-03-10 2022-06-14 腾讯音乐娱乐科技(深圳)有限公司 基于微前端架构的子应用运行方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN116107657A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
US9928038B2 (en) Dynamically building locale objects or subsections of locale objects based on historical data
US6876996B2 (en) Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
US8375379B2 (en) Importing language extension resources to support application execution
US7430734B2 (en) Interface invoke mechanism
CN108616599B (zh) 应用服务注册、更新的方法及装置
CN107885540A (zh) 一种加载应用程序静态资源的方法、装置及终端
US10466985B2 (en) Hybrid deoptimization mechanism for class hierarchy analysis
CN110007920B (zh) 一种获取代码依赖关系的方法、装置及电子设备
US20090031210A1 (en) Optimized page script downloads in a component based architecture
US20090249311A1 (en) Sharing a native module of compiled code using an abstraction module of interpreted code in a virtual machine environment
CN116107657B (zh) 基于qiankun的应用存储方法、装置、设备和计算机存储介质
CN110362547B (zh) 日志文件的编码、解析、存储方法和装置
WO2023040459A1 (zh) 图形渲染方法、装置、电子设备与存储介质
US20020069342A1 (en) Extensible execute in place (XIP) architecture and related methods
CN111124288A (zh) 一种vpd存储管理方法、装置、设备及可读存储介质
US8407678B2 (en) Method of array interception using data-flow analysis
CN113821194A (zh) 一种微前端***
US7401178B1 (en) Expanded memory space in environments including virtual machines
CN110704041A (zh) 软件开发方法及装置
CN107817972B (zh) 缓存代码处理方法、装置、存储介质及电子设备
CN115421693A (zh) 微前端架构的实现方法、装置、计算机设备和存储介质
CN114020278B (zh) 数据处理方法、装置、设备及存储介质
CN111638903B (zh) 不同软件版本的差异信息生成方法及装置
CN117251234B (zh) 基于补丁的函数调用方法及装置
CN116340904A (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