BBASMHostDownloadAdapterProtocol.h 1.77 KB
//
//  BBASMHostDownloadAdapterProtocol.h
//  BBAMNP
//
//  Created by baidu on 2021/6/1.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@protocol BBASMHostDownloadAdapterProtocol <NSObject>

@optional

/// 小程序调用宿主下载中心 - 下载
/// @param url 下载源url
/// @param name 下载文件名称
/// @param header 请求头header
/// @param extraInfo 打点相关额外扩展信息
/// @param completion 下载任务创建回调
+ (void)downloadFileWithUrl:(NSString *)url
                       name:(NSString *)name
                     header:(NSDictionary *)header
                  extraInfo:(nullable NSDictionary *)extraInfo
                 completion:(void(^)(NSString *taskID))completion;

/// 小程序调用宿主下载中心 - 查询下载任务信息 (返回数据直接透传给开发者)
/// @param taskID 下载任务唯一ID
/// @return 下载任务信息 返回结果示例:
/// {
///     "name": "downloadDemo.pdf",     //任务名称
///     "status": "Finished",           //任务状态: Waiting、Running、Suspend、Failed、Finished
///     "size": 14230,                  //文件大小(字节)
///     "createTime": 1624786067,       //任务创建时间戳
///     "completeTime": 1624786070      //任务完成时间戳(未完成返回-1)
/// }
+ (nullable NSDictionary *)queryDownloadTask:(NSString *)taskID;

/// 小程序调用宿主下载中心 - 打开宿主下载中心
+ (void)openHostDownloadCenter;

/// 小程序调用宿主下载中心 - 打开下载文件
/// @param taskId 下载任务唯一ID
/// @param completion 打开文件回调
+ (void)openDownloadFileWithTaskID:(nonnull NSString *)taskId
                        completion:(nullable void(^)(BOOL success, NSInteger errorCode))completion;


@end

NS_ASSUME_NONNULL_END