findme-miniprogram-frontend/subpackages/qr/qr-scan/qr-scan.wxss
2025-12-27 17:16:03 +08:00

252 lines
No EOL
4 KiB
Text

/* 扫码容器 */
.scan-container {
position: relative;
width: 100vw;
height: 100vh;
background-color: #000;
position: absolute;
}
/* 相机组件 */
.camera {
width: 100%;
height: 100%;
}
/* 扫码框 */
.scan-box {
position: absolute;
display: flex;
flex-direction: column;
align-items: center;
}
.tempFilePath{
width: 100%;
height: 100%;
opacity: 50%;
}
/* 扫码框边框(半透明) */
.scan-box-border {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* border: 1px dashed rgba(0, 255, 0, 0.15); */
box-sizing: border-box;
/* border: 1px solid red; */
}
/* 扫描线 */
.scan-line {
position: absolute;
width: 100%;
height: 2rpx;
background: linear-gradient(90deg, transparent, #00ffaa, transparent);
/* background-color: #00ffaa; */
border-radius: 100%;
/* box-shadow: 100rpx 100rpx 1px 2px #0f0; */
}
/* 角落标记 */
.scan-corner {
position: absolute;
width: 20rpx;
height: 20rpx;
border: 3px solid rgba(255, 255, 255, 1);
opacity:0;
box-sizing: border-box;
}
.scan-corner.top-left {
top: 0;
left: 0;
border-right: none;
border-bottom: none;
}
.scan-corner.top-right {
top: 0;
right: 0;
border-left: none;
border-bottom: none;
}
.scan-corner.bottom-left {
bottom: 0;
left: 0;
border-right: none;
border-top: none;
}
.scan-corner.bottom-right {
bottom: 0;
right: 0;
border-left: none;
border-top: none;
}
/* 提示文字 */
.scan-tip {
position: absolute;
bottom: 200rpx;
width: 100%;
text-align: center;
color: #fff;
font-size: 28rpx;
text-shadow: 0 0 5px rgba(0,0,0,0.8);
}
/* 功能按钮区 */
.scan-controls {
position: absolute;
bottom: 60rpx;
width: 100%;
display: flex;
justify-content: space-around;
}
.control-btn {
display: flex;
flex-direction: column;
align-items: center;
color: #fff;
background: transparent;
border: none;
padding: 0;
margin: 0;
border: 1px solid red;
}
.btn-icon {
width: 50rpx;
height: 50rpx;
}
.btn-text {
font-size: 24rpx;
}
/* 结果弹窗 */
.result-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 100;
}
.result-content {
width: 600rpx;
background-color: #fff;
border-radius: 20rpx;
padding: 40rpx;
box-sizing: border-box;
}
.result-title {
font-size: 32rpx;
font-weight: bold;
text-align: center;
margin-bottom: 30rpx;
color: #333;
}
.result-text {
font-size: 28rpx;
color: #666;
padding: 20rpx;
border: 1px solid #eee;
border-radius: 10rpx;
margin-bottom: 30rpx;
word-break: break-all;
max-height: 300rpx;
overflow-y: auto;
}
.result-btns {
display: flex;
justify-content: space-between;
}
.result-btn {
width: 240rpx;
height: 80rpx;
line-height: 80rpx;
font-size: 28rpx;
border-radius: 40rpx;
}
.copy-btn {
background-color: #07c160;
color: #fff;
}
.rescan-btn {
background-color: #f5f5f5;
color: #333;
}
/* 底部操作按钮区域样式 */
.action-buttons {
display: flex;
justify-content: space-around;
width: 100%;
/* padding: 0 60rpx; */
position: fixed;
bottom: 50rpx;
left: 0;
color: white;
font-size: 28rpx;
}
.action-btn-out{
/* border: 1px solid red; */
width: 120rpx;
height: 180rpx;
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: column;
}
.action-btn {
width: 120rpx;
height: 120rpx;
background-color: #0a0a0a;
border-radius: 24rpx;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 1),
-3rpx -3rpx 2rpx rgba(255, 255, 255, 0.3),
inset -3rpx -3rpx 2rpx rgba(255, 255, 255, 0.3);
/* border-top-right-radius:; */
}
.action-icon {
width: 70rpx;
height:70rpx;
opacity: 0.9;
}
.imgPath{
height: 80%;
border: 1px solid red;
}
.off {
width: 100vw;
height: 100vh;
left: 0rpx;
top: 0rpx;
/* border: 1px solid rgb(0, 255, 0); */
background-color: rgba(0, 0, 0, 1);
}