@@ -40,54 +40,38 @@ - (instancetype)init:(long)ttl
4040- (QNZoneInfo *)buildInfoFromJson : (NSDictionary *)resp {
4141 long ttl = [[resp objectForKey: @" ttl" ] longValue ];
4242 NSDictionary *up = [resp objectForKey: @" up" ];
43- NSDictionary *acc = [up objectForKey: @" acc" ];
44- NSDictionary *src = [up objectForKey: @" src" ];
45- NSDictionary *old_acc = [up objectForKey: @" old_acc" ];
46- NSDictionary *old_src = [up objectForKey: @" old_src" ];
47- NSArray *urlDicList = [[NSArray alloc ] initWithObjects: acc, src, old_acc, old_src, nil ];
43+ NSArray *domains = [up objectForKey: @" domains" ];
44+ NSArray *oldDomains = [up objectForKey: @" old" ];
45+
4846 NSMutableArray *domainList = [[NSMutableArray alloc ] init ];
4947 NSMutableDictionary *domainDic = [[NSMutableDictionary alloc ] init ];
50- // main
51- for (int i = 0 ; i < urlDicList.count ; i++) {
52- if ([[urlDicList[i] allKeys ] containsObject: @" main" ]) {
53- NSArray *mainDomainList = urlDicList[i][@" main" ];
54- for (int i = 0 ; i < mainDomainList.count ; i++) {
55- [domainList addObject: mainDomainList[i]];
56- [domainDic setObject: [NSDate dateWithTimeIntervalSince1970: 0 ] forKey: mainDomainList[i]];
57- }
58- }
48+ for (int i = 0 ; i < domains.count ; i++) {
49+ [domainList addObject: domains[i]];
50+ [domainDic setObject: [NSDate dateWithTimeIntervalSince1970: 0 ] forKey: domains[i]];
5951 }
60-
61- // backup
62- for (int i = 0 ; i < urlDicList.count ; i++) {
63- if ([[urlDicList[i] allKeys ] containsObject: @" backup" ]) {
64- NSArray *mainDomainList = urlDicList[i][@" backup" ];
65- for (int i = 0 ; i < mainDomainList.count ; i++) {
66- [domainList addObject: mainDomainList[i]];
67- [domainDic setObject: [NSDate dateWithTimeIntervalSince1970: 0 ] forKey: mainDomainList[i]];
68- }
69- }
52+ for (int i = 0 ; i < oldDomains.count ; i++) {
53+ [domainList addObject: oldDomains[i]];
54+ [domainDic setObject: [NSDate dateWithTimeIntervalSince1970: 0 ] forKey: oldDomains[i]];
7055 }
7156
7257 // judge zone region via io
73- NSDictionary *io = [resp objectForKey: @" io" ];
74- NSDictionary *io_src = [io objectForKey: @" src" ];
75- NSArray *io_main = [io_src objectForKey: @" main" ];
76- NSString *io_host = io_main.count > 0 ? io_main[0 ] : nil ;
58+ NSString *regionId = [resp objectForKey: @" regionId" ];
7759
7860 QNZoneRegion zoneRegion = QNZoneRegion_unknown;
79- if ([io_host isEqualToString: @" iovip.qbox.me" ]) {
80- zoneRegion = QNZoneRegion_z0;
81- } else if ([io_host isEqualToString: @" iovip-z1.qbox.me" ]) {
82- zoneRegion = QNZoneRegion_z1;
83- } else if ([io_host isEqualToString: @" iovip-z2.qbox.me" ]) {
84- zoneRegion = QNZoneRegion_z2;
85- } else if ([io_host isEqualToString: @" iovip-na0.qbox.me" ]) {
86- zoneRegion = QNZoneRegion_na0;
87- } else if ([io_host isEqualToString: @" iovip-as0.qbox.me" ]) {
88- zoneRegion = QNZoneRegion_as0;
89- } else {
90- zoneRegion = QNZoneRegion_unknown;
61+ if ([regionId isKindOfClass: [NSString class ]]) {
62+ if ([regionId isEqualToString: @" z0" ]) {
63+ zoneRegion = QNZoneRegion_z0;
64+ } else if ([regionId isEqualToString: @" z1" ]) {
65+ zoneRegion = QNZoneRegion_z1;
66+ } else if ([regionId isEqualToString: @" z2" ]) {
67+ zoneRegion = QNZoneRegion_z2;
68+ } else if ([regionId isEqualToString: @" as0" ]) {
69+ zoneRegion = QNZoneRegion_na0;
70+ } else if ([regionId isEqualToString: @" na0" ]) {
71+ zoneRegion = QNZoneRegion_as0;
72+ } else {
73+ zoneRegion = QNZoneRegion_unknown;
74+ }
9175 }
9276
9377 return [[QNZoneInfo alloc ] init: ttl upDomainsList: domainList upDomainsDic: domainDic zoneRegion: zoneRegion];
0 commit comments