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

# 小程序信息管理

这个模块主要是获取小程序信息的一些Api介绍。

# 1. 搜索小程序

支持的app类型

小程序✅ 小游戏✅ H5应用✅

要搜索小程序,需要两步:

  1. 确保在初始化SDK的时候,配置了该服务器信息;
  2. 调用该api搜索小程序
/// 搜索小程序
/// @param request 搜索的request
/// @param completion 搜索结果
- (void)searchAppletsWithRequest:(FATSearchAppletRequest *)request
                      completion:(void (^)(NSDictionary *result, FATError *aError))completion;

示例代码:

FATSearchAppletRequest *searchRequest = [[FATSearchAppletRequest alloc] init];
searchRequest.apiServer = @"https://api.finclip.com";
searchRequest.text = @"小程序";
[[FATClient sharedClient] searchAppletsWithRequest:searchRequest completion:^(NSDictionary *result, FATError *aError) {
    NSLog(@"");
}];

# 2. 获取绑定的小程序列表

支持的app类型

小程序✅ 小游戏✅ H5应用✅

使用该接口可以不同的参数查询该应用绑定的小程序列表。

- (void)getBindAppletsWithRequest:(FATFetchBindAppletRequest *)request completion:(void (^)(FATFetchBindAppletResponse *response, FATError *aError))completion

FATFetchBindAppletRequest

属性名 类型 描述
apiServer NSString 小程序所属服务器,必填
appClass NSString 小程序的分类,默认为''
appStatus FATAppStatus 小程序状态类型,枚举值。0:所有;1:已上架的;2:未上架的;3:已下架的
containForbiddenApp BOOL 查询结果是否包含被禁用的小程序,默认为NO
pageNo NSUInteger 分页查询的页码,默认为1
pageSize NSUInteger 分页的大小,默认为20

返回值

FATFetchBindAppletResponse

属性名 类型 描述
items NSArray<FATFetchBindApplet *> 小程序对象列表
total NSInteger 获取到的符合条件的小程序总个数

FATFetchBindApplet

属性名 类型 描述
apiServer NSString 小程序所属服务器
miniAppId NSString 小程序ID
name NSString 小程序名称
logo NSString 小程序logo
appClass NSString 小程序的分类
displayStatus FATAppStatus 小程序状态类型,枚举值。0:所有;1:已上架的;2:未上架的;3:已下架的
isForbidden BOOL 小程序是否被禁用
desc NSString 小程序简介
detailDesc NSString 小程序详细描述

示例代码:

FATFetchBindAppletRequest *request = [[FATFetchBindAppletRequest alloc] init];
request.apiServer = @"https://api.finclip.com";
request.appClass = @"金融";
request.pageNo = 0;
request.pageSize = 20;
request.appStatus = FATAppStatusListed;
[[FATClient sharedClient] getBindAppletsWithRequest:request completion:^(FATFetchBindAppletResponse *response, FATError *aError) {
    NSLog(@"获取app关联小程序列表:%@--error:%@", response, aError);
}];

# 3. 获取小程序对象信息

支持的app类型

小程序✅ 小游戏✅ H5应用✅

# 3.1 获取当前正在运行的小程序对象信息

获取当前正在运行的小程序对象信息,如果无小程序在内存中,则返回nil。

/// 获取当前正在运行的小程序对象
- (FATAppletInfo *)currentApplet;

示例代码:

FATAppletInfo *appInfo = [[FATClient sharedClient] currentApplet];

# 3.2 获取小程序信息

支持的app类型

小程序✅ 小游戏✅ H5应用✅

获取小程序信息。先从内存中查找小程序对象信息,如果不存在则从本地磁盘中查找小程序对象信息,如果依然不存在则返回nil。

/**
 通过appletId获取小程序信息
 
 @param appletId 小程序id
 @return 小程序信息
 */
- (FATAppletInfo *)getAppletInfo:(NSString *)appletId;

示例代码:

FATAppletInfo *appInfo = [[FATClient sharedClient] getAppletInfo:@"##appId##"];

# 4. 获取小程序当前WebView信息

支持的app类型

小程序✅ 小游戏🚫 H5应用🚫

# 4.1 获取当前webView的URL

如果当前页面加载的不是H5,则会返回nil;如果加载的是H5,则会返回H5对应的NSURL。

/**
获取当前加载H5的URL
如果小程序当前页面加载的不是H5,则返回nil
*/
- (NSURL *)getCurrentWebViewURL;

# 4.2 获取当前webView的UserAgent

/**
获取小程序当前页面webView的userAgent
*/
- (void)getCurrentWebViewUserAgentWithCompletion:(void (^)(NSString *userAgent, NSError * error))completionHandler;

# 5. 获取小程序页面截图

支持的app类型

小程序✅ 小游戏🚫 H5应用🚫

# 5.1 获取小程序封面截图

注意:用于展示小程序封面的截图,宽高比是5:4。会从导航栏以下(0,0)位置开始截取。

/**
 生成当前页面截图
 */
- (UIImage*)getCurrentAppletImage;

# 5.2 获取小程序页面指定高度的截图

/**
 生成当前页面截图指定高度的截图
 */
- (UIImage *)getDefaultCurrentAppletImage:(CGFloat)height;

# 6. 获取使用过的小程序列表

支持的app类型

小程序✅ 小游戏✅ H5应用✅

获取打开过的所有小程序列表,已删除的小程序不包含。

/**
 获取本地的小程序
 
 @return 小程序数组<FATAppletInfo>
 */
- (NSArray *)getAppletsFromLocalCache;

# 7. 微信小程序二维码信息转换为FinClip小程序

支持的app类型

小程序✅ 小游戏✅ H5应用🚫

///  解析微信小程序二维码,得到凡泰小程序信息
/// @param qrCode  微信二维码
/// @param apiServer  解析服务器url
/// @param completion 结果回调
- (void)parseAppletInfoFromWXQrCode:(NSString *)qrCode apiServer:(NSString *)apiServer completion:(void (^)(FATAppletSimpleInfo *appInfo, FATError *aError))completion;

该API的使用场景是当某小程序在微信和FinClip服务上都上架之后,可以在FinClip平台关联微信的小程序。这时FinClip平台上的线上版二维码,既可以用微信扫码打开,也可以用 FinClip App 或其他集成了FinClip 小程序 SDK的APP扫码打开。

流程是先扫描该二维码,得到二维码内容,然后调用该接口获取FinClip 小程序id,最后调用打开小程序的API即可。

# 8. 个人信息与权限管理页面

展示打开过的小程序使用的个人信息和权限(2.40.3版本后也可通过[FATClient sharedClient].authApiManager对象调用该方法)

/// 打开个人信息与权限管理页面
/// @param parentViewController 父控制器,打开的个人信息与权限管理页面会在父控制器上模态弹出
- (void)openPrivacyManage:(UIViewController *)parentViewController;

# 9. 获取小程序的收藏列表

支持的app类型

小程序✅ 小游戏✅ H5应用✅

/**
 @brief 获取小程序收藏列表
 @param apiServer 服务器地址
 @param pageNo 页码(传0则获取全部收藏小程序)
 @param pageSize 页大小(传0则获取全部收藏小程序)
 @param completion 获取小程序收藏列表回调
 */
- (void)getAppletFavoriteListWithApiServer:(NSString *)apiServer pageNo:(int)pageNo pageSize:(int)pageSize completion:(void (^)(NSDictionary *resultDict, FATError *error))completion;
© FinClip with ❤ , Since 2017