解决了语音上传到问题,接下来要解决下载播放问题
This commit is contained in:
97
Pods/Qiniu/QiniuSDK/Http/ServerRegion/QNUploadServerFreezeManager.m
generated
Normal file
97
Pods/Qiniu/QiniuSDK/Http/ServerRegion/QNUploadServerFreezeManager.m
generated
Normal file
@@ -0,0 +1,97 @@
|
||||
//
|
||||
// QNUploadServerFreezeManager.m
|
||||
// QiniuSDK
|
||||
//
|
||||
// Created by yangsen on 2020/6/2.
|
||||
// Copyright © 2020 Qiniu. All rights reserved.
|
||||
//
|
||||
|
||||
#import "QNConfiguration.h"
|
||||
#import "QNUploadServerFreezeManager.h"
|
||||
|
||||
@interface QNUploadServerFreezeItem : NSObject
|
||||
@property(nonatomic, copy)NSString *type;
|
||||
@property(nonatomic, strong)NSDate *freezeDate;
|
||||
@end
|
||||
@implementation QNUploadServerFreezeItem
|
||||
+ (instancetype)item:(NSString *)type{
|
||||
QNUploadServerFreezeItem *item = [[QNUploadServerFreezeItem alloc] init];
|
||||
item.type = type;
|
||||
return item;
|
||||
}
|
||||
- (BOOL)isFrozenByDate:(NSDate *)date{
|
||||
BOOL isFrozen = YES;
|
||||
@synchronized (self) {
|
||||
if (!self.freezeDate || [self.freezeDate timeIntervalSinceDate:date] < 0){
|
||||
isFrozen = NO;
|
||||
}
|
||||
}
|
||||
return isFrozen;
|
||||
}
|
||||
- (void)freeze:(NSInteger)frozenTime{
|
||||
@synchronized (self) {
|
||||
self.freezeDate = [NSDate dateWithTimeIntervalSinceNow:frozenTime];
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
||||
@interface QNUploadServerFreezeManager()
|
||||
|
||||
@property(nonatomic, strong)NSMutableDictionary *freezeInfo;
|
||||
|
||||
@end
|
||||
@implementation QNUploadServerFreezeManager
|
||||
|
||||
- (instancetype)init{
|
||||
if (self = [super init]) {
|
||||
_freezeInfo = [NSMutableDictionary dictionary];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (BOOL)isTypeFrozen:(NSString * _Nullable)type {
|
||||
if (!type || type.length == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL isFrozen = true;
|
||||
QNUploadServerFreezeItem *item = nil;
|
||||
@synchronized (self) {
|
||||
item = self.freezeInfo[type];
|
||||
}
|
||||
|
||||
if (!item || ![item isFrozenByDate:[NSDate date]]) {
|
||||
isFrozen = false;
|
||||
}
|
||||
|
||||
return isFrozen;
|
||||
}
|
||||
|
||||
- (void)freezeType:(NSString * _Nullable)type frozenTime:(NSInteger)frozenTime {
|
||||
if (!type || type.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
QNUploadServerFreezeItem *item = nil;
|
||||
@synchronized (self) {
|
||||
item = self.freezeInfo[type];
|
||||
if (!item) {
|
||||
item = [QNUploadServerFreezeItem item:type];
|
||||
self.freezeInfo[type] = item;
|
||||
}
|
||||
}
|
||||
|
||||
[item freeze:frozenTime];
|
||||
}
|
||||
|
||||
- (void)unfreezeType:(NSString * _Nullable)type {
|
||||
if (!type || type.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@synchronized (self) {
|
||||
[self.freezeInfo removeObjectForKey:type];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user