feat:添加新的初始化方法,增加config和uiconfig参数
parent
ce244c0623
commit
d86d2e232b
|
@ -30,7 +30,6 @@
|
||||||
for (NSDictionary *dict in _finStoreConfigs) {
|
for (NSDictionary *dict in _finStoreConfigs) {
|
||||||
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
|
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
|
||||||
storeConfig.sdkKey = dict[@"sdkKey"];
|
storeConfig.sdkKey = dict[@"sdkKey"];
|
||||||
// storeConfig.sdkKey = @"22LyZEib0gLTQdU3MUauAb4V4W8Uxd/gMgmH8Hg1bGQ=";
|
|
||||||
storeConfig.sdkSecret = dict[@"sdkSecret"];
|
storeConfig.sdkSecret = dict[@"sdkSecret"];
|
||||||
storeConfig.apiServer = dict[@"apiServer"];
|
storeConfig.apiServer = dict[@"apiServer"];
|
||||||
storeConfig.apmServer = dict[@"apmServer"];
|
storeConfig.apmServer = dict[@"apmServer"];
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
//
|
||||||
|
// Mop_newInitialize.h
|
||||||
|
// mop
|
||||||
|
//
|
||||||
|
// Created by 滔 on 2023/3/17.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import "MOPBaseApi.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface Mop_newInitialize : MOPBaseApi
|
||||||
|
@property (nonatomic, strong) NSDictionary *config;
|
||||||
|
@property (nonatomic, strong) NSDictionary *uiConfig;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,149 @@
|
||||||
|
//
|
||||||
|
// Mop_newInitialize.m
|
||||||
|
// mop
|
||||||
|
//
|
||||||
|
// Created by 滔 on 2023/3/17.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "Mop_newInitialize.h"
|
||||||
|
#import "MOPTools.h"
|
||||||
|
|
||||||
|
@implementation Mop_newInitialize
|
||||||
|
|
||||||
|
- (void)setupApiWithSuccess:(void (^)(NSDictionary<NSString *,id> * _Nonnull))success failure:(void (^)(id _Nullable))failure cancel:(void (^)(void))cancel
|
||||||
|
{
|
||||||
|
if (!self.config) {
|
||||||
|
failure(@"config不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
FATConfig *config;
|
||||||
|
NSArray *storeConfigList = self.config[@"storeConfigs"];
|
||||||
|
if (storeConfigList && storeConfigList.count > 0) {
|
||||||
|
NSMutableArray *storeArrayM = [NSMutableArray array];
|
||||||
|
for (NSDictionary *dict in storeConfigList) {
|
||||||
|
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
|
||||||
|
storeConfig.sdkKey = dict[@"sdkKey"];
|
||||||
|
storeConfig.sdkSecret = dict[@"sdkSecret"];
|
||||||
|
storeConfig.apiServer = dict[@"apiServer"];
|
||||||
|
storeConfig.apmServer = dict[@"apmServer"];
|
||||||
|
storeConfig.fingerprint = dict[@"fingerprint"];
|
||||||
|
if ([@"SM" isEqualToString:dict[@"cryptType"]]) {
|
||||||
|
storeConfig.cryptType = FATApiCryptTypeSM;
|
||||||
|
} else {
|
||||||
|
storeConfig.cryptType = FATApiCryptTypeMD5;
|
||||||
|
}
|
||||||
|
storeConfig.encryptServerData = [dict[@"encryptServerData"] boolValue];
|
||||||
|
[storeArrayM addObject:storeConfig];
|
||||||
|
}
|
||||||
|
config = [FATConfig configWithStoreConfigs:storeArrayM];
|
||||||
|
} else {
|
||||||
|
failure(@"storeConfigs不能为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
config.currentUserId = self.config[@"currentUserId"];
|
||||||
|
config.productIdentification = self.config[@"productIdentification"];
|
||||||
|
config.disableAuthorize = [self.config[@"disableAuthorize"] boolValue];
|
||||||
|
config.appletAutoAuthorize = [self.config[@"appletAutoAuthorize"] boolValue];
|
||||||
|
config.disableGetSuperviseInfo = [self.config[@"disableGetSuperviseInfo"] boolValue];
|
||||||
|
config.ignoreWebviewCertAuth = [self.config[@"ignoreWebviewCertAuth"] boolValue];
|
||||||
|
config.appletIntervalUpdateLimit = [self.config[@"appletIntervalUpdateLimit"] integerValue];
|
||||||
|
config.startCrashProtection = [self.config[@"startCrashProtection"] boolValue];
|
||||||
|
config.enableApmDataCompression = [self.config[@"enableApmDataCompression"] boolValue];
|
||||||
|
config.encryptServerData = [self.config[@"encryptServerData"] boolValue];
|
||||||
|
config.enableAppletDebug = [self.config[@"enableAppletDebug"] integerValue];
|
||||||
|
config.enableWatermark = [self.config[@"enableWatermark"] boolValue];
|
||||||
|
config.watermarkPriority = [self.config[@"watermarkPriority"] integerValue];
|
||||||
|
config.baseLoadingViewClass = self.config[@"baseLoadingViewClass"];
|
||||||
|
config.baseLoadFailedViewClass = self.config[@"baseLoadFailedViewClass"];
|
||||||
|
config.header = self.config[@"header"];
|
||||||
|
config.headerPriority = [self.config[@"headerPriority"] integerValue];
|
||||||
|
config.enableH5AjaxHook = [self.config[@"enableH5AjaxHook"] boolValue];
|
||||||
|
config.h5AjaxHookRequestKey = self.config[@"h5AjaxHookRequestKey"];
|
||||||
|
config.pageCountLimit = [self.config[@"pageCountLimit"] integerValue];
|
||||||
|
config.schemes = self.config[@"schemes"];
|
||||||
|
|
||||||
|
|
||||||
|
NSError* error = nil;
|
||||||
|
FATUIConfig *uiconfig = [[FATUIConfig alloc]init];
|
||||||
|
uiconfig.autoAdaptDarkMode = YES;
|
||||||
|
if (_uiConfig) {
|
||||||
|
if (_uiConfig[@"navigationTitleTextAttributes"]) {
|
||||||
|
uiconfig.navigationTitleTextAttributes = _uiConfig[@"navigationTitleTextAttributes"];
|
||||||
|
}
|
||||||
|
|
||||||
|
uiconfig.navigationBarHeight = [_uiConfig[@"navigationBarHeight"] floatValue];
|
||||||
|
if (_uiConfig[@"navigationBarTitleLightColor"]) {
|
||||||
|
uiconfig.navigationBarTitleLightColor = [MOPTools colorWithRGBHex:[_uiConfig[@"navigationBarTitleLightColor"] intValue]];
|
||||||
|
}
|
||||||
|
if (_uiConfig[@"navigationBarTitleDarkColor"]) {
|
||||||
|
uiconfig.navigationBarTitleDarkColor = [MOPTools colorWithRGBHex:[_uiConfig[@"navigationBarTitleDarkColor"] intValue]];
|
||||||
|
}
|
||||||
|
if (_uiConfig[@"navigationBarBackBtnLightColor"]) {
|
||||||
|
uiconfig.navigationBarBackBtnLightColor = [MOPTools colorWithRGBHex:[_uiConfig[@"navigationBarBackBtnLightColor"] intValue]];
|
||||||
|
}
|
||||||
|
if (_uiConfig[@"navigationBarBackBtnDarkColor"]) {
|
||||||
|
uiconfig.navigationBarBackBtnDarkColor = [MOPTools colorWithRGBHex:[_uiConfig[@"navigationBarBackBtnDarkColor"] intValue]];
|
||||||
|
}
|
||||||
|
uiconfig.moreMenuStyle = [_uiConfig[@"moreMenuStyle"] integerValue];
|
||||||
|
uiconfig.hideBackToHomePriority = [_uiConfig[@"hideBackToHomePriority"] integerValue];
|
||||||
|
uiconfig.hideFeedbackMenu = [_uiConfig[@"isHideFeedbackAndComplaints"] boolValue];
|
||||||
|
uiconfig.hideBackToHome = [_uiConfig[@"isHideBackHome"] boolValue];
|
||||||
|
uiconfig.hideForwardMenu = [_uiConfig[@"isHideForwardMenu"] boolValue];
|
||||||
|
// uiconfig. = [_uiConfig[@"isHideRefreshMenu"] integerValue];
|
||||||
|
uiconfig.moreMenuStyle = [_uiConfig[@"moreMenuStyle"] integerValue];
|
||||||
|
uiconfig.moreMenuStyle = [_uiConfig[@"moreMenuStyle"] integerValue];
|
||||||
|
if (_uiConfig[@"progressBarColor"]) {
|
||||||
|
uiconfig.progressBarColor = [MOPTools colorWithRGBHex:[_uiConfig[@"progressBarColor"] intValue]];
|
||||||
|
}
|
||||||
|
|
||||||
|
uiconfig.hideFeedbackMenu = [_uiConfig[@"isHideFeedbackAndComplaints"] boolValue];
|
||||||
|
uiconfig.hideForwardMenu = [_uiConfig[@"isHideForwardMenu"] boolValue];
|
||||||
|
uiconfig.autoAdaptDarkMode = [_uiConfig[@"autoAdaptDarkMode"] boolValue];
|
||||||
|
|
||||||
|
uiconfig.appletText = _uiConfig[@"appletText"];
|
||||||
|
uiconfig.hideTransitionCloseButton = [_uiConfig[@"hideTransitionCloseButton"] boolValue];
|
||||||
|
uiconfig.disableSlideCloseAppletGesture = [_uiConfig[@"disableSlideCloseAppletGesture"] boolValue];
|
||||||
|
if (_uiConfig[@"capsuleConfig"]) {
|
||||||
|
NSDictionary *capsuleConfigDic = _uiConfig[@"capsuleConfig"];
|
||||||
|
FATCapsuleConfig *capsuleConfig = [[FATCapsuleConfig alloc]init];
|
||||||
|
capsuleConfig.capsuleWidth = [capsuleConfigDic[@"capsuleWidth"] floatValue];
|
||||||
|
capsuleConfig.capsuleHeight = [capsuleConfigDic[@"capsuleHeight"] floatValue];
|
||||||
|
capsuleConfig.capsuleRightMargin = [capsuleConfigDic[@"capsuleRightMargin"] floatValue];
|
||||||
|
capsuleConfig.capsuleCornerRadius = [capsuleConfigDic[@"capsuleCornerRadius"] floatValue];
|
||||||
|
capsuleConfig.capsuleBorderWidth = [capsuleConfigDic[@"capsuleBorderWidth"] floatValue];
|
||||||
|
capsuleConfig.moreBtnWidth = [capsuleConfigDic[@"moreBtnWidth"] floatValue];
|
||||||
|
capsuleConfig.moreBtnLeftMargin = [capsuleConfigDic[@"moreBtnLeftMargin"] floatValue];
|
||||||
|
capsuleConfig.closeBtnWidth = [capsuleConfigDic[@"closeBtnWidth"] floatValue];
|
||||||
|
capsuleConfig.closeBtnLeftMargin = [capsuleConfigDic[@"closeBtnLeftMargin"] floatValue];
|
||||||
|
|
||||||
|
|
||||||
|
capsuleConfig.capsuleBorderLightColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleBorderLightColor"] intValue]];
|
||||||
|
capsuleConfig.capsuleBorderDarkColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleBorderDarkColor"] intValue]];
|
||||||
|
capsuleConfig.capsuleBgLightColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleBgLightColor"] intValue]];
|
||||||
|
capsuleConfig.capsuleBgDarkColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleBgDarkColor"] intValue]];
|
||||||
|
capsuleConfig.capsuleDividerLightColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleDividerLightColor"] intValue]];
|
||||||
|
capsuleConfig.capsuleDividerDarkColor = [MOPTools colorWithRGBHex:[capsuleConfigDic[@"capsuleDividerDarkColor"] intValue]];
|
||||||
|
uiconfig.capsuleConfig = capsuleConfig;
|
||||||
|
|
||||||
|
}
|
||||||
|
uiconfig.appendingCustomUserAgent = _uiConfig[@"customWebViewUserAgent"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// uiconfig.moreMenuStyle = FATMoreViewStyleNormal;
|
||||||
|
[[FATClient sharedClient] initWithConfig:config uiConfig:uiconfig error:&error];
|
||||||
|
if (error) {
|
||||||
|
failure(@"初始化失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// [[FATExtClient sharedClient] fat_prepareExtensionApis];
|
||||||
|
[[FATClient sharedClient].logManager initLogWithLogDir:nil logLevel:FATLogLevelVerbose consoleLog:YES];
|
||||||
|
|
||||||
|
|
||||||
|
[[FATClient sharedClient] setEnableLog:YES];
|
||||||
|
|
||||||
|
success(@{});
|
||||||
|
|
||||||
|
}
|
||||||
|
@end
|
590
lib/mop.dart
590
lib/mop.dart
|
@ -51,9 +51,198 @@ class FinStoreConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FATConfig {
|
||||||
|
/**
|
||||||
|
当前用户id,对应管理后台的用户管理->成员管理->用户id。
|
||||||
|
若体验版本配置了体验成员,则需要设置正确的userId才能具备打开小程序的权限
|
||||||
|
登录/切换用户/退出登录时,需要修改此值。
|
||||||
|
小程序缓存信息会存储在以userId命名的不同目录下。
|
||||||
|
*/
|
||||||
|
String? currentUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
产品的标识,非必传,默认为存储目录里的finclip,finogeeks和userAgent里的finogeeks
|
||||||
|
*/
|
||||||
|
String? productIdentification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否不让SDK申请权限
|
||||||
|
如果设置为true,则SDK内使用权限的api,不会主动申请权限
|
||||||
|
*/
|
||||||
|
bool disableAuthorize = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序自动申请授权
|
||||||
|
如果设置为true,则小程序申请权限时不会弹出用户确认提示框
|
||||||
|
*/
|
||||||
|
bool appletAutoAuthorize = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否禁用SDK的监管接口API(默认开启:false)
|
||||||
|
如果设置为true,则SDK禁用监管接口API
|
||||||
|
*/
|
||||||
|
bool disableGetSuperviseInfo = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否忽略webview的证书校验,默认为false,进行校验
|
||||||
|
如果设置为true,则忽略校验Https的证书
|
||||||
|
*/
|
||||||
|
bool ignoreWebviewCertAuth = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
后台自动检查更新的小程序个数
|
||||||
|
初始化SDK成功后,如处于wifi网络下,更新最近使用的x个小程序
|
||||||
|
取值范围:0~50。0代表不检查更新;不设置默认是3。
|
||||||
|
*/
|
||||||
|
int appletIntervalUpdateLimit = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
apm 统计的扩展信息
|
||||||
|
*/
|
||||||
|
Map<String,String>? apmExtension;
|
||||||
|
|
||||||
|
/** 是否开启Crash防崩溃,默认为false。(iOS支持)
|
||||||
|
如果开启,可以防止如下类型的崩溃:UnrecognizedSelector、KVO、Notification、Timer、Container(数组越界,字典插入nil等)、String (越界、nil等)
|
||||||
|
如果在开发阶段,建议关闭该属性,否则开发时不便于及时发现代码中的崩溃问题。
|
||||||
|
*/
|
||||||
|
bool startCrashProtection = false;
|
||||||
|
|
||||||
|
Map? theme;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据上报时,是否压缩请求的数据
|
||||||
|
* 默认为false
|
||||||
|
*/
|
||||||
|
bool enableApmDataCompression = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否需要接口加密验证(初始化单服务器时使用)
|
||||||
|
默认为不开启,当设置为YES时开启,接口返回加密数据并处理
|
||||||
|
*/
|
||||||
|
bool encryptServerData = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否开启小程序的debug模式。
|
||||||
|
默认为FATBOOLStateUndefined,此时为旧版通过app.json 中 debug:true 开启vconsole。
|
||||||
|
当设置为FATBOOLStateTrue时,强制所有的小程序都会开启vconsole。
|
||||||
|
当设置为FATBOOLStateFalse时,非正式版会在更多菜单里显示打开和关闭调试的菜单。
|
||||||
|
当设置为FATBOOLStateForbidden时,所有版本强制关闭vconsole,且不可调api开启,多面板不展示打开、关闭调试菜单
|
||||||
|
*/
|
||||||
|
@property (nonatomic, assign) FATBOOLState enableAppletDebug;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否显示水印
|
||||||
|
*/
|
||||||
|
bool enableWatermark = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
显示水印优先级设置,默认全局配置优先
|
||||||
|
*/
|
||||||
|
ConfigPriority watermarkPriority = ConfigPriority.ConfigGlobalPriority;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序的自定义启动加载页,非必填。
|
||||||
|
自定义启动加载页必须继承自FATBaseLoadingView
|
||||||
|
注意:swift中的类名带有命名空间,需要在前拼接项目文件名,如:“SwiftDemo.FCloadingView”。其中SwiftDemo是项目名,FCloadingView是类名
|
||||||
|
*/
|
||||||
|
String? baseLoadingViewClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序的自定义启动失败页,非必填。
|
||||||
|
自定义启动失败页必须继承自FATBaseLoadFailedView
|
||||||
|
注意:swift中的类名带有命名空间,需要在前拼接项目文件名,如:“SwiftDemo.FCloadingView”。其中SwiftDemo是项目名,FCloadingView是类名
|
||||||
|
*/
|
||||||
|
String? baseLoadFailedViewClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
统一设置小程序中网络请求的header。
|
||||||
|
注意,如果小程序调用api时也传递了相同的key,则会用小程序传递的参数覆盖。
|
||||||
|
对ft.request、ft.downloadFile、ft.uploadFile均会生效
|
||||||
|
*/
|
||||||
|
Map<String,dynamic>? header;
|
||||||
|
|
||||||
|
/**
|
||||||
|
header优先级设置,默认全局配置优先
|
||||||
|
*/
|
||||||
|
ConfigPriority headerPriority = ConfigPriority.ConfigGlobalPriority;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否开启小程序中加载的H5页面hook功能,非必填。
|
||||||
|
如果宿主app 拦截了http 或https,会导致H5中的request 丢失body。我们SDK为了兼容这一问题,会hook request请求,
|
||||||
|
在发起请求之前,先将body中的参数,通过代理方法传递给宿主App。宿主App可自行存储每个request的body,然后在
|
||||||
|
自定义的URLProtocol里发起请求之前,组装上body内容。
|
||||||
|
*/
|
||||||
|
bool enableH5AjaxHook = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
开启enableH5AjaxHook后,会hook request请求,会在原request 的url 后拼上一个FinClipHookBridge-RequestId=xxx的参数。
|
||||||
|
而该参数可设置参数名,比如您可以设置Key 为 FinClip-RequestId,这样会拼接FinClip-RequestId=xxx的参数。
|
||||||
|
*/
|
||||||
|
String? h5AjaxHookRequestKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序中页面栈的最大限制。默认值为0,标识不限制。
|
||||||
|
例如,设置为5,则表示页面栈中最多可有5个页面。从主页最多可再navigateTo 4 层页面。
|
||||||
|
*/
|
||||||
|
int pageCountLimit = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
自定义的scheme数组
|
||||||
|
*/
|
||||||
|
List<String> schemes = [];
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"currentUserId": currentUserId,
|
||||||
|
"productIdentification": productIdentification,
|
||||||
|
|
||||||
|
"disableAuthorize": disableAuthorize,
|
||||||
|
"appletAutoAuthorize": appletAutoAuthorize,
|
||||||
|
"disableGetSuperviseInfo": disableGetSuperviseInfo,
|
||||||
|
"ignoreWebviewCertAuth": ignoreWebviewCertAuth,
|
||||||
|
"appletIntervalUpdateLimit": appletIntervalUpdateLimit,
|
||||||
|
"apmExtension": apmExtension,
|
||||||
|
"enableApmDataCompression": enableApmDataCompression,
|
||||||
|
"encryptServerData": encryptServerData,
|
||||||
|
"enableAppletDebug": enableAppletDebug,
|
||||||
|
"enableWatermark": enableWatermark,
|
||||||
|
"watermarkPriority": watermarkPriority.index,
|
||||||
|
"baseLoadingViewClass": baseLoadingViewClass,
|
||||||
|
"baseLoadFailedViewClass": baseLoadFailedViewClass,
|
||||||
|
"header": header,
|
||||||
|
"headerPriority": headerPriority.index,
|
||||||
|
"enableH5AjaxHook": enableH5AjaxHook,
|
||||||
|
"pageCountLimit": pageCountLimit,
|
||||||
|
"schemes": schemes,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class UIConfig {
|
class UIConfig {
|
||||||
Map<String, dynamic>? navigationTitleTextAttributes; //导航栏的标题样式,目前支持了font
|
Map<String, dynamic>? navigationTitleTextAttributes; //导航栏的标题样式,目前支持了font
|
||||||
|
|
||||||
|
//导航栏的高度(不含状态栏高度),默认值为44
|
||||||
|
double navigationBarHeight = 44;
|
||||||
|
|
||||||
|
//导航栏的标题颜色(深色主题),默认值为白色
|
||||||
|
int navigationBarTitleLightColor = 0xffffffff;
|
||||||
|
|
||||||
|
//导航栏的标题颜色(明亮主题),默认值为黑色
|
||||||
|
int navigationBarTitleDarkColor = 0xff000000;
|
||||||
|
|
||||||
|
//导航栏的返回按钮颜色(深色主题),默认值为白色
|
||||||
|
int navigationBarBackBtnLightColor = 0xffffffff;
|
||||||
|
|
||||||
|
//导航栏的返回按钮颜色(明亮主题),默认值为黑色
|
||||||
|
int navigationBarBackBtnDarkColor 0xff000000;
|
||||||
|
|
||||||
|
// int? navigationBackImage;
|
||||||
|
//弹出的菜单视图的样式 0:默认 1:
|
||||||
|
int moreMenuStyle = 0;
|
||||||
|
|
||||||
|
//隐藏导航栏返回首页按钮的优先级设置,默认全局配置优先 不支持FATConfigAppletFilePriority
|
||||||
|
ConfigPriority hideBackToHomePriority = ConfigPriority.ConfigGlobalPriority
|
||||||
|
|
||||||
///当导航栏为默认导航栏时,是否始终显示返回按钮
|
///当导航栏为默认导航栏时,是否始终显示返回按钮
|
||||||
bool isAlwaysShowBackInDefaultNavigationBar = false;
|
bool isAlwaysShowBackInDefaultNavigationBar = false;
|
||||||
|
|
||||||
|
@ -66,9 +255,21 @@ class UIConfig {
|
||||||
///是否隐藏"更多"菜单中的"返回首页"菜单入口
|
///是否隐藏"更多"菜单中的"返回首页"菜单入口
|
||||||
bool isHideBackHome = false;
|
bool isHideBackHome = false;
|
||||||
|
|
||||||
///是否隐藏"更多"菜单中的"转发"按钮
|
//隐藏...弹出菜单中的 【转发】 的菜单,默认为false
|
||||||
bool isHideForwardMenu = false;
|
bool isHideForwardMenu = false;
|
||||||
|
|
||||||
|
//隐藏...弹出菜单中的 【反馈与投诉】 的菜单,默认为false
|
||||||
|
bool isHideFeedbackMenu = false;
|
||||||
|
|
||||||
|
//隐藏...弹出菜单中的 【分享】 的菜单,默认为true
|
||||||
|
bool isHideShareAppletMenu = true;
|
||||||
|
|
||||||
|
//隐藏...弹出菜单中的 【重新进入小程序】 的菜单,默认为false
|
||||||
|
bool isHideRefreshMenu = false;
|
||||||
|
|
||||||
|
//隐藏...弹出菜单中的 【设置】 的菜单,默认为false
|
||||||
|
bool isHideSettingMenu = false;
|
||||||
|
|
||||||
/// 加载小程序过程中(小程序Service层还未加载成功,基础库还没有向SDK传递小程序配置信息),是否隐藏导航栏的关闭按钮
|
/// 加载小程序过程中(小程序Service层还未加载成功,基础库还没有向SDK传递小程序配置信息),是否隐藏导航栏的关闭按钮
|
||||||
bool hideTransitionCloseButton = false;
|
bool hideTransitionCloseButton = false;
|
||||||
|
|
||||||
|
@ -78,21 +279,57 @@ class UIConfig {
|
||||||
/// 胶囊按钮配置
|
/// 胶囊按钮配置
|
||||||
CapsuleConfig? capsuleConfig;
|
CapsuleConfig? capsuleConfig;
|
||||||
|
|
||||||
|
//返回首页按钮的配置
|
||||||
|
NavHomeConfig? navHomeConfig;
|
||||||
|
|
||||||
FloatWindowConfig? floatWindowConfig;
|
FloatWindowConfig? floatWindowConfig;
|
||||||
|
|
||||||
|
//权限弹窗UI配置
|
||||||
|
AuthViewConfig? authViewConfig;
|
||||||
|
|
||||||
//iOS中独有的设置属性
|
//iOS中独有的设置属性
|
||||||
//小程序里加载H5页面时进度条的颜色 格式 0xFFFFAA00
|
//小程序里加载H5页面时进度条的颜色 格式 0xFFFFAA00
|
||||||
int? progressBarColor;
|
int? progressBarColor;
|
||||||
|
|
||||||
|
//隐藏小程序里加载H5时进度条,默认为false
|
||||||
|
bool hideWebViewProgressBar = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//是否自适应暗黑模式。如果设置为true,则更多页面、关于等原生页面会随着手机切换暗黑,也自动调整为暗黑模式
|
//是否自适应暗黑模式。如果设置为true,则更多页面、关于等原生页面会随着手机切换暗黑,也自动调整为暗黑模式
|
||||||
bool autoAdaptDarkMode = true;
|
bool autoAdaptDarkMode = true;
|
||||||
|
|
||||||
|
//要拼接的userAgent字符串
|
||||||
|
String? appendingCustomUserAgent;
|
||||||
|
/**
|
||||||
|
打开小程序时的默认动画方式,默认为FATTranstionStyleUp。
|
||||||
|
该属性主要针对非api方式打开小程序时的动画缺省值。主要改变如下场景的动画方式:
|
||||||
|
1. scheme 打开小程序;
|
||||||
|
2. universal link 打开小程序;
|
||||||
|
3. navigateToMiniprogram
|
||||||
|
*/
|
||||||
|
TranstionStyle transtionStyle = TranstionStyle.TranstionStyleUp;
|
||||||
|
|
||||||
|
//是否隐藏转场页的关闭按钮。默认为false
|
||||||
|
bool hideTransitionCloseButton = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
是否禁用侧滑关闭小程序的手势。默认为NO
|
||||||
|
该手势禁用,不影响小程序里页面的侧滑返回上一页的功能
|
||||||
|
*/
|
||||||
|
bool disableSlideCloseAppletGesture = false;
|
||||||
|
|
||||||
//注入小程序统称appletText字符串,默认为“小程序”。
|
//注入小程序统称appletText字符串,默认为“小程序”。
|
||||||
String? appletText;
|
String? appletText;
|
||||||
|
|
||||||
Map<String, dynamic> toMap() {
|
Map<String, dynamic> toMap() {
|
||||||
return {
|
return {
|
||||||
"navigationTitleTextAttributes": navigationTitleTextAttributes,
|
"navigationTitleTextAttributes": navigationTitleTextAttributes,
|
||||||
|
"navigationBarHeight": navigationBarHeight,
|
||||||
|
"navigationBarTitleLightColor": navigationBarTitleLightColor,
|
||||||
|
"navigationBarTitleDarkColor": navigationBarTitleDarkColor,
|
||||||
|
"navigationBarBackBtnLightColor": navigationBarBackBtnLightColor,
|
||||||
|
"navigationBarBackBtnDarkColor": navigationBarBackBtnDarkColor,
|
||||||
"isAlwaysShowBackInDefaultNavigationBar":
|
"isAlwaysShowBackInDefaultNavigationBar":
|
||||||
isAlwaysShowBackInDefaultNavigationBar,
|
isAlwaysShowBackInDefaultNavigationBar,
|
||||||
"isClearNavigationBarNavButtonBackground":
|
"isClearNavigationBarNavButtonBackground":
|
||||||
|
@ -100,12 +337,25 @@ class UIConfig {
|
||||||
"isHideFeedbackAndComplaints": isHideFeedbackAndComplaints,
|
"isHideFeedbackAndComplaints": isHideFeedbackAndComplaints,
|
||||||
"isHideBackHome": isHideBackHome,
|
"isHideBackHome": isHideBackHome,
|
||||||
"isHideForwardMenu": isHideForwardMenu,
|
"isHideForwardMenu": isHideForwardMenu,
|
||||||
|
"isHideRefreshMenu": isHideRefreshMenu,
|
||||||
|
"isHideFeedbackMenu": isHideFeedbackMenu,
|
||||||
|
"isHideShareAppletMenu": isHideShareAppletMenu,
|
||||||
|
"isHideSettingMenu": isHideSettingMenu,
|
||||||
"hideTransitionCloseButton": hideTransitionCloseButton,
|
"hideTransitionCloseButton": hideTransitionCloseButton,
|
||||||
"disableSlideCloseAppletGesture": disableSlideCloseAppletGesture,
|
"disableSlideCloseAppletGesture": disableSlideCloseAppletGesture,
|
||||||
"capsuleConfig": capsuleConfig?.toMap(),
|
"capsuleConfig": capsuleConfig?.toMap(),
|
||||||
|
"navHomeConfig": navHomeConfig?.toMap(),
|
||||||
|
"authViewConfig": authViewConfig,toMap(,)
|
||||||
"floatWindowConfig": floatWindowConfig?.toMap(),
|
"floatWindowConfig": floatWindowConfig?.toMap(),
|
||||||
"progressBarColor": progressBarColor,
|
"progressBarColor": progressBarColor,
|
||||||
|
"hideWebViewProgressBar": hideWebViewProgressBar,
|
||||||
|
"moreMenuStyle": moreMenuStyle,
|
||||||
|
"hideBackToHomePriority": hideBackToHomePriority,
|
||||||
"autoAdaptDarkMode": autoAdaptDarkMode,
|
"autoAdaptDarkMode": autoAdaptDarkMode,
|
||||||
|
"appendingCustomUserAgent": appendingCustomUserAgent,
|
||||||
|
"transtionStyle":transtionStyle.index,
|
||||||
|
"hideTransitionCloseButton": hideTransitionCloseButton,
|
||||||
|
"disableSlideCloseAppletGesture": disableSlideCloseAppletGesture,
|
||||||
"appletText": appletText
|
"appletText": appletText
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -218,6 +468,316 @@ class FloatWindowConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class NavHomeConfig {
|
||||||
|
/**
|
||||||
|
返回首页按钮的宽度
|
||||||
|
*/
|
||||||
|
double width;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的高度
|
||||||
|
*/
|
||||||
|
double height;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的左边距,默认值为10
|
||||||
|
*/
|
||||||
|
double leftMargin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的圆角半径,默认值为5
|
||||||
|
*/
|
||||||
|
double cornerRadius;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的边框宽度,默认值为0.8
|
||||||
|
*/
|
||||||
|
double borderWidth;
|
||||||
|
|
||||||
|
/**
|
||||||
|
浅色返回首页按钮的图片对象,如果不传,会使用默认图标
|
||||||
|
(暗黑模式)
|
||||||
|
*/
|
||||||
|
// int? lightImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
深色返回首页按钮的图片对象,如果不传,会使用默认图标
|
||||||
|
(明亮模式)
|
||||||
|
*/
|
||||||
|
// int? darkImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的边框浅色颜色
|
||||||
|
(暗黑模式)
|
||||||
|
*/
|
||||||
|
int borderLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的边框深色颜色
|
||||||
|
(明亮模式)
|
||||||
|
*/
|
||||||
|
int borderDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的背景浅色颜色
|
||||||
|
(明亮模式)
|
||||||
|
*/
|
||||||
|
int bgLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
返回首页按钮的背景深色颜色
|
||||||
|
(暗黑模式)
|
||||||
|
*/
|
||||||
|
int bgDarkColor;
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"width": width,
|
||||||
|
"height": height,
|
||||||
|
"leftMargin": leftMargin,
|
||||||
|
"cornerRadius": cornerRadius,
|
||||||
|
"borderWidth": borderWidth,
|
||||||
|
"borderLightColor": borderLightColor,
|
||||||
|
"borderDarkColor": borderDarkColor,
|
||||||
|
"bgLightColor": bgLightColor,
|
||||||
|
"bgDarkColor": bgDarkColor,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AuthViewConfig {
|
||||||
|
/**
|
||||||
|
小程序名称字体大小,默认字体为PingFangSC-Regular,默认大小16
|
||||||
|
*/
|
||||||
|
int appletNameFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序名称的浅色颜色(明亮模式),默认#202020
|
||||||
|
*/
|
||||||
|
int appletNameLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
小程序名称的深色颜色(暗黑模式),默认#D0D0D0
|
||||||
|
*/
|
||||||
|
int appletNameDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
隐私协议入口icon(明亮模式),大小:22pt(@2× @3×)
|
||||||
|
*/
|
||||||
|
int agreementLightImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
隐私协议入口icon(暗黑模式),大小:22pt(@2× @3×)
|
||||||
|
*/
|
||||||
|
int agreementDarkImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限标题字体大小,默认字体为PingFangSC-Medium,默认大小17
|
||||||
|
备注:权限选项文字字体大小使用该配置项,但字体固定为PingFangSC-Regular
|
||||||
|
*/
|
||||||
|
int authorizeTitleFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限标题的浅色颜色(明亮模式),默认#202020
|
||||||
|
备注:权限选项文字字体颜色使用该配置项
|
||||||
|
*/
|
||||||
|
int authorizeTitleLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限标题的深色颜色(暗黑模式),默认#D0D0D0
|
||||||
|
备注:权限选项文字字体颜色使用该配置项
|
||||||
|
*/
|
||||||
|
int authorizeTitleDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限描述字体大小,默认字体为PingFangSC-Regular,默认大小14
|
||||||
|
*/
|
||||||
|
int authorizeDescriptionFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限描述的浅色颜色(明亮模式),默认#666666
|
||||||
|
*/
|
||||||
|
int authorizeDescriptionLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限描述的深色颜色(暗黑模式),默认#8C8C8C
|
||||||
|
*/
|
||||||
|
int authorizeDescriptionDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议标题字体大小,默认字体为PingFangSC-Regular,默认大小16
|
||||||
|
*/
|
||||||
|
int agreementTitleFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议标题的浅色颜色(明亮模式),默认#202020
|
||||||
|
*/
|
||||||
|
int agreementTitleLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议标题的深色颜色(暗黑模式),默认#D0D0D0
|
||||||
|
*/
|
||||||
|
int agreementTitleDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议描述字体大小,默认字体为PingFangSC-Regular,默认大小14
|
||||||
|
*/
|
||||||
|
int agreementDescriptionFont;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议描述的浅色颜色(明亮模式),默认#202020
|
||||||
|
*/
|
||||||
|
int agreementDescriptionLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
协议描述的深色颜色(暗黑模式),默认#D0D0D0
|
||||||
|
*/
|
||||||
|
int agreementDescriptionDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限选项选中时的icon(明亮模式),大小:22pt(@2× @3×)
|
||||||
|
*/
|
||||||
|
int authorizeSelectedLightImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
权限选项选中时的icon(暗黑模式),大小:22pt(@2× @3×)
|
||||||
|
*/
|
||||||
|
int authorizeSelectedDarkImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
链接的浅色颜色(明亮模式),默认#409EFF
|
||||||
|
*/
|
||||||
|
int linkLightColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
链接的深色颜色(暗黑模式),默认#368CE4
|
||||||
|
*/
|
||||||
|
int linkDarkColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
同意按钮配置(明亮模式),默认配置如下:
|
||||||
|
圆角:4
|
||||||
|
默认背景色:#4285F4
|
||||||
|
默认描边:#4285F4
|
||||||
|
默认文字颜色:#FFFFFF
|
||||||
|
按下背景色:#3B77DB
|
||||||
|
按下默认描边:#3B77DB
|
||||||
|
按下文字颜色:#FFFFFF
|
||||||
|
*/
|
||||||
|
AuthButtonConfig allowButtonLightConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
同意按钮配置(暗黑模式),默认配置如下:
|
||||||
|
圆角:4
|
||||||
|
默认背景色:#4285F4
|
||||||
|
默认描边:#4285F4
|
||||||
|
默认文字颜色:#FFFFFF
|
||||||
|
按下背景色:#5E97F5
|
||||||
|
按下默认描边:#5E97F5
|
||||||
|
按下文字颜色:#FFFFFF
|
||||||
|
*/
|
||||||
|
AuthButtonConfig allowButtonDarkConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
拒绝按钮配置(明亮模式),默认配置如下:
|
||||||
|
圆角:4
|
||||||
|
默认背景色:#FFFFFF
|
||||||
|
默认描边:#E2E2E2
|
||||||
|
默认文字颜色:#222222
|
||||||
|
按下背景色:#D8D8D8
|
||||||
|
按下默认描边:#D8D8D8
|
||||||
|
按下文字颜色:#222222
|
||||||
|
*/
|
||||||
|
AuthButtonConfig rejectButtonLightConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
拒绝按钮配置(暗黑模式),默认配置如下:
|
||||||
|
圆角:4
|
||||||
|
默认背景色:#2C2C2C
|
||||||
|
默认描边:#2C2C2C
|
||||||
|
默认文字颜色:#D0D0D0
|
||||||
|
按下背景色:#414141
|
||||||
|
按下默认描边:#414141
|
||||||
|
按下文字颜色:#D0D0D0
|
||||||
|
*/
|
||||||
|
AuthButtonConfig rejectButtonDarkConfig;
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"appletNameFont": appletNameFont,
|
||||||
|
"appletNameLightColor": appletNameLightColor,
|
||||||
|
"appletNameDarkColor": appletNameDarkColor,
|
||||||
|
"authorizeTitleFont": authorizeTitleFont,
|
||||||
|
"authorizeTitleLightColor": authorizeTitleLightColor,
|
||||||
|
"authorizeTitleDarkColor": authorizeTitleDarkColor,
|
||||||
|
"authorizeDescriptionFont": authorizeDescriptionFont,
|
||||||
|
"authorizeDescriptionLightColor": authorizeDescriptionLightColor,
|
||||||
|
"authorizeDescriptionDarkColor": authorizeDescriptionDarkColor,
|
||||||
|
|
||||||
|
"agreementTitleFont": agreementTitleFont,
|
||||||
|
"agreementTitleLightColor": agreementTitleLightColor,
|
||||||
|
"agreementTitleDarkColor": agreementTitleDarkColor,
|
||||||
|
"agreementDescriptionFont": agreementDescriptionFont,
|
||||||
|
"agreementDescriptionDarkColor": agreementDescriptionDarkColor,
|
||||||
|
"linkLightColor": linkLightColor,
|
||||||
|
"linkDarkColor": linkDarkColor,
|
||||||
|
"allowButtonLightConfig": allowButtonLightConfig.toMap(),
|
||||||
|
"allowButtonDarkConfig": allowButtonDarkConfig.toMap(),
|
||||||
|
"rejectButtonLightConfig": rejectButtonLightConfig.toMap(),
|
||||||
|
"rejectButtonDarkConfig": rejectButtonDarkConfig.toMap(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AuthButtonConfig {
|
||||||
|
/**
|
||||||
|
按钮的圆角半径
|
||||||
|
*/
|
||||||
|
double cornerRadius;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮默认背景颜色
|
||||||
|
*/
|
||||||
|
int normalBackgroundColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮按下背景颜色
|
||||||
|
*/
|
||||||
|
int pressedBackgroundColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮默认文字颜色
|
||||||
|
*/
|
||||||
|
int normalTextColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮按下文字颜色
|
||||||
|
*/
|
||||||
|
int pressedTextColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮默认边框颜色
|
||||||
|
*/
|
||||||
|
int normalBorderColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
按钮按下边框颜色
|
||||||
|
*/
|
||||||
|
int pressedBorderColor;
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
"cornerRadius": cornerRadius,
|
||||||
|
"normalBackgroundColor": normalBackgroundColor,
|
||||||
|
"pressedBackgroundColor": pressedBackgroundColor,
|
||||||
|
"normalTextColor": normalTextColor,
|
||||||
|
"pressedTextColor": pressedTextColor,
|
||||||
|
"normalBorderColor": normalBorderColor,
|
||||||
|
"pressedBorderColor": pressedBorderColor
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class BaseAppletRequest {
|
class BaseAppletRequest {
|
||||||
// 服务器地址,必填
|
// 服务器地址,必填
|
||||||
String apiServer;
|
String apiServer;
|
||||||
|
@ -325,6 +885,17 @@ enum Anim {
|
||||||
NoneAnim
|
NoneAnim
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ConfigPriority {
|
||||||
|
ConfigGlobalPriority , //全局配置优先
|
||||||
|
ConfigSpecifiedPriority, // 单个配置优先
|
||||||
|
ConfigAppletFilePriority, // 小程序配置文件优先,小程序app.ext.json文件中配置
|
||||||
|
}
|
||||||
|
|
||||||
|
enum TranstionStyle {
|
||||||
|
TranstionStyleUp, // 页面从下往上弹出,类似present效果
|
||||||
|
TranstionStylePush, // 页面从右往左弹出,类似push效果
|
||||||
|
}
|
||||||
|
|
||||||
class Mop {
|
class Mop {
|
||||||
static final Mop _instance = new Mop._internal();
|
static final Mop _instance = new Mop._internal();
|
||||||
late MethodChannel _channel;
|
late MethodChannel _channel;
|
||||||
|
@ -405,6 +976,7 @@ class Mop {
|
||||||
/// [userId] 用户id
|
/// [userId] 用户id
|
||||||
/// [finStoreConfigs] 多服务配置
|
/// [finStoreConfigs] 多服务配置
|
||||||
/// [uiConfig] UI配置
|
/// [uiConfig] UI配置
|
||||||
|
/// [config] 小程序相关配置
|
||||||
/// [debug] 设置debug模式,影响调试和日志
|
/// [debug] 设置debug模式,影响调试和日志
|
||||||
/// [customWebViewUserAgent] 设置自定义webview ua
|
/// [customWebViewUserAgent] 设置自定义webview ua
|
||||||
/// [appletIntervalUpdateLimit] 设置小程序批量更新周期
|
/// [appletIntervalUpdateLimit] 设置小程序批量更新周期
|
||||||
|
@ -452,6 +1024,22 @@ class Mop {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<Map> newInitialize(
|
||||||
|
FATConfig config,
|
||||||
|
{
|
||||||
|
UIConfig? uiConfig
|
||||||
|
}
|
||||||
|
}) async {
|
||||||
|
List<Map<String, dynamic>>? storeConfigs =
|
||||||
|
finStoreConfigs?.map((e) => e.toMap()).toList();
|
||||||
|
|
||||||
|
final Map ret = await _channel.invokeMethod('newInitialize', {
|
||||||
|
'config': config,
|
||||||
|
'uiConfig': uiConfig,
|
||||||
|
});
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/// open the miniprogram [appId] from the mop server.
|
/// open the miniprogram [appId] from the mop server.
|
||||||
/// 打开小程序
|
/// 打开小程序
|
||||||
/// [appId] is required.
|
/// [appId] is required.
|
||||||
|
|
Loading…
Reference in New Issue