/* 连接设备页 —— 三态(idle / searching / found / empty)共用 */ .connected-device { width: 100%; height: 100%; padding: 48rpx 30rpx 0; box-sizing: border-box; /* 三层同心圆波纹动画 */ .ripple { position: relative; width: 300rpx; height: 300rpx; margin: 0 auto 48rpx; display: flex; align-items: center; justify-content: center; /* 波纹圆环 */ .ripple-ring { position: absolute; width: 300rpx; height: 300rpx; border-radius: 50%; background-color: #1385FA; animation: ripple-expand 2.4s ease-out infinite; } .ripple-ring--delay1 { animation-delay: 0.8s; } .ripple-ring--delay2 { animation-delay: 1.6s; } /* 中心实心圆 + 图标 */ .ripple-core { position: relative; z-index: 1; width: 140rpx; height: 140rpx; padding: 30rpx; box-sizing: border-box; border-radius: 50%; background-color: #1385FA; display: flex; align-items: center; justify-content: center; image { width: 80rpx; height: 80rpx; } } } @keyframes ripple-expand { 0% { transform: scale(0.46); opacity: 1; } 100% { transform: scale(1); opacity: 0; } } .title { color: #252535; width: 100%; height: 36rpx; font-size: 36rpx; font-weight: bold; line-height: 36rpx; text-align: center; margin-bottom: 22rpx; } .sub-title { color: #808080; width: 100%; height: 30rpx; font-size: 30rpx; text-align: center; line-height: 30rpx; margin-bottom: 40rpx; } .search-btn { color: #FFFFFF; width: 580rpx; height: 88rpx; font-size: 32rpx; font-weight: bold; text-align: center; line-height: 88rpx; border-radius: 44rpx; margin: 0 auto 32rpx; background-color: #1385FA; } .help { width: 100%; height: 30rpx; text-align: center; line-height: 30rpx; margin-bottom: 60rpx; .help-text { color: #808080; font-size: 30rpx; line-height: 30rpx; margin-right: 8rpx; } .help-link { color: #1385FA; font-size: 30rpx; line-height: 30rpx; } } .search-device { width: 100%; .search-device-header { width: 100%; height: 32rpx; display: flex; flex-wrap: nowrap; justify-content: space-between; margin-bottom: 38rpx; .search-device-title { color: #252535; height: 32rpx; font-size: 32rpx; font-weight: bold; line-height: 32rpx; } .search-device-count { height: 32rpx; display: flex; flex-wrap: nowrap; .count-text { color: #808080; height: 32rpx; font-size: 28rpx; line-height: 32rpx; } .count-num { color: #1385FA; height: 32rpx; font-size: 28rpx; font-weight: bold; line-height: 32rpx; padding: 0 6rpx; } } } .empty { width: 100%; display: flex; flex-direction: column; align-items: center; margin-top: 160rpx; .empty-image { width: 193rpx; height: 138rpx; margin-bottom: 40rpx; background-color: #F5F5F5; } .empty-text { color: #808080; width: 100%; height: 30rpx; font-size: 30rpx; line-height: 30rpx; text-align: center; } } .device-list { width: 100%; display: flex; flex-direction: column; .device-card { width: 100%; height: 150rpx; display: flex; align-items: center; padding: 0 30rpx; background-color: #FFFFFF; border: 2rpx solid #E6E6EA; border-radius: 16rpx; box-sizing: border-box; margin-bottom: 24rpx; .card-icon { width: 90rpx; height: 90rpx; overflow: hidden; border-radius: 24rpx; margin-right: 24rpx; background-color: rgba(19, 133, 250, 0.1); } .card-info { flex: 1; display: flex; flex-direction: column; justify-content: center; .card-name { color: #252535; font-size: 32rpx; font-weight: bold; height: 32rpx; line-height: 32rpx; } .card-status { margin-top: 18rpx; display: flex; align-items: center; .card-dot { width: 12rpx; height: 12rpx; border-radius: 50%; background-color: #2AC79F; margin-right: 15rpx; } .card-status-text { color: #2AC79F; height: 28rpx; font-size: 28rpx; font-weight: 500; line-height: 28rpx; } } } .card-btn-primary { color: #FFFFFF; font-size: 24rpx; font-weight: 500; width: 88rpx; height: 48rpx; line-height: 48rpx; text-align: center; border-radius: 8rpx; background-color: #2AC79F; } .card-btn-danger { color: #F24439; font-size: 24rpx; font-weight: 500; width: 120rpx; height: 48rpx; line-height: 44rpx; text-align: center; border: 2rpx solid #F24439; border-radius: 8rpx; box-sizing: border-box; } } } } }