Skip to content

Commit dc59eae

Browse files
committed
feat: add update source preference settings for auto, GitHub, and Gitee
1 parent 6bded29 commit dc59eae

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

src/main/java/com/laker/postman/service/update/ChangelogDialog.java

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import cn.hutool.json.JSONArray;
77
import cn.hutool.json.JSONObject;
88
import cn.hutool.json.JSONUtil;
9+
import com.laker.postman.panel.topmenu.setting.SettingManager;
910
import com.laker.postman.util.FontsUtil;
1011
import com.laker.postman.util.I18nUtil;
1112
import com.laker.postman.util.MessageKeys;
@@ -120,11 +121,34 @@ private void loadChangelog() {
120121
SwingWorker<String, Void> worker = new SwingWorker<>() {
121122
@Override
122123
protected String doInBackground() {
123-
// 优先尝试 Gitee API(国内访问更快)
124-
String result = fetchFromGitee();
125-
if (result == null) {
126-
log.info("Gitee API failed, trying GitHub API");
124+
// 根据用户设置的更新源偏好选择获取源
125+
String preference = SettingManager.getUpdateSourcePreference();
126+
127+
String result = null;
128+
if ("github".equals(preference)) {
129+
// 用户指定使用 GitHub
130+
log.info("Using user-preferred source: GitHub");
127131
result = fetchFromGitHub();
132+
if (result == null) {
133+
log.info("GitHub API failed, trying Gitee as fallback");
134+
result = fetchFromGitee();
135+
}
136+
} else if ("gitee".equals(preference)) {
137+
// 用户指定使用 Gitee
138+
log.info("Using user-preferred source: Gitee");
139+
result = fetchFromGitee();
140+
if (result == null) {
141+
log.info("Gitee API failed, trying GitHub as fallback");
142+
result = fetchFromGitHub();
143+
}
144+
} else {
145+
// auto 模式:优先尝试 Gitee(国内用户居多)
146+
log.info("Auto mode: trying Gitee first");
147+
result = fetchFromGitee();
148+
if (result == null) {
149+
log.info("Gitee API failed, trying GitHub API");
150+
result = fetchFromGitHub();
151+
}
128152
}
129153
return result;
130154
}

0 commit comments

Comments
 (0)