12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- //
- // QNDnsCacheKey.m
- // QnDNS
- //
- // Created by yangsen on 2020/3/26.
- // Copyright © 2020 com.qiniu. All rights reserved.
- //
- #import "QNDnsCacheInfo.h"
- @interface QNDnsCacheInfo()
- /// 缓存时间戳
- @property(nonatomic, copy)NSString *currentTime;
- /// 缓存时本地IP
- @property(nonatomic, copy)NSString *localIp;
- /// 缓存信息
- @property(nonatomic, copy)NSDictionary *info;
- @end
- @implementation QNDnsCacheInfo
- + (instancetype)dnsCacheInfo:(NSData *)jsonData{
- NSDictionary *info = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
- if (!info || info.count == 0 ||
- (!info[@"currentTime"] && !info[@"localIp"] && !info[@"info"])) {
- return nil;
- }
- return [QNDnsCacheInfo dnsCacheInfo:info[@"currentTime"]
- localIp:info[@"localIp"]
- info:info[@"info"]];;
- }
- + (instancetype)dnsCacheInfo:(NSString *)currentTime
- localIp:(NSString *)localIp
- info:(NSDictionary *)info{
-
- QNDnsCacheInfo *cacheInfo = [[QNDnsCacheInfo alloc] init];
- cacheInfo.currentTime = currentTime;
- cacheInfo.localIp = localIp;
- cacheInfo.info = info;
- return cacheInfo;
- }
- - (NSData *)jsonData{
- NSMutableDictionary *cacheInfo = [NSMutableDictionary dictionary];
- if (self.currentTime) {
- cacheInfo[@"currentTime"] = self.currentTime;
- }
- if (self.localIp) {
- cacheInfo[@"localIp"] = self.localIp;
- }
- if (self.info) {
- cacheInfo[@"info"] = self.info;
- }
- return [NSJSONSerialization dataWithJSONObject:cacheInfo options:NSJSONWritingPrettyPrinted error:nil];
- }
- @end
|