hookehuyr

fix(AdPage): 优化广告配置和家庭状态检查的错误处理逻辑

改进页面初始化流程,将并行请求改为串行处理,并添加错误处理和重试机制。当广告配置首次失败时,会在家庭状态检查成功后自动重试,而家庭状态检查失败则会抛出错误终止流程。
...@@ -237,11 +237,32 @@ const initializePage = async () => { ...@@ -237,11 +237,32 @@ const initializePage = async () => {
237 // 执行静默授权 237 // 执行静默授权
238 await performSilentAuth(); 238 await performSilentAuth();
239 239
240 - // 并行获取广告配置和检查家庭状态 240 + // 先获取广告配置
241 - await Promise.all([ 241 + let adConfigSuccess = false;
242 - fetchAdConfig(), 242 + try {
243 - checkUserFamily() 243 + await fetchAdConfig();
244 - ]); 244 + adConfigSuccess = true;
245 + } catch (adError) {
246 + console.error('获取广告配置失败,但继续执行后续逻辑:', adError);
247 + }
248 +
249 + // 无论广告配置是否成功,都要检查家庭状态
250 + try {
251 + await checkUserFamily();
252 +
253 + // 如果家庭状态检查成功,但广告配置失败了,再次尝试获取广告配置
254 + if (!adConfigSuccess) {
255 + try {
256 + await fetchAdConfig();
257 + console.log('重试获取广告配置成功');
258 + } catch (retryError) {
259 + console.error('重试获取广告配置仍然失败:', retryError);
260 + }
261 + }
262 + } catch (familyError) {
263 + console.error('检查家庭状态失败:', familyError);
264 + throw familyError; // 家庭状态检查失败需要抛出错误
265 + }
245 } catch (error) { 266 } catch (error) {
246 console.error('页面初始化失败:', error); 267 console.error('页面初始化失败:', error);
247 // 初始化失败时也要处理超时 268 // 初始化失败时也要处理超时
......