工作台数据接口
获取工作台 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
) -> KIMAppPackageDownloadTaskObjective-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)")
}
}