@@ -523,22 +523,36 @@ <h2 style="margin:0 0 12px;font-size:16px">检测结果</h2>
523523 // 2. 如果推荐接口异常,检测一级分类接口
524524 let categorySuccess = false ;
525525 if ( homeResult . data && homeResult . data . class && homeResult . data . class . length > 0 ) {
526- const firstCategory = homeResult . data . class [ 0 ] ;
527- if ( firstCategory . type_id ) {
526+ // 尝试检测前两个分类(容错机制)
527+ const categoriesToCheck = homeResult . data . class . slice ( 0 , 2 ) ;
528+
529+ for ( let i = 0 ; i < categoriesToCheck . length ; i ++ ) {
530+ const category = categoriesToCheck [ i ] ;
531+ if ( ! category . type_id ) continue ;
532+
528533 const cateResult = await this . testApi ( source . api , {
529534 ac : 'list' ,
530- t : firstCategory . type_id ,
535+ t : category . type_id ,
531536 pg : 1 ,
532537 extend
533538 } ) ;
534- result . details . category = cateResult ;
539+
540+ // 记录结果:如果是第一个,直接记录;如果是后续且成功了,也记录覆盖
541+ if ( i === 0 || ( cateResult . success && this . isValidData ( cateResult . data ) ) ) {
542+ result . details . category = cateResult ;
543+ }
535544
536545 categorySuccess = cateResult . success && this . isValidData ( cateResult . data ) ;
537546 if ( categorySuccess ) {
538547 result . status = 'success' ;
539- result . message = ' 分类接口正常' ;
540- this . log ( `${ source . name } : 分类接口正常` , 'success' ) ;
548+ result . message = ` 分类接口正常${ i > 0 ? ' (容错:分类2)' : '' } ` ;
549+ this . log ( `${ source . name } : 分类接口正常${ i > 0 ? ' (容错:分类2)' : '' } ` , 'success' ) ;
541550 return ;
551+ } else {
552+ // 如果是第一个失败且还有下一个,记录日志
553+ if ( i === 0 && categoriesToCheck . length > 1 ) {
554+ this . log ( `${ source . name } : 分类1无数据,尝试容错检测分类2...` , 'warning' ) ;
555+ }
542556 }
543557 }
544558 }
0 commit comments