FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# SDK初始化

在使用小程序的API之前,需要先初始化小程序SDK。只有SDK初始化成功之后,才能使用SDK提供的API,否则 API调用都会失败。

# 1 初始化

初始化SDK的API有两个:

/// 初始化SDK
/// @param config 配置对象
/// @param error 初始化失败时返回的error
- (BOOL)initWithConfig:(FATConfig *)config error:(NSError **)error;

/// 初始化SDK
/// @param config 配置对象
/// @param uiConfig UI配置对象
/// @param error 初始化失败时返回的error
- (BOOL)initWithConfig:(FATConfig *)config uiConfig:(FATUIConfig *)uiConfig error:(NSError **)error;

初始化示例:

FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
storeConfig.sdkKey = @"这里填上的SDK Key";
storeConfig.sdkSecret = @"这里填上SDK secret";
storeConfig.apiServer = @"这里填上你们的服务器地址"; // 例如:https://api.finclip.com;
FATConfig *config = [FATConfig configWithStoreConfigs:@[storeConfig]];
    
[[FATClient sharedClient] initWithConfig:config error:nil];

注意

  1. 从2.13.109版本开始,FinClip SDK 支持配置多个服务器信息,这样就可以打开A服务器上的小程序,又可以打开B服务器上的小程序,所以我们提供了配置多个服务器信息的方式。
  2. configWithAppSecret:appKey:未来会弃用,请尽早替换为configWithStoreConfigs的方式构造FATConfig。
  3. 自2.34.1开始,不再需要配置apiPrefix,内部已经在接口上配置好了apiPrefix。

以下是配置多个服务器初始化SDK的示例:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"servers" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];
NSMutableArray *storeArrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
    FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
    storeConfig.sdkKey = dict[@"sdkKey"];
    storeConfig.sdkSecret = dict[@"sdkSecret"];
    storeConfig.apiServer = dict[@"apiServer"];
    storeConfig.apmServer = dict[@"apmServer"];
    if ([@"SM" isEqualToString:dict[@"cryptType"]]) {
        storeConfig.cryptType = FATApiCryptTypeSM;
    } else {
        storeConfig.cryptType = FATApiCryptTypeMD5;
    }
    
    [storeArrayM addObject:storeConfig];
}
FATConfig *config = [FATConfig configWithStoreConfigs:storeArrayM];
[[FATClient sharedClient] initWithConfig:config error:nil];

# 2 配置项

初始化SDK时的配置项分FATConfigFATUIConfigFATConfig中主要是与UI不想管的配置项;而FATUIConfig主要都是与UI相关的配置项。

FATConfig中的配置项:

配置名称 配置描述
currentUserId 当前用户唯一标识,小程序缓存信息会存储在以userId命名的不同目录下
disableAuthorize 是否禁止SDK触发权限申请,默认为NO,如果设置为YES,则SDK内使用权限的api,不会主动申请权限。
appletAutoAuthorize 是否自动向SDK申请权限,默认为NO,申请权限时会弹出对话框让用户确认是否允许申请,如果设置为YES,自动向SDK申请权限
disableGetSuperviseInfo 是否禁用SDK的监管接口API,默认为NO,如果设置为YES,则SDK禁用监管接口API(getSuperviseInfo)
appletIntervalUpdateLimit 后台自动检查更新的小程序个数,取值范围:0~50。0代表不检查更新;不设置默认是3。
startCrashProtection 是否开启Crash防崩溃。UnrecognizedSelector、KVO、Notification、Timer、Container(数组越界,字典插入nil等)、String (越界、nil等)
enableApmDataCompression apm数据上报时,是否压缩数据
encryptServerData 平台接口返回的数据是否要加密
enableAppletDebug 是否开启全局debug模式,设置为YES后所有小程序都会显示vconsole,如果设置为NO,则开发版、体验版、IDE预览版可通过 更多菜单开启Debug模式
enableH5AjaxHook 是否开启小程序中加载的H5页面hook功能,非必填。详情见api中的注释
h5AjaxHookRequestKey 开启enableH5AjaxHook后,会hook request请求,可设置requestKey
pageCountLimit 小程序中页面栈的最大限制。默认值为0,表示不限制。

