Files
youle_app_ios/Pods/Qiniu/QiniuSDK/Storage/QNUploadData.h

61 lines
1.6 KiB
Objective-C

//
// QNUploadData.h
// QiniuSDK
//
// Created by yangsen on 2021/5/10.
// Copyright © 2021 Qiniu. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, QNUploadState) {
QNUploadStateNeedToCheck, // 需要检测数据
QNUploadStateWaitToUpload, // 等待上传
QNUploadStateUploading, // 正在上传
QNUploadStateComplete, // 上传结束
};
@interface QNUploadData : NSObject
/// 当前data偏移量
@property(nonatomic, assign, readonly)long long offset;
/// 当前data大小
@property(nonatomic, assign, readonly)long long size;
/// data下标
@property(nonatomic, assign, readonly)NSInteger index;
/// data etag
@property(nonatomic, copy, nullable)NSString *etag;
/// data md5
@property(nonatomic, copy, nullable)NSString *md5;
/// 上传状态
@property(nonatomic, assign)QNUploadState state;
/// 上传进度 【不进行离线缓存】
@property(nonatomic, assign)long long uploadSize;
/// 上传数据 【不进行离线缓存】
@property(nonatomic, strong, nullable)NSData *data;
//MARK:-- 构造
+ (instancetype)dataFromDictionary:(NSDictionary *)dictionary;
- (instancetype)initWithOffset:(long long)offset
dataSize:(long long)dataSize
index:(NSInteger)index;
//MARK:-- logic
/// 是否需要上传
- (BOOL)needToUpload;
/// 是否已经上传
- (BOOL)isUploaded;
/// 检测 data 状态,处理出于上传状态的无 data 数据的情况,无 data 数据则状态调整为监测数据状态
- (void)checkStateAndUpdate;
/// 转化字典
- (NSDictionary *)toDictionary;
/// 清除状态
- (void)clearUploadState;
@end
NS_ASSUME_NONNULL_END