|
6 | 6 | import cn.hutool.json.JSONArray; |
7 | 7 | import cn.hutool.json.JSONObject; |
8 | 8 | import cn.hutool.json.JSONUtil; |
| 9 | +import com.laker.postman.panel.topmenu.setting.SettingManager; |
9 | 10 | import com.laker.postman.util.FontsUtil; |
10 | 11 | import com.laker.postman.util.I18nUtil; |
11 | 12 | import com.laker.postman.util.MessageKeys; |
@@ -120,11 +121,34 @@ private void loadChangelog() { |
120 | 121 | SwingWorker<String, Void> worker = new SwingWorker<>() { |
121 | 122 | @Override |
122 | 123 | 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"); |
127 | 131 | 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 | + } |
128 | 152 | } |
129 | 153 | return result; |
130 | 154 | } |
|
0 commit comments