diff --git a/pages/upload/upload.vue b/pages/upload/upload.vue
index 8f06f5d..35bad12 100644
--- a/pages/upload/upload.vue
+++ b/pages/upload/upload.vue
@@ -676,6 +676,13 @@
+
+
+
+ ✕
+ 对准条码自动识别
+
+
@@ -819,6 +826,7 @@ export default {
historyList: [],
isSubmitting: false,
isLoading: false,
+ showScanCamera: false,
// 无ISBN表单
noIsbnPrintTime: '',
@@ -1147,16 +1155,23 @@ export default {
uni.showToast({ title: '请先登录孔网账号', icon: 'none' })
return
}
- // 打开摄像头实时识别条形码,对准即识别,无需拍照
- uni.scanCode({
- onlyFromCamera: true,
- scanType: ['barcode'],
- success: (res) => {
- this.isbn = (res.result || '').trim()
- this.searchISBN()
- },
- fail: () => {}
- })
+ // 打开全屏摄像头实时扫码(无取景框)
+ this.showScanCamera = true
+ },
+
+ // 摄像头实时扫码回调
+ handleScancode(e) {
+ const code = (e.detail && e.detail.result) || ''
+ if (code && code.length === 13) {
+ this.showScanCamera = false
+ this.isbn = code.trim()
+ this.searchISBN()
+ }
+ },
+
+ // 关闭扫码摄像头
+ closeScanCamera() {
+ this.showScanCamera = false
},
// ISBN搜索 - 查询图书中心 + 孔网市场
@@ -2855,6 +2870,51 @@ picker {
height: 40rpx;
}
+/* ========== 全屏扫码摄像头 ========== */
+.scan-camera-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 9999;
+ background-color: #000;
+}
+
+.scan-camera {
+ width: 100%;
+ height: 100%;
+}
+
+.scan-camera-close {
+ position: fixed;
+ top: 60rpx;
+ left: 30rpx;
+ width: 60rpx;
+ height: 60rpx;
+ border-radius: 50%;
+ background-color: rgba(0,0,0,0.4);
+ color: #fff;
+ font-size: 36rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 10000;
+}
+
+.scan-camera-tip {
+ position: fixed;
+ bottom: 120rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ color: #fff;
+ font-size: 28rpx;
+ background-color: rgba(0,0,0,0.5);
+ padding: 12rpx 30rpx;
+ border-radius: 40rpx;
+ z-index: 10000;
+}
+
/* ========== 底部提交栏 ========== */
.bottom-bar {
background-color: #ffffff;