@@ -744,6 +744,100 @@ function fetchTrafficData(serverId) {
744744 } ) ;
745745}
746746
747+ /**
748+ * 调试并修复离线服务器的配置显示问题
749+ * 确保即使某些字段为空,前端也能正常显示离线服务器信息
750+ */
751+ function debugOfflineServersConfig ( ) {
752+ // 检查全局状态数据是否存在
753+ if ( ! window . statusCards || ! window . statusCards . servers ) {
754+ console . log ( "状态数据尚未加载,稍后再试" ) ;
755+ return ;
756+ }
757+
758+ // 遍历所有服务器,检查并修复离线服务器的配置数据
759+ window . statusCards . servers . forEach ( server => {
760+ // 重点关注ID为39的服务器
761+ const isTargetServer = server . ID === 39 ;
762+
763+ if ( ! server . IsOnline ) {
764+ if ( isTargetServer ) {
765+ console . log ( `服务器: ${ server . Name } (ID: ${ server . ID } )` , server ) ;
766+ console . log ( "Host 配置信息:" , server . Host ) ;
767+ }
768+
769+ // 确保Host对象存在
770+ if ( ! server . Host ) {
771+ server . Host = { } ;
772+ if ( isTargetServer ) console . log ( "创建空Host对象" ) ;
773+ }
774+
775+ // 确保CPU数组存在且不为null
776+ if ( ! server . Host . CPU || ! Array . isArray ( server . Host . CPU ) ) {
777+ server . Host . CPU = [ ] ;
778+ if ( isTargetServer ) console . log ( "CPU信息为空" ) ;
779+ }
780+
781+ // 确保GPU数组存在且不为null
782+ if ( ! server . Host . GPU || ! Array . isArray ( server . Host . GPU ) ) {
783+ server . Host . GPU = [ ] ;
784+ if ( isTargetServer ) console . log ( "GPU信息为空" ) ;
785+ }
786+
787+ // 确保其他必要的属性存在
788+ if ( ! server . Host . MemTotal ) {
789+ server . Host . MemTotal = 0 ;
790+ if ( isTargetServer ) console . log ( "内存信息为空" ) ;
791+ }
792+
793+ if ( ! server . Host . Platform ) {
794+ server . Host . Platform = "" ;
795+ if ( isTargetServer ) console . log ( "平台信息为空" ) ;
796+ }
797+
798+ if ( ! server . Host . PlatformVersion ) {
799+ server . Host . PlatformVersion = "" ;
800+ if ( isTargetServer ) console . log ( "平台版本信息为空" ) ;
801+ }
802+
803+ if ( ! server . Host . Virtualization ) {
804+ server . Host . Virtualization = "" ;
805+ if ( isTargetServer ) console . log ( "虚拟化信息为空" ) ;
806+ }
807+
808+ if ( ! server . Host . Arch ) {
809+ server . Host . Arch = "" ;
810+ if ( isTargetServer ) console . log ( "架构信息为空" ) ;
811+ }
812+
813+ // 更新原始对象,确保Vue能检测到变化
814+ if ( isTargetServer ) {
815+ console . log ( "修复后的Host对象:" , server . Host ) ;
816+ }
817+ }
818+ } ) ;
819+
820+ // 触发Vue更新
821+ if ( typeof window . statusCards . updateServerData === 'function' ) {
822+ window . statusCards . updateServerData ( ) ;
823+ }
824+ }
825+
826+ // 在页面加载完成后运行调试函数
827+ $ ( document ) . ready ( function ( ) {
828+ // 等待状态数据加载完成后再运行调试
829+ setTimeout ( function ( ) {
830+ debugOfflineServersConfig ( ) ;
831+ } , 1000 ) ;
832+
833+ // 每30秒检查一次,确保数据始终正确
834+ setInterval ( debugOfflineServersConfig , 30000 ) ;
835+
836+ // 原有的流量数据提取
837+ setTimeout ( window . extractTrafficData , 500 ) ;
838+ setInterval ( window . extractTrafficData , 30000 ) ;
839+ } ) ;
840+
747841// 初始化全局流量数据变量
748842window . serverTrafficData = { } ;
749843window . lastTrafficUpdateTime = 0 ;
@@ -901,14 +995,3 @@ window.formatTrafficUnit = function(trafficStr) {
901995
902996 return trafficStr ; // 无法识别时返回原始字符串
903997} ;
904-
905- /**
906- * 初始化流量数据提取和更新
907- */
908- $ ( document ) . ready ( function ( ) {
909- // 立即提取数据
910- setTimeout ( window . extractTrafficData , 500 ) ;
911-
912- // 设置定期更新数据的间隔(每30秒)
913- setInterval ( window . extractTrafficData , 30000 ) ;
914- } ) ;
0 commit comments