Skip to content
This repository was archived by the owner on Mar 21, 2025. It is now read-only.

Commit 52791a3

Browse files
committed
Refactor location logic
1 parent 038ca84 commit 52791a3

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

Diff for: CityManager.m

+6-10
Original file line numberDiff line numberDiff line change
@@ -601,11 +601,11 @@ - (void)loadCityData {
601601
@"659006":@"铁门关",
602602
@"659007":@"双河",
603603
@"659008":@"可克达拉",
604-
@"710000":@"台湾",
605-
@"710100":@"台湾",
606-
@"810000":@"香港",
607-
@"810100":@"香港",
608-
@"820100":@"澳门"
604+
@"710000":@"中国台湾",
605+
@"710100":@"中国台湾",
606+
@"810000":@"中国香港",
607+
@"810100":@"中国香港",
608+
@"820100":@"中国澳门"
609609
};
610610
}
611611

@@ -616,9 +616,7 @@ - (NSString *)getCityNameWithCode:(NSString *)code {
616616

617617
NSString *cityName = self.cityCodeMap[code];
618618

619-
if (!cityName) {
620619
return cityName;
621-
}
622620
}
623621

624622
- (NSString *)getProvinceNameWithCode:(NSString *)code {
@@ -629,9 +627,7 @@ - (NSString *)getProvinceNameWithCode:(NSString *)code {
629627
provinceCode = [provinceCode stringByAppendingString:@"0000"];
630628
NSString *provinceCodeName = self.cityCodeMap[provinceCode];
631629

632-
if (!provinceCodeName) {
633-
return provinceCodeName;
634-
}
630+
return provinceCodeName;
635631
}
636632

637633
@end

Diff for: DYYY.xm

+18-7
Original file line numberDiff line numberDiff line change
@@ -1099,18 +1099,29 @@
10991099

11001100
if (cityName.length > 0 && ![text containsString:cityName]) {
11011101
if (!self.model.ipAttribution) {
1102-
if ([provinceName isEqualToString:cityName]) {
1102+
BOOL isDirectCity = [provinceName isEqualToString:cityName] ||
1103+
([cityCode hasPrefix:@"11"] || [cityCode hasPrefix:@"12"] ||
1104+
[cityCode hasPrefix:@"31"] || [cityCode hasPrefix:@"50"]);
1105+
1106+
if (isDirectCity) {
11031107
label.text = [NSString stringWithFormat:@"%@ IP属地:%@", text, cityName];
11041108
} else {
11051109
label.text = [NSString stringWithFormat:@"%@ IP属地:%@ %@", text, provinceName, cityName];
11061110
}
11071111
} else {
1108-
// 添加条件判断
1109-
if (![text isEqualToString:provinceName] || [cityName isEqualToString:text]) {
1110-
label.text = text;
1111-
} else {
1112-
label.text = [NSString stringWithFormat:@"%@ %@", text, cityName];
1113-
}
1112+
BOOL isDirectCity = [provinceName isEqualToString:cityName] ||
1113+
([cityCode hasPrefix:@"11"] || [cityCode hasPrefix:@"12"] ||
1114+
[cityCode hasPrefix:@"31"] || [cityCode hasPrefix:@"50"]);
1115+
1116+
BOOL containsProvince = [text containsString:provinceName];
1117+
1118+
if (isDirectCity && containsProvince) {
1119+
label.text = text;
1120+
} else if (containsProvince) {
1121+
label.text = [NSString stringWithFormat:@"%@ %@", text, cityName];
1122+
} else {
1123+
label.text = text;
1124+
}
11141125
}
11151126
}
11161127
}

0 commit comments

Comments
 (0)