FairPushy 是为 Flutter 设计的动态化框架的动态更新平台,通过 FairPushy 可视化平台实现项目的在编译和Fair资源补丁管理功能,使项目获得动态更新Fair补丁资源的能力。
fair_pushy:
git:
url: https://github.com/wuba/FairPushy.git
path: sdk
FairPushy.init(
appID: '1001',
updateUrl: "https://fangfe.58.com/fairapp/module_patch_bundle",
debug: true);
FairPushy.updateBundle(bundleid: "6005")
该方法内部实现补丁更新逻辑,包括补丁配置文件的获取,判断是否更新,补丁的下载,解压,缓存逻辑。
FairPushyWidget(
bundleid: BundleConst.car,
// targetPageName: "car_cate"
targetWidgetBuilder: (context) => CarCatePage());
在module间跳转的时候,可以先跳SDK中提供的中间件,中间件中实现了补丁的更新逻辑,走完更新补丁逻辑,会把目标页替换成传入的targetWidget。
如果接入方在多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]);
}
}
});