/* 扫码容器 */ .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); }