FATUIConfig中的配置项:

配置名称 配置描述
navigationTitleTextAttributes 导航栏标题的样式,目前仅支持字体的配置。
capsuleConfig 右上角胶囊的样式配置,具体参数见FATCapsuleConfig
navHomeConfig 返回首页按钮的配置的样式配置,具体参数见FATNavHomeConfig
progressBarColor 小程序中的 WebView 组件加载链接时的进度条颜色
moreMenuStyle 胶囊里更多按钮弹出的菜单视图的样式
hideForwardMenu 是否隐藏更多菜单中的转发按钮。
hideSettingMenu 是否隐藏小程序更多菜单中的设置菜单。
hideFeedbackMenu 是否隐藏更多菜单中的投诉反馈按钮。
hideBackToHome 是否隐藏导航栏中回到首页按钮。
autoAdaptDarkMode 是否适配暗黑模式。
appendingCustomUserAgent 您需要添加至userAgent中的内容。
appletText 默认为“小程序”,您需要替换展示的名称。比如设置会"轻应用",所有显示"小程序"的地方,都会变为"轻应用"
hideTransitionCloseButton 是否隐藏转场页的关闭按钮。默认为NO
disableSlideCloseAppletGesture 是否禁用侧滑关闭小程序的手势。默认为NO

FATCapsuleConfig(胶囊)中的配置项:

配置名称 配置描述
capsuleWidth 胶囊的宽度
capsuleHeight 胶囊的高度
capsuleRightMargin 胶囊的右边框距离屏幕右边框的距离
capsuleCornerRadius 胶囊的圆角半径
capsuleBorderWidth 胶囊的边框宽度
capsuleBorderLightColor 胶囊的浅色边框颜色
capsuleBorderDarkColor 胶囊的深色边框颜色
capsuleBgLightColor 胶囊的浅色下背景颜色
capsuleBgDarkColor 胶囊的深色下背景颜色
moreLightImage 胶囊的浅色更多按钮图片
moreDarkImage 胶囊的深色更多按钮图片
moreBtnWidth 胶囊的更多按钮宽度
moreBtnLeftMargin 更多按钮的左边距
closeLightImage 胶囊里的深色关闭按钮图片
closeDarkImage 胶囊里的深色关闭按钮图片
closeBtnWidth 胶囊里关闭按钮的宽度
closeBtnLeftMargin 胶囊里关闭按钮的左边距
capsuleDividerLightColor 胶囊里浅色分割线颜色
capsuleDividerDarkColor 胶囊里的深色分割线颜色

FATNavHomeConfig(返回首页按钮)中的配置项:

配置名称 配置描述
width 返回首页按钮的宽度
height 返回首页按钮的高度
leftMargin 返回首页按钮的左侧距离屏幕左边框的距离
cornerRadius 返回首页按钮的圆角半径
borderWidth 返回首页按钮的边框宽度
lightImage 返回首页按钮的浅色按钮图片
darkImage 返回首页按钮的深色按钮图片
borderLightColor 返回首页按钮的浅色边框颜色
borderDarkColor 返回首页按钮的深色边框颜色
bgLightColor 返回首页按钮的浅色背景颜色
bgDarkColor 返回首页按钮的深色背景颜色

我们的默认胶囊是这样:

image.png

那么,我们只需要这样设置,就可以变成圆角:

FATUIConfig *uiConfig = [[FATUIConfig alloc] init];
uiConfig.capsuleConfig.capsuleCornerRadius = 15.5;

效果如下:

image.png

© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

400-066-00210755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单

填写 FinClip 问卷抽缤纷夏日盲盒
Hi,这里是我们为 FinClip 用户准备的一封调研问卷,期待您的参与,您的反馈和建议,将指引 FinClip 未来前进的方向。