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

# 小程序信息管理

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

# 1. 搜索小程序

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

  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. 获取小程序对象信息

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

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

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

示例代码:

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

# 2.2 获取小程序信息

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

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

示例代码:

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

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

# 3.1 获取当前webView的URL

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

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

# 3.2 获取当前webView的UserAgent

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

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

# 4.1 获取小程序封面截图

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

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

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

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

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

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

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

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

///  解析微信小程序二维码,得到凡泰小程序信息
/// @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即可。

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

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

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

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

/**
 @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