From 36c2449aec5b51e5ed4e5c6841154b746060e09a Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期六, 14 九月 2024 12:22:20 +0800
Subject: [PATCH] UI上下文导入接口上传

---
 Source/plt-web/plt-web-ui/src/util/func.js |   78 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/util/func.js b/Source/plt-web/plt-web-ui/src/util/func.js
index 9c9f00d..03c02d3 100644
--- a/Source/plt-web/plt-web-ui/src/util/func.js
+++ b/Source/plt-web/plt-web-ui/src/util/func.js
@@ -1,7 +1,32 @@
 /**
  * 閫氱敤宸ュ叿绫�
  */
+import CryptoJS from 'crypto-js'
+
 export default class func {
+
+  /**
+   * 鍗曢�夎〃鏍艰
+   * row 褰撳墠琛屾暟鎹�
+   * CrudRef 琛ㄦ牸ref缁戝畾鍊�
+   * lastIndex 鍒ゆ柇浜屾鐐瑰嚮index鏄惁鍜岀涓�娆$偣鍑讳竴鑷�
+   * setLastIndex 鏇存柊lastIndex鍊�
+   * setSelectList 灏嗕笅鎷夋淇濆瓨鏁扮粍缃┖
+   */
+
+  static rowClickHandler(row, CrudRef, lastIndex, setLastIndex, setSelectList) {
+    if (lastIndex === row.$index) {
+      setSelectList();
+      CrudRef.clearSelection();
+    } else {
+      setSelectList();
+      CrudRef.clearSelection();
+      CrudRef.toggleRowSelection(row);
+    }
+
+    setLastIndex(row.$index);
+  }
+
   /**
    * 涓嶄负绌�
    * @param val
@@ -36,6 +61,14 @@
       return true;
     }
     return false;
+  }
+
+  /**
+   * 鍒ゆ柇瀵硅薄涓虹┖
+   */
+
+  static isEmptyObject(obj) {
+    return Object.keys(obj).length === 0;
   }
 
   /**
@@ -176,5 +209,50 @@
       return item[attr] !== array[0][attr];
     });
   }
+
+  /**
+   * 3des鍔犲瘑
+   * @param message
+   * @param key
+   * @returns {string}
+   */
+  encryptByDES(message, key) {
+    const keyHex = CryptoJS.enc.Utf8.parse(key);
+    const encrypted = CryptoJS.DES.encrypt(message, keyHex, {
+      mode: CryptoJS.mode.ECB,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return encrypted.toString();
 }
 
+  /**
+   * HmacMD5鍔犲瘑
+   * @param message
+   * @param key
+   * @returns {string}
+   * @constructor
+   */
+  static HmacMD5(message, key) {
+    const encrypted = CryptoJS.HmacMD5(message,key);
+    return encrypted.toString();
+  }
+
+  /**
+   * aes鍔犲瘑
+   * @param data
+   * @param secretKey
+   * @returns {string}
+   */
+  static encryptData(data, secretKey) {
+    const key = CryptoJS.enc.Utf8.parse(secretKey);
+    const iv = CryptoJS.enc.Utf8.parse(secretKey.substr(0, 16)); // AES block size is 128 bits (16 bytes)
+    const encrypted = CryptoJS.AES.encrypt(data, key, {
+      iv: iv,
+      mode: CryptoJS.mode.CBC,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return encrypted.toString();
+  }
+}
+
+

--
Gitblit v1.9.3