修正短信国家列表启动加载策略

This commit is contained in:
QLHazyCoder
2026-05-23 04:43:18 +08:00
parent f1fa40ac3a
commit 161bec389c
2 changed files with 11 additions and 9 deletions
+6 -6
View File
@@ -11305,7 +11305,7 @@ function applySettingsState(state) {
updatePhoneSmsProviderOrderSummary(restoredPhoneSmsProviderOrder);
if (previousPhoneSmsProvider !== restoredPhoneSmsProvider) {
heroSmsCountrySelectionOrder = [];
loadHeroSmsCountries({ silent: true, preferFallbackOnly: true }).catch(() => { });
loadHeroSmsCountries({ silent: true }).catch(() => { });
}
if (inputHeroSmsApiKey) {
inputHeroSmsApiKey.value = restoredPhoneSmsProvider === PHONE_SMS_PROVIDER_FIVE_SIM
@@ -18145,21 +18145,21 @@ initializeReleaseInfo().catch((err) => {
console.error('Failed to initialize release info:', err);
});
Promise.allSettled([
loadHeroSmsCountries({ silent: true, preferFallbackOnly: true }),
loadFiveSimCountries({ silent: true, preferFallbackOnly: true }),
loadHeroSmsCountries({ silent: true }),
loadFiveSimCountries({ silent: true }),
loadNexSmsCountries(),
]).then((results) => {
const heroResult = results[0];
const fiveSimResult = results[1];
const nexSmsResult = results[2];
if (heroResult?.status === 'rejected') {
console.debug('HeroSMS country list startup fallback skipped:', heroResult.reason);
console.debug('HeroSMS country list startup load skipped:', heroResult.reason);
}
if (fiveSimResult?.status === 'rejected') {
console.debug('5sim country list startup fallback skipped:', fiveSimResult.reason);
console.debug('5sim country list startup load skipped:', fiveSimResult.reason);
}
if (nexSmsResult?.status === 'rejected') {
console.debug('NexSMS country list startup fallback skipped:', nexSmsResult.reason);
console.debug('NexSMS country list startup load skipped:', nexSmsResult.reason);
}
return restoreState().then(() => {
syncPasswordToggleLabel();
@@ -148,7 +148,7 @@ test('sidepanel html exposes phone verification toggle and multi-provider SMS ro
assert.doesNotMatch(html, /id="input-account-run-history-text-enabled"/);
});
test('sidepanel loads SMS country lists silently during startup fallback', () => {
test('sidepanel loads live SMS country lists silently during startup', () => {
const heroLoader = extractFunction('loadHeroSmsCountries');
const fiveSimLoader = extractFunction('loadFiveSimCountries');
@@ -158,9 +158,11 @@ test('sidepanel loads SMS country lists silently during startup fallback', () =>
assert.match(fiveSimLoader, /const preferFallbackOnly = Boolean\(options\?\.preferFallbackOnly\)/);
assert.doesNotMatch(heroLoader, /console\.(?:warn|error)\('加载 (?:5sim|HeroSMS) 国家列表失败:'/);
assert.doesNotMatch(fiveSimLoader, /console\.(?:warn|error)\('加载 5sim 国家列表失败:'/);
assert.match(sidepanelSource, /loadHeroSmsCountries\(\{ silent: true, preferFallbackOnly: true \}\)/);
assert.match(sidepanelSource, /loadFiveSimCountries\(\{ silent: true, preferFallbackOnly: true \}\)/);
assert.match(sidepanelSource, /loadHeroSmsCountries\(\{ silent: true \}\)/);
assert.match(sidepanelSource, /loadFiveSimCountries\(\{ silent: true \}\)/);
assert.match(sidepanelSource, /await loadHeroSmsCountries\(\{ silent: true \}\);/);
assert.doesNotMatch(sidepanelSource, /loadHeroSmsCountries\(\{ silent: true, preferFallbackOnly: true \}\)/);
assert.doesNotMatch(sidepanelSource, /loadFiveSimCountries\(\{ silent: true, preferFallbackOnly: true \}\)/);
assert.doesNotMatch(sidepanelSource, /console\.error\('加载 (?:HeroSMS|5sim|NexSMS) 国家列表失败:'/);
});