CN112860236A - 一种基于single-spa的微前端技术 - Google Patents
一种基于single-spa的微前端技术 Download PDFInfo
- Publication number
- CN112860236A CN112860236A CN202110170681.6A CN202110170681A CN112860236A CN 112860236 A CN112860236 A CN 112860236A CN 202110170681 A CN202110170681 A CN 202110170681A CN 112860236 A CN112860236 A CN 112860236A
- Authority
- CN
- China
- Prior art keywords
- application
- spa
- module
- micro
- based micro
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于single‑spa的微前端技术,其技术方案要点是:包括用户,所述用户控制Nginx,所述Nginx数据连接有底层路由,所述底层路由数据连接有模块加载器,所述模块加载器通讯连接有main前端基础模块和至少三组APP软件,至少三组所述APP软件中包括有APP1、APP2和APP3,所述APP1通讯连接有server1,所述APP2通讯连接有server2,所述APP3通讯连接有url;利用装置可以在不同框架下的前端代码和应用的复用;实现了中大型应用的依赖升级和新技术的引入的平滑引入;将微服务的理念应用于浏览器端,即将Web应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。
Description
技术领域
本发明涉及软件开发领域,特别涉及一种基于single-spa的微前端技术。
背景技术
随着前端技术的发展,伴随而来的是各种前端框架的出现和发展,其中有代表性的是React,Vue和Angular。
参照现有公开号为CN111008015A的中国专利,其公开了一种基于前端技术实现的微前端应用框架,所述基于前端技术实现的微前端应用框架包括:通用微前端应用以及业务微前端应用;其中,所述基于前端技术实现的微前端应用框架用于使通用微前端应用以及业务微前端应用无缝衔接;对于通用微前端应用以及业务微前端应用的标准接口包括如下字段:编码、名称、图符、连接、Js代码、样式代码。
上述的这种基于前端技术实现的微前端应用框架实现用户在界面级的业务流程和业务逻辑的变更需求;应用之间的业务协同需求;频繁的加入新业务,并与现有业务模块的无缝集成;局部应用模块的动态更新(开发和部署可以独立进行);租户应用配置实时修改更新。但是上述的这种基于前端技术实现的微前端应用框架依旧存在着一些缺点,如:一、不同的技术团队以及不同项目中采用的前端框架可能会有所不同,这就导致在不同项目中代码的迁移和复用变得很难;二、对于一些长期维护的项目,往往随着维护时间的增长,伴随而来的是功能和页面的增加,以及相应的旧代码和新技术的整合。在这种情况下,需要一种技术在不改动老旧和遗留代码的情况下,平滑引进新的前端技术,同时能顺利升级相应的版本依赖。
发明内容
针对背景技术中提到的问题,本发明的目的是提供一种基于single-spa的微前端技术,以解决背景技术中提到的问题。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种基于single-spa的微前端技术,包括用户,所述用户控制Nginx,所述Nginx数据连接有底层路由,所述底层路由数据连接有模块加载器,所述模块加载器通讯连接有main前端基础模块和至少三组APP软件,至少三组所述APP软件中包括有APP1、APP2和APP3,所述APP1通讯连接有server1,所述APP2通讯连接有server2,所述APP3通讯连接有url,所述main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用。
通过采用上述技术方案,在使用的时候,用户通过Nginx和底层路由实行对模块加载器进行控制运行,然后使得模块加载器能够实现对main前端基础模块进行控制调节,以及实现对至少三组APP软件进行运行,且运行的空间都是相对独立的,不会造成运行混乱,然后main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,需要注意的是每个应用需要实现并导出相应的三个应用生命周期方法,bootstrap:应用的初始化,启动方法;mount:应用挂载到真实DOM上的方法;unmount:应用从真实DOM上卸载的方法,main前端基础模块通过single-spa的微前端实现新应用的注册和使用,最终生成(Universal Module Definition)格式的前端应用,该格式的前端应用的特点是可以在常见的不同模块下进行相应的引用以及复用。
较佳的,所述webpack对不同框架下的代码进行打包时的每个应用需要实现并导出相应的三个应用生命周期,所述三个应用生命周期分别为bootstrap:应用的初始化,启动方法,mount:应用挂载到真实DOM上的方法,unmount:应用从真实DOM上卸载的方法。
通过采用上述技术方案,在代码进行打包的时候,携带打包有三个生命周期的文件,进而实现对代码进行启动、安装和卸载的操作。
较佳的,所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用的步骤如下:
S1、引入single-spa相关代码;
S2、通过ES6的import()语法动态引入第一步生成的应用代码;
S3、注册不同应用相应的响应底层路由;
S4、启动微前端整体应用。
通过采用上述技术方案,可以实现对新的应用进行注册和使用,使得操作步骤简单快捷。
较佳的,所述main前端基础模块在进行打包子应用的同时生成Manifest.json配置文件,加载子应用之前先加载配置文件,然后加载配置文件中的静态资源,所述子应用在入口文件内需要增加对于运行环境的判断,使应用在独立和微前端环境下都可以运行。
通过采用上述技术方案,子应用在运行之前,先对配置文件进行运行,使得子应用能够充分的判断环境,保持稳定的运行。
较佳的,所述模块加载器将SingleSPA放置在一个原生的html页面里,同时使用importMaps+SystemJs作为模块的动态加载器,进而将Switch Layer去框架化让其变得更加通用。
通过采用上述技术方案,可以直接在页面上进行运行,并且通过动态加载器实现对页面的驱动,去除框架,适用范围更加的广。
较佳的,所述模块加载器中增加维护公共依赖的包shared-dependencies,将axios和store类公共能力放置存储在维护公共依赖的包内,所述模块加载器运行在main前端基础模块下的应用加载shared是动态加载,在独立运行的情况下shared是会在构建时与源代码一同打包。
通过采用上述技术方案,增加维护公共依赖的包,可以实现对公共能力的软件包进行打包存储,节省软件空间,并且能够直接进行调用。
较佳的,所述importMaps是静态放置在项目中的,将importMaps放在单独的项目中作为静态资源独立部署,并且开发配置系统提供api,在线自动或手动的管理map文件。
通过采用上述技术方案,在配置系统提供的api之后,可以使得软件编程在运行的时候能够实现自动或者手动的进行管理。
综上所述,本发明主要具有以下有益效果:
第一、本发明实现了不同框架下的前端代码和应用的复用,减少了前端代码的重复和耦合,同时提高了开发效率;
第二、本发明实现了中大型应用的依赖升级和新技术的引入的平滑引入;
第三、本发明将微服务的理念应用于浏览器端,即将Web应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。
附图说明
图1是本发明的系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参考图1,一种基于single-spa的微前端技术,包括用户,所述用户控制Nginx,所述Nginx数据连接有底层路由,所述底层路由数据连接有模块加载器,所述模块加载器通讯连接有main前端基础模块和至少三组APP软件,至少三组所述APP软件中包括有APP1、APP2和APP3,所述APP1通讯连接有server1,所述APP2通讯连接有server2,所述APP3通讯连接有url,所述main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用。
通过采用上述技术方案,在使用的时候,用户通过Nginx和底层路由实行对模块加载器进行控制运行,然后使得模块加载器能够实现对main前端基础模块进行控制调节,以及实现对至少三组APP软件进行运行,且运行的空间都是相对独立的,不会造成运行混乱,然后main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,需要注意的是每个应用需要实现并导出相应的三个应用生命周期方法,bootstrap:应用的初始化,启动方法;mount:应用挂载到真实DOM上的方法;unmount:应用从真实DOM上卸载的方法,main前端基础模块通过single-spa的微前端实现新应用的注册和使用,最终生成(Universal Module Definition)格式的前端应用,该格式的前端应用的特点是可以在常见的不同模块下进行相应的引用以及复用。
为了实现对应用进行启动、安装和卸载的目的;所述webpack对不同框架下的代码进行打包时的每个应用需要实现并导出相应的三个应用生命周期,所述三个应用生命周期分别为bootstrap:应用的初始化,启动方法,mount:应用挂载到真实DOM上的方法,unmount:应用从真实DOM上卸载的方法。效果为,在代码进行打包的时候,携带打包有三个生命周期的文件,进而实现对代码进行启动、安装和卸载的操作。
为了实现对新应用进行注册和使用的目的;所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用的步骤如下:
S1、引入single-spa相关代码;
S2、通过ES6的import()语法动态引入第一步生成的应用代码;
S3、注册不同应用相应的响应底层路由;
S4、启动微前端整体应用。
效果为,可以实现对新的应用进行注册和使用,使得操作步骤简单快捷。
为了判定运行环境的目的;所述main前端基础模块在进行打包子应用的同时生成Manifest.json配置文件,加载子应用之前先加载配置文件,然后加载配置文件中的静态资源,所述子应用在入口文件内需要增加对于运行环境的判断,使应用在独立和微前端环境下都可以运行。效果为,子应用在运行之前,先对配置文件进行运行,使得子应用能够充分的判断环境,保持稳定的运行。
为了去除框架,运行范围更广泛的目的;所述模块加载器将SingleSPA放置在一个原生的html页面里,同时使用importMaps+SystemJs作为模块的动态加载器,进而将SwitchLayer去框架化让其变得更加通用。效果为,可以直接在页面上进行运行,并且通过动态加载器实现对页面的驱动,去除框架,适用范围更加的广。
为了实现对公共能力软件包进行维护的目的;所述模块加载器中增加维护公共依赖的包shared-dependencies,将axios和store类公共能力放置存储在维护公共依赖的包内,所述模块加载器运行在main前端基础模块下的应用加载shared是动态加载,在独立运行的情况下shared是会在构建时与源代码一同打包。效果为,增加维护公共依赖的包,可以实现对公共能力的软件包进行打包存储,节省软件空间,并且能够直接进行调用。
为了实现自动或者手动的进行管理的目的;所述importMaps是静态放置在项目中的,将importMaps放在单独的项目中作为静态资源独立部署,并且开发配置系统提供api,在线自动或手动的管理map文件。效果为,在配置系统提供的api之后,可以使得软件编程在运行的时候能够实现自动或者手动的进行管理。
1.前端应用的打包:
1.1.相关生命周期导出(以React框架为例)
1.2.webpack导出核心配置:
2.前端应用的引入,注册以及启动
使用原理及优点:
在使用的时候,用户通过Nginx和底层路由实行对模块加载器进行控制运行,然后使得模块加载器能够实现对main前端基础模块进行控制调节,以及实现对至少三组APP软件进行运行,且运行的空间都是相对独立的,不会造成运行混乱,然后main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,需要注意的是每个应用需要实现并导出相应的三个应用生命周期方法,bootstrap:应用的初始化,启动方法;mount:应用挂载到真实DOM上的方法;unmount:应用从真实DOM上卸载的方法,main前端基础模块通过single-spa的微前端实现新应用的注册和使用,最终生成(Universal Module Definition)格式的前端应用,该格式的前端应用的特点是可以在常见的不同模块下进行相应的引用以及复用,
对新应用的注册和使用的步骤如下:
S1、引入single-spa相关代码;
S2、通过ES6的import()语法动态引入第一步生成的应用代码;
S3、注册不同应用相应的响应底层路由;
S4、启动微前端整体应用。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于single-spa的微前端技术,包括用户,其特征在于:所述用户控制Nginx,所述Nginx数据连接有底层路由,所述底层路由数据连接有模块加载器,所述模块加载器通讯连接有main前端基础模块和至少三组APP软件,至少三组所述APP软件中包括有APP1、APP2和APP3,所述APP1通讯连接有server1,所述APP2通讯连接有server2,所述APP3通讯连接有url,所述main前端基础模块通过webpack对不同框架下的代码进行打包,将前端相关的文件,如javascript、typescript、css和less文件通过loaders进行相应的处理,同时引入plugins针对打包过程中的不同阶段处理相应的内容,所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用。
2.根据权利要求1所述的一种基于single-spa的微前端技术,其特征在于:所述webpack对不同框架下的代码进行打包时的每个应用需要实现并导出相应的三个应用生命周期。
3.根据权利要求2所述的一种基于single-spa的微前端技术,其特征在于:所述三个应用生命周期分别为bootstrap:应用的初始化,启动方法,mount:应用挂载到真实DOM上的方法,unmount:应用从真实DOM上卸载的方法。
4.根据权利要求1所述的一种基于single-spa的微前端技术,其特征在于:所述main前端基础模块通过single-spa的微前端实现新应用的注册和使用的步骤如下:
S1、引入single-spa相关代码;
S2、通过ES6的import()语法动态引入第一步生成的应用代码;
S3、注册不同应用相应的响应底层路由;
S4、启动微前端整体应用。
5.根据权利要求1所述的一种基于single-spa的微前端技术,其特征在于:所述main前端基础模块在进行打包子应用的同时生成Manifest.json配置文件,加载子应用之前先加载配置文件,然后加载配置文件中的静态资源。
6.根据权利要求5所述的一种基于single-spa的微前端技术,其特征在于:所述子应用在入口文件内需要增加对于运行环境的判断,使应用在独立和微前端环境下都可以运行。
7.根据权利要求1所述的一种基于single-spa的微前端技术,其特征在于:所述模块加载器将SingleSPA放置在一个原生的html页面里,同时使用importMaps+SystemJs作为模块的动态加载器,进而将Switch Layer去框架化让其变得更加通用。
8.根据权利要求7所述的一种基于single-spa的微前端技术,其特征在于:所述模块加载器中增加维护公共依赖的包shared-dependencies,将axios和store类公共能力放置存储在维护公共依赖的包内。
9.根据权利要求8所述的一种基于single-spa的微前端技术,其特征在于:所述模块加载器运行在main前端基础模块下的应用加载shared是动态加载,在独立运行的情况下shared是会在构建时与源代码一同打包。
10.根据权利要求7所述的一种基于single-spa的微前端技术,其特征在于:所述importMaps是静态放置在项目中的,将importMaps放在单独的项目中作为静态资源独立部署,并且开发配置系统提供api,在线自动或手动的管理map文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170681.6A CN112860236A (zh) | 2021-02-08 | 2021-02-08 | 一种基于single-spa的微前端技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110170681.6A CN112860236A (zh) | 2021-02-08 | 2021-02-08 | 一种基于single-spa的微前端技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860236A true CN112860236A (zh) | 2021-05-28 |
Family
ID=75989171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110170681.6A Pending CN112860236A (zh) | 2021-02-08 | 2021-02-08 | 一种基于single-spa的微前端技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860236A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721912A (zh) * | 2021-08-31 | 2021-11-30 | 浩鲸云计算科技股份有限公司 | 基于umi的微前端框架的动态分包和合包方法 |
CN114327688A (zh) * | 2022-03-15 | 2022-04-12 | Tcl通讯科技(成都)有限公司 | 基于微前端的数据处理方法、框架、存储介质及终端设备 |
CN114756212A (zh) * | 2022-06-13 | 2022-07-15 | 济南浪潮数据技术有限公司 | 低代码应用集成方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708368A (zh) * | 2019-09-25 | 2020-01-17 | 北京计算机技术及应用研究所 | 一种基于路由分发的微前端系统和方法 |
CN112114784A (zh) * | 2020-09-21 | 2020-12-22 | 广东电网有限责任公司电力科学研究院 | 一种基于Single-Spa的前端微服务化系统 |
-
2021
- 2021-02-08 CN CN202110170681.6A patent/CN112860236A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708368A (zh) * | 2019-09-25 | 2020-01-17 | 北京计算机技术及应用研究所 | 一种基于路由分发的微前端系统和方法 |
CN112114784A (zh) * | 2020-09-21 | 2020-12-22 | 广东电网有限责任公司电力科学研究院 | 一种基于Single-Spa的前端微服务化系统 |
Non-Patent Citations (1)
Title |
---|
哓番茄: "微前端框架single-spa", Retrieved from the Internet <URL:https://www.cnblogs.com/Tohold/p/11850853.html> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721912A (zh) * | 2021-08-31 | 2021-11-30 | 浩鲸云计算科技股份有限公司 | 基于umi的微前端框架的动态分包和合包方法 |
CN114327688A (zh) * | 2022-03-15 | 2022-04-12 | Tcl通讯科技(成都)有限公司 | 基于微前端的数据处理方法、框架、存储介质及终端设备 |
CN114327688B (zh) * | 2022-03-15 | 2022-07-08 | Tcl通讯科技(成都)有限公司 | 基于微前端的数据处理方法、框架、存储介质及终端设备 |
CN114756212A (zh) * | 2022-06-13 | 2022-07-15 | 济南浪潮数据技术有限公司 | 低代码应用集成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860236A (zh) | 一种基于single-spa的微前端技术 | |
CN108055248B (zh) | 基于dubbo框架的远程调用方法、服务器及存储介质 | |
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
US8392906B2 (en) | Enabling parallel websphere runtime versions | |
CN105159788B (zh) | 一种Android应用间动态共享资源的方法及系统 | |
US7793281B2 (en) | System and method for dynamic version management of applications | |
US9880882B2 (en) | Multi-tenant SaaS platform and method for automated deployment of connector application, and tenant and service provider using virtual machine | |
CN104750528A (zh) | 一种Android程序中的组件管理方法和装置 | |
CN110187910B (zh) | 一种热更新方法、装置、设备及计算机可读存储介质 | |
US20090249311A1 (en) | Sharing a native module of compiled code using an abstraction module of interpreted code in a virtual machine environment | |
CN105786538A (zh) | 基于安卓系统的软件升级方法和装置 | |
CN107133055B (zh) | 一种基于ClassLoader实现定制开发的方法 | |
CN112667305A (zh) | 页面展示方法及装置 | |
CN112363728B (zh) | 一种支持持续集成构建的跨平台编译方法及系统 | |
CN104731622A (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN110727504A (zh) | 代码执行方法、装置和渲染设备 | |
CN103473113A (zh) | 一种通用的虚拟机收养方法 | |
CN104765624A (zh) | 虚拟机应用程序的更新处理方法和装置 | |
KR101117165B1 (ko) | 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛 | |
CN107977243A (zh) | 一种第三方接口调用方法及装置 | |
CN111506309B (zh) | 任务执行方法和系统、计算机可读存储介质 | |
CN108228266B (zh) | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 | |
CN110764779B (zh) | 封装方法、注册方法、装置和渲染设备 | |
KR20230058608A (ko) | 외래 코드의 에뮬레이션을 지원하기 위한 네이티브 에뮬레이션 호환 애플리케이션 바이너리 인터페이스 | |
CN102331928A (zh) | 一种源码级兼容混合api的方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 311121 room 102-1 / F, room 102-2 / F, building 6, Haizhi center, 2301 yuhangtang Road, Cangqian street, Yuhang District, Hangzhou, Zhejiang Province Applicant after: HANGZHOU DAISHU TECHNOLOGY Co.,Ltd. Address before: 310030 8F, building 2, Hangzhou Internet innovation and entrepreneurship Park, 176 Zixia street, Xihu District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU DAISHU TECHNOLOGY Co.,Ltd. |