From 84d5f2ddb619b227a6f8b2e331326bc824dd68d5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期日, 28 九月 2025 10:13:20 +0800
Subject: [PATCH] 档案和附件相关

---
 src/components/CustomImageViewer/index.vue |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/src/components/CustomImageViewer/index.vue b/src/components/CustomImageViewer/index.vue
index 0457395..942cb20 100644
--- a/src/components/CustomImageViewer/index.vue
+++ b/src/components/CustomImageViewer/index.vue
@@ -87,6 +87,11 @@
       if (!newVal) {
         this.showTip = false;
         this.tipMessage = '';
+        this.removeKeyListener();
+      } else {
+        this.$nextTick(() => {
+          this.addKeyListener();
+        });
       }
     }
   },
@@ -117,7 +122,6 @@
     showTipMessage(message) {
       this.tipMessage = message;
       this.showTip = true;
-      // 2绉掑悗鑷姩闅愯棌鎻愮ず
       setTimeout(() => {
         this.hideTip();
       }, 2000);
@@ -128,7 +132,39 @@
     },
     handleError() {
       console.error(`鍥剧墖鍔犺浇澶辫触: ${this.currentUrl}`);
+    },
+
+    // 閿洏浜嬩欢澶勭悊
+    handleKeydown(event) {
+      switch(event.key) {
+        case 'ArrowLeft':
+          event.preventDefault(); // 闃绘榛樿琛屼负
+          this.goPrev();
+          break;
+        case 'ArrowRight':
+          event.preventDefault();
+          this.goNext();
+          break;
+        case 'Escape':
+          event.preventDefault();
+          this.close();
+          break;
+      }
+    },
+    addKeyListener() {
+      document.addEventListener('keydown', this.handleKeydown);
+    },
+    removeKeyListener() {
+      document.removeEventListener('keydown', this.handleKeydown);
     }
+  },
+  mounted() {
+    if (this.visible) {
+      this.addKeyListener();
+    }
+  },
+  beforeUnmount() {
+    this.removeKeyListener();
   }
 };
 </script>

--
Gitblit v1.9.3