cdts/xdts-ios 3/Pods/DDWriteFileManager/WriteFileSupportSpec/Classes/DDWriteDefaultConfigMethods.m

190 lines
5.8 KiB
Mathematica
Raw Permalink Normal View History

2023-07-27 09:20:00 +08:00
//
// DDWriteDefaultConfigMethods.m
// AFNetworking
//
// Created by DDLi on 2020/3/27.
//
#import "DDWriteDefaultConfigMethods.h"
#import "NSString+DDWriteExt.h"
#define defaultCirName @"DDWriteDefaultCirName"
@interface DDWriteDefaultConfigMethods ()
@property (nonatomic, copy, readwrite) NSString *path;
@end
@implementation DDWriteDefaultConfigMethods
+ (DDWriteDefaultConfigMethods *) ShareInstance {
static DDWriteDefaultConfigMethods *sharedDefaultWriteFileInstance = nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
sharedDefaultWriteFileInstance = [[self alloc] init];
});
return sharedDefaultWriteFileInstance;
}
- (instancetype) init {
return [self initWithPath:defaultCirName];
}
- (instancetype)initWithPath:(NSString *)path {
if (path.length == 0) return nil;
[[DDWriteFileSupport ShareInstance]createDir:path filed:DDFieldDocuments];
self = [super init];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
_path = [documentsDirectory stringByAppendingPathComponent:defaultCirName];
return self;
}
#pragma mark - main methods
- (nullable NSString *)defaultSearchByUrl:(nonnull NSString *)url
imgType:(DDImgType)type {
if (!url)
return nil;
return [self defaultSearchByFileName:[self changeUrlToFileName:url imgType:type]];
}
- (nullable NSString *)defaultSearchByFileName:(nonnull NSString *)name {
if (!name)
return nil;
return [_path stringByAppendingPathComponent:name];
}
#pragma mark - ***** *****
- (nullable NSMutableArray <NSString *> *)searchDefaultDirFilePaths {
return [[DDWriteFileSupport ShareInstance]readDirPath:_path];
}
- (nullable NSArray <NSString *> *)searchDefaultDirFileNames {
return [[DDWriteFileSupport ShareInstance]readDirNames:_path];
}
#pragma mark - ***** *****
- (BOOL)directWriteFileName:(nonnull NSString *)name
data:(nonnull id)data {
if (!name)
return NO;
return [[DDWriteFileSupport ShareInstance]directWriteFile:[_path stringByAppendingPathComponent:name] data:data];
}
- (BOOL)writeFile:(nonnull NSString *)name
data:(nonnull id)data {
if (!name)
return NO;
return [[DDWriteFileSupport ShareInstance]writeFile:[_path stringByAppendingPathComponent:name] data:data];
}
- (BOOL)directWriteImg:(nonnull NSString *)url
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType {
if (!url || !img)
return NO;
return [[DDWriteFileSupport ShareInstance]directWriteFile:[_path stringByAppendingPathComponent:[self changeUrlToFileName:url imgType:imgType]] img:img imageType:imgType];
}
- (BOOL)writeImg:(nonnull NSString *)url
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType {
if (!url || !img)
return NO;
return [[DDWriteFileSupport ShareInstance]writeFile:[_path stringByAppendingPathComponent:[self changeUrlToFileName:url imgType:imgType]] img:img imageType:imgType];
}
#pragma mark - ***** *****
- (BOOL)removeFile:(nonnull NSString *)name {
if (!name)
return NO;
return [[DDWriteFileSupport ShareInstance]removeFile:[_path stringByAppendingPathComponent:name]];
}
- (BOOL)removeImg:(nonnull NSString *)url
imgType:(DDImgType)imgType{
if (!url)
return NO;
return [[DDWriteFileSupport ShareInstance]removeFile:[_path stringByAppendingPathComponent:[self changeUrlToFileName:url imgType:imgType]]];
}
/**
@param dirName
@return
*/
- (BOOL)removeDirFiles:(nonnull NSString *)dirName {
if (!dirName)
return NO;
return [[DDWriteFileSupport ShareInstance]removeDirFiles:[_path stringByAppendingPathComponent:dirName]];
}
#pragma mark -
/**
nameniltype,type
@param name
@param type
@return
*/
- (nullable id)readFile:(nonnull NSString *)name
fileType:(DDFileType)type {
if (!name)
return nil;
return [[DDWriteFileSupport ShareInstance]readFile:[_path stringByAppendingPathComponent:name] fileType:type];
}
/**
image
@param url url
@return
*/
- (nullable UIImage *)readImg:(nonnull NSString *)url
imgType:(DDImgType)imgType {
if (!url)
return nil;
return [[DDWriteFileSupport ShareInstance]readFile:[_path stringByAppendingPathComponent:[self changeUrlToFileName:url imgType:imgType]] fileType:DDFileTypeImage];
}
/**
nscache
*/
- (void)flushCache {
[[DDWriteFileSupport ShareInstance]flushCache];
}
#pragma mark -
/**
@param type kb,mb,gb,tb
@return
*/
- (float)countSize:(DDSizeType)type {
return [[DDWriteFileSupport ShareInstance]countDirSize:_path fileSizeType:type];
}
#pragma mark - support methods
- (NSString *)changeUrlToFileName:(NSString *)url
imgType:(DDImgType)type {
NSString *imageName = @"";
switch (type) {
case DDImgTypePNG:
imageName = [[url DDWrite_md5Mod16] stringByAppendingString:@".png"];
break;
case DDImgTypeJPEG:
imageName = [[url DDWrite_md5Mod16] stringByAppendingString:@".jpg"];
break;
default:
imageName = [[url DDWrite_md5Mod16] stringByAppendingString:@".png"];
break;
}
return imageName;
}
@end