NSString+DSBaseModule.h 2.88 KB
//
//  NSString+DSBaseModule.h
//  BKProjectFramework
//
//  Created by BIKE on 2018/7/11.
//  Copyright © 2018年 BIKE. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSUInteger, DSStringAESStyle) {//AES加密方式
    DSStringAESStyleCBC = 0,
    DSStringAESStyleECB,
};

@interface NSString (DSBaseModule)

#pragma mark - 获取设备号

/**
 获取设备号UUID
 
 @return UUID
 */
+(NSString*)getDeviceUUID;

#pragma mark - 转化拼音

/**
 转化为拼音
 
 @return 拼音
 */
-(NSString*)transformToPinyin;

/**
 转化为拼音,并且取拼音首字母
 
 @return 拼音首字母
 */
-(NSString*)takeFirstLetterOfPinyin;

/**
 转化为拼音,并且取每个字的拼音首字母

 @return 每个字的拼音首字母
*/
-(NSString*)takeEachWordFirstLetterOfPinyin;

#pragma mark - 七牛云网络图片压缩

/**
 压缩宽为200

 @return 压缩图片路径
 */
-(NSString*)smallThumbImageUrl;
/**
 压缩宽为400
 
 @return 压缩图片路径
 */
-(NSString*)middleThumbImageUrl;
/**
 压缩宽为750
 
 @return 压缩图片路径
 */
-(NSString*)largeThumbImageUrl;

#pragma mark - 计算文本大小

/**
 计算文本大小(固定宽)

 @param width 固定宽度
 @param font 字体大小
 @return 文本大小
 */
-(CGSize)calculateSizeWithUIWidth:(CGFloat)width font:(UIFont*)font;

/**
 计算文本大小(固定高)
 
 @param height 固定宽度
 @param font 字体大小
 @return 文本大小
 */
-(CGSize)calculateSizeWithUIHeight:(CGFloat)height font:(UIFont*)font;

#pragma mark - 删除小数点后的0

/**
 删除小数点后的0

 @return 删除后的结果
 */
-(NSString*)deleteZeroAfterDecimalPoint;

#pragma mark - 保留2位小数

/**
 保留2位小数

 @return 修改后的结果
 */
-(NSString*)keepTwoDecimalPlaces;

#pragma mark - 删除整数前的0

/**
 删除整数前的0

 @return 删除后的结果
 */
-(NSString*)deleteLeadingZero;

#pragma mark - 查看允不允许输入

/**
 查看允不允许输入 例如 允许输入1、2时传入12
 
 @param string 允许输入字符串
 @return 允不允许
 */
-(BOOL)allowWriteString:(NSString*)string;

#pragma mark - 编码

/**
 *  转换为Base64编码
 */
- (NSString *)base64EncodedString;

/**
 *  将Base64编码还原
 */
- (NSString *)base64DecodedString;

/**
 aes加密
 
 @param key 密钥
 @param style 加密方式
 @return 加密结果
 */
-(NSString *)aesEncodeStringWithKey:(NSString*)key style:(DSStringAESStyle)style;

/**
 aes解密
 @param key 密钥
 @param style 加密方式
 @return 解密结果
 */
-(NSString *)aesDecodedStringWithKey:(NSString*)key style:(DSStringAESStyle)style;

/**
 *  md5
 *  @return md5加密结果
 */
- (NSString *)md5EncodeString;

/**
 *  sha1
 *  @return sha1加密结果
 */
- (NSString *)sha1EncodeString;

#pragma mark - 获取设备型号

/**
 获取设备型号然后手动转化为对应名称
 */
+(NSString *)getDeviceName;

@end