Skip to content
forked from wuba/FairPushy

FairPushy 基于Dart三端一体化动态更新平台,为Flutter Fair设计的动态化框架提供动态分发能力

Notifications You must be signed in to change notification settings

abddome/FairPushy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

social preview FairPushy 是为 Flutter 设计的动态化框架的动态更新平台,通过 FairPushy 可视化平台实现项目的在编译和Fair资源补丁管理功能,使项目获得动态更新Fair补丁资源的能力。

移动端SDK接入方式

引入SDK

fair_pushy:
   git:
           url: https://github.com/wuba/FairPushy.git
          path: sdk

初始化SDK

FairPushy.init(
      appID: '1001',
      updateUrl: "https://fangfe.58.com/fairapp/module_patch_bundle",
      debug: true);

调用模块更新api

FairPushy.updateBundle(bundleid: "6005")

该方法内部实现补丁更新逻辑,包括补丁配置文件的获取,判断是否更新,补丁的下载,解压,缓存逻辑。

使用loading中间件

 FairPushyWidget(
         bundleid: BundleConst.car,
        // targetPageName: "car_cate"
       targetWidgetBuilder: (context) => CarCatePage());

在module间跳转的时候,可以先跳SDK中提供的中间件,中间件中实现了补丁的更新逻辑,走完更新补丁逻辑,会把目标页替换成传入的targetWidget。

getConfigs接口

如果接入方在多module的工程结构下,想进app就下载所有的补丁文件,可以调用该接口获取appid对应项目下的所有补丁config信息,然后调用downloadConfig方法进行下载。

FairPushy.getConfigs("https://fangfe.58.com/fairapp/module_patch_app").then((value) {
  if (null != value && value.isNotEmpty) {
    for (var i = 0; i < value.length; i++) {
      FairPushy.downloadConfig(value[i]);
    }
  }
});

About

FairPushy 基于Dart三端一体化动态更新平台,为Flutter Fair设计的动态化框架提供动态分发能力

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 98.2%
  • HTML 1.0%
  • Ruby 0.5%
  • Shell 0.2%
  • Swift 0.1%
  • Kotlin 0.0%