From deab3ddf1990cd25b4692d1358ac9d50856644f0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 24 三月 2023 14:28:31 +0800
Subject: [PATCH] 2023-03-24

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 4b9f777..b22f897 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -1962,8 +1962,9 @@
     const { btn } = this.props
     const { btnconfig, autoMatic } = this.state
 
-    if (res.message && /^@speak@/.test(res.message)) {
-      res.message = res.message.replace('@speak@', '')
+    let sign = ''
+    if (/^@speak@/i.test(res.message)) {
+      res.message = res.message.replace(/^@speak@/i, '')
       let val = res.message.match(/<<.*>>/)
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
@@ -1977,6 +1978,9 @@
       if (!res.message) {
         res.ErrCode = '-1'
       }
+    } else if (/@close_tab@|@close_popup@|@goback@/i.test(res.message)) {
+      sign = res.message.match(/@close_tab@|@close_popup@|@goback@/i)[0].toLowerCase()
+      res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@/i, '')
     }
 
     if ((res.ErrCode === 'S' || !res.ErrCode) || autoMatic) { // 鎵ц鎴愬姛
@@ -2032,9 +2036,9 @@
       return
     }
 
-    if (btn.execSuccess === 'closetab') {
+    if (btn.execSuccess === 'closetab' || sign === '@close_tab@') {
       MKEmitter.emit('closeTabView', btn.$MenuID)
-    } else if (btn.execSuccess === 'closepoptab') {
+    } else if (btn.execSuccess === 'closepoptab' || sign === '@close_popup@') {
       MKEmitter.emit('popclose')
     } else if (btn.execSuccess !== 'never') {
       MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.execSuccess, btn, id, this.state.selines)
@@ -2350,12 +2354,13 @@
    * 2銆乪xcel瀵煎嚭锛屽け璐ュ悗鍙栨秷瀵煎嚭鎸夐挳鍔犺浇涓姸鎬�
    * 3銆侀�氱煡涓诲垪琛ㄥ埛鏂�
    */
-  execError = (res) => {
+  execError = (res = {}) => {
     const { btn } = this.props
     const { btnconfig, autoMatic } = this.state
 
-    if (res.message && /^@speak@/.test(res.message)) {
-      res.message = res.message.replace('@speak@', '')
+    let sign = ''
+    if (/^@speak@/i.test(res.message)) {
+      res.message = res.message.replace(/^@speak@/i, '')
       let val = res.message.match(/<<.*>>/)
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
@@ -2369,6 +2374,9 @@
       if (!res.message) {
         res.ErrCode = '-1'
       }
+    } else if (/@close_tab@|@close_popup@|@goback@/i.test(res.message)) {
+      sign = res.message.match(/@close_tab@|@close_popup@|@goback@/i)[0].toLowerCase()
+      res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@/i, '')
     }
 
     if (res.ErrCode === 'E' && !autoMatic) {
@@ -2416,7 +2424,9 @@
       MKEmitter.emit('mkFC', 'focus', btnconfig.setting.errFocus)
     }
 
-    if (btn.execError === 'closepoptab') {
+    if (sign === '@close_tab@') {
+      MKEmitter.emit('closeTabView', btn.$MenuID)
+    } else if (btn.execError === 'closepoptab' || sign === '@close_popup@') {
       MKEmitter.emit('popclose')
     } else if (btn.execError !== 'never') {
       MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.execError, btn, '', this.state.selines)

--
Gitblit v1.8.0