fastbee/yack-mini/miniprogram/pages/device/scan/scan.wxss

259 lines
3.5 KiB
Plaintext

/* 扫描页面样式 */
.scan-status {
display: flex;
flex-direction: column;
align-items: center;
padding: 60rpx 40rpx;
margin-bottom: 20rpx;
}
.status-icon {
position: relative;
width: 160rpx;
height: 160rpx;
margin-bottom: 32rpx;
}
.ble-icon {
width: 100%;
height: 100%;
}
.scan-animation {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 50%;
border: 4rpx solid #1890ff;
opacity: 0;
}
.scan-animation.scanning {
animation: scan-wave 1.5s infinite;
}
@keyframes scan-wave {
0% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.status-text {
font-size: 36rpx;
font-weight: 600;
color: #333;
margin-bottom: 12rpx;
}
.status-hint {
font-size: 26rpx;
color: #999;
}
.list-header {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 20rpx 0;
font-size: 28rpx;
color: #666;
}
.hint {
color: #999;
font-size: 24rpx;
}
.scanned-item {
display: flex;
flex-direction: row;
align-items: center;
background-color: #fff;
padding: 28rpx;
border-radius: 12rpx;
margin-bottom: 16rpx;
}
.item-main {
flex: 1;
display: flex;
flex-direction: column;
}
.item-name {
font-size: 30rpx;
font-weight: 600;
color: #333;
margin-bottom: 8rpx;
}
.item-id {
font-size: 24rpx;
color: #999;
}
.item-rssi {
font-size: 24rpx;
color: #1890ff;
}
.empty-hint {
font-size: 24rpx;
color: #bbb;
margin-top: 12rpx;
}
.btn-group {
display: flex;
flex-direction: row;
padding: 40rpx;
gap: 20rpx;
}
.btn-scan {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
background-color: #1890ff;
color: #fff;
height: 88rpx;
line-height: 1;
border-radius: 44rpx;
border: none;
padding: 0;
margin: 0;
}
.btn-scan::after {
border: none;
}
.btn-stop {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
background-color: #ff4d4f;
color: #fff;
height: 88rpx;
line-height: 1;
border-radius: 44rpx;
border: none;
padding: 0;
margin: 0;
}
.btn-stop::after {
border: none;
}
/* 配置弹窗 */
.config-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 999;
}
.modal-mask {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
}
.modal-content {
position: absolute;
left: 40rpx;
right: 40rpx;
top: 50%;
transform: translateY(-50%);
background-color: #fff;
border-radius: 16rpx;
overflow: hidden;
}
.modal-header {
padding: 32rpx;
border-bottom: 1rpx solid #f0f0f0;
}
.modal-title {
font-size: 32rpx;
font-weight: 600;
color: #333;
}
.modal-body {
padding: 32rpx;
}
.config-item {
margin-bottom: 28rpx;
}
.config-label {
display: block;
font-size: 26rpx;
color: #666;
margin-bottom: 12rpx;
}
.config-input {
width: 100%;
height: 72rpx;
background-color: #f5f5f5;
border-radius: 8rpx;
padding: 0 20rpx;
font-size: 28rpx;
box-sizing: border-box;
}
.modal-footer {
display: flex;
flex-direction: row;
border-top: 1rpx solid #f0f0f0;
}
.btn-cancel,
.btn-confirm {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
height: 100rpx;
line-height: 1;
font-size: 30rpx;
border: none;
border-radius: 0;
background-color: transparent;
padding: 0;
margin: 0;
}
.btn-cancel::after,
.btn-confirm::after {
border: none;
}
.btn-cancel {
color: #666;
border-right: 1rpx solid #f0f0f0;
}
.btn-confirm {
color: #1890ff;
font-weight: 600;
}