工作台数据接口
获取工作台 Banner 信息
获取工作台展示的 Banner 数据。
接口定义
swift
func getBannerList(
_ completion: ((KIMBannerData?, KIMError?) -> Void)? = nil
)
Objective-C
- (void)getBannerListWithCompletion:(void (^)(KIMBannerData *bannerData, KIMError *error))completion;
参数说明
参数 | 类型 | 说明 |
---|---|---|
completion | ((KIMBannerData?, KIMError?) -> Void)? | 请求完成的回调方法。 |
代码示例
swift
KIM.workSpaceModule.getBannerList { bannerData, error in
/// 显示 banner 数据。
}
Objective-C
[[KIM workSpaceModule] getBannerListWithCompletion:^(KIMBannerData *bannerData, KIMError *error) {
/// 显示 banner 数据。
}];
获取应用列表
获取工作台应用列表。
接口定义
swift
public static func getAppList(
type: KIMAppListType,
offset: Int,
count: Int,
completion: ((KIMAppBriefData?, KIMError?) -> Void)? = nil
)
Objective-C
+ (void)getAppListWithType:(KIMAppListType)type
offset:(NSInteger)offset
count:(NSInteger)count
completion:(void (^)(KIMAppBriefData *appBriefData, KIMError *error))completion
参数说明
参数 | 类型 | 说明 |
---|---|---|
type | KIMAppListType | 请求的 app 列表类型 |
offset | Int | 列表偏移量 |
count | Int | 请求的 app 数量 |
completion | ((KIMAppBriefData?, KIMError?) -> Void)? | 请求完成后的回调方法 |
代码示例
swift
KIM.workSpaceModule.getAppList(type: .offical, offset: 0, count: 100) { [weak self] data, error in
/// 显示应用列表
}
Objective-C
[[KIM workSpaceModule] getAppListWithType:KIMAppListTypeOffical
offset:0
count:100
completion:^(KIMAppBriefData *data, KIMError *error) {
/// 显示应用列表
}];
获取应用分组列表
获取全部应用的分组信息。
接口定义
swift
func getAppGroupList(completion: (([KIMAppGroupData]) -> Void)?)
Objective-C
- (void)getAppGroupListWithCompletion:(void (^)(NSArray<KIMAppGroupData *> *))completion
参数说明
参数 | 类型 | 说明 |
---|---|---|
completion | (([KIMAppGroupData]) -> Void)? | 请求完成的回调方法。 |
代码示例
swift
KIM.workSpaceModule.getAppGroupList { groups in
/// 显示分组数据
}
Objective-C
[[KIM workSpaceModule] getAppGroupList:^(NSArray *groups) {
/// 显示分组数据
}];
获取指定分组下的应用列表
获取指定分组下的应用信息。
接口定义
swift
public static func getAppListByGroupId(
groupID: Int,
offset: Int,
count: Int,
completion: ((_ data: KIMAppBriefData?, _ error: KIMError?) -> Void)?
)
Objective-C
+ (void)getAppListByGroupIdWithGroupID:(NSInteger)groupID
offset:(NSInteger)offset
count:(NSInteger)count
completion:(void (^)(KIMAppBriefData *data, KIMError *error))completion
参数说明
参数 | 类型 | 说明 |
---|---|---|
groupId | Int | 分组 ID |
offset | Int | 列表索引偏移值,用于分页加载。如每页获取 100 条数据,则获取第二页是传 100 |
count | Int | 分页拉取每页数量,最大值 100 |
completion | ((_ data: KIMAppBriefData?, _ error: KIMError?) -> Void)? | 请求完成的回调方法 |
代码示例
swift
KIM.workSpaceModule.getAppListByGroupId(
groupID: groupID,
offset: 0,
count: 100
) {
/// 显示应用数据
}
Objective-C
[[KIM workSpaceModule] getAppListByGroupIdWithGroupID:groupID
offset:0
count:100
completion:^(KIMAppBriefData *data, KIMError *error) {
/// 显示应用数据
}];
应用设置、取消常用
将应用设置为常用或取消常用。
接口定义
swift
func setAppFavorite(
appID: String,
isFavorite: Bool,
completion: ((_ isSuccess: Bool, _ error: KIMError?) -> Void)?
)
Objective-C
- (void)setAppFavoriteWithAppID:(NSString *)appID
isFavorite:(BOOL)isFavorite
completion:(void (^)(BOOL isSuccess, KIMError *error))completion
参数说明
参数 | 类型 | 说明 |
---|---|---|
appID | String | 应用 ID |
isFavorite | Bool | true 为添加常用;false 为取消常用; |
completion | ((_ isSuccess: Bool, _ error: KIMError?) -> Void)? | 请求完成的回调方法 |
代码示例
swift
KIM.workSpaceModule.setAppFavorite(
appID: appID,
isFavorite: openAppModel.favoriteStatus == .uncollected
) { isSuccess, error in
/// 刷新UI
}
Objective-C
[[KIM workSpaceModule] setAppFavoriteWithAppID:appID
isFavorite:(openAppModel.favoriteStatus == uncollected)
completion:^(BOOL isSuccess, KIMError *error) {
/// 刷新UI
}];
下载工作台应用离线包
接口定义
swift
func downloadPackage(
appId: String,
version: String? = nil
) -> KIMAppPackageDownloadTask
Objective-C
- (KIMAppPackageDownloadTask *)downloadPackageWithAppId:(NSString *)appId version:(NSString *)version;
参数说明
参数 | 类型 | 说明 |
---|---|---|
appId | String | 要下载的离线包对应的应用ID。 |
version | String? | 要下载的离线包指定版本,不传则为最新版本。 |
KIMAppPackageDownloadTask
说明:
属性/方法 | 类型 | 说明 |
---|---|---|
delegate | KIMAppPackageDownloadTaskDelegate? | 监听下载进度,下载结果,以及下载错误。 |
cancel | 取消当前的下载任务。 |
KIMAppPackageDownloadTaskDelegate
说明:
方法 | 参数 | 返回值 | 说明 |
---|---|---|---|
appPackageDownload (_:downloadedBytes:totalBytes:) | • appPackageDownloadTask: KIMAppPackageDownloadTask 当前下载任务。 • downloadedBytes: Int 已经下载的字节数。 • totalBytes: Int 总字节数。 | Void | 下载进度回调方法。 |
appPackageDownload(_:success:) | • appPackageDownloadTask: KIMAppPackageDownloadTask 当前下载任务。 • url: URL 下载后的临时文件位置。 | Void | 下载完成后的回调方法。 |
appPackageDownload(_:failed:) | • appPackageDownloadTask: KIMAppPackageDownloadTask 当前下载任务。 • error: KIMError 错误信息。 | Void | 下载错误的回调方法。 |
代码示例
swift
class ViewController: UIViewController {
var task: KIMAppPackageDownloadTask?
func download() {
task = KIM.workSpaceModule.downloadPackage(appId: appID, version: appVersionTextField.text)
task?.delegate = self
}
}
extension ViewController: KIMAppPackageDownloadTaskDelegate {
func appPackageDownload(_ appPackageDownloadTask: WOASDK.KIMAppPackageDownloadTask, downloadedBytes: Int, totalBytes: Int) {
let downloaded = fmt.string(fromByteCount: Int64(downloadedBytes))
let total = fmt.string(fromByteCount: Int64(totalBytes))
print("下载中:\(downloaded) / \(total)")
}
func appPackageDownload(_ appPackageDownloadTask: WOASDK.KIMAppPackageDownloadTask, success url: URL) {
let tempURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("\(UUID().uuidString).zip")
try? FileManager.default.moveItem(at: url, to: tempURL)
currentURL = tempURL
print("下载完成:\(url.absoluteString)")
}
func appPackageDownload(_ appPackageDownloadTask: WOASDK.KIMAppPackageDownloadTask, failed error: KIMError) {
let msg: String
if let urlError = error.info?[NSUnderlyingErrorKey] as? URLError,
case .notConnectedToInternet = urlError.code
{
msg = "当前网络已断开,请检查网络配詈"
} else {
msg = error.message ?? ""
}
print("下载错误:\(msg)")
}
}