From d5894106a09ea9bc900bad176c177763a1df0568 Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期五, 27 十二月 2024 14:29:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-ui/src/util/func.js | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 174 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..e3c463d 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,92 @@
/**
* 閫氱敤宸ュ叿绫�
*/
+import CryptoJS from 'crypto-js'
+import {validatenull} from "@/util/validate";
+import {getStore} from "@/util/store";
+import {getIcons} from "@/api/UI/Icons";
+import store from "@/store/index"
+
export default class func {
+
+ static getSvgList() {
+ const fs = require('fs');
+ const path = require('path');
+
+ // 鎸囧畾鏂囦欢澶硅矾寰�
+ const directoryPath = "../config/svg"; // 淇敼涓轰綘鐨勬枃浠跺す璺緞
+
+ // 瀛樺偍 .svg 鏂囦欢璺緞鐨勬暟缁�
+ let svgFiles = [];
+
+ // 璇诲彇鏂囦欢澶�
+ fs.readdir(directoryPath, (err, files) => {
+ if (err) {
+ return console.error('鏃犳硶璇诲彇鐩綍: ' + err);
+ }
+
+ // 閬嶅巻鏂囦欢
+ files.forEach(file => {
+ // 妫�鏌ユ枃浠跺悗缂�鍚�
+ if (path.extname(file).toLowerCase() === '.svg') {
+ // 鏋勫缓鏂囦欢鐨勫畬鏁磋矾寰�
+ const filePath = path.join(directoryPath, file);
+ svgFiles.push(filePath);
+ }
+ });
+
+ // 杈撳嚭缁撴灉
+ console.log(JSON.stringify(svgFiles, null, 2));
+ });
+ }
+
+ /**
+ * 鍗曢�夎〃鏍艰
+ * 鏃堕棿鎴虫牸寮忓寲
+ */
+ static formattedDate(val) {
+ // 鍒涘缓涓�涓� Date 瀵硅薄
+ const date = new Date(val);
+
+ // 鏍煎紡鍖栨椂闂寸殑杈呭姪鍑芥暟
+ const formatNumber = (number) => String(number).padStart(2, '0');
+
+ // 鎻愬彇骞舵牸寮忓寲骞淬�佹湀銆佹棩銆佸皬鏃躲�佸垎閽熷拰绉�
+ const year = date.getFullYear();
+ const month = formatNumber(date.getMonth() + 1); // 鏈堜唤浠�0寮�濮嬶紝闇�瑕�+1
+ const day = formatNumber(date.getDate());
+ const hours = formatNumber(date.getHours());
+ const minutes = formatNumber(date.getMinutes());
+ const seconds = formatNumber(date.getSeconds());
+
+ // 鏍煎紡鍖栦负 YYYY-MM-DD HH:MM:SS
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ }
+
+ /**
+ * 鍗曢�夎〃鏍艰
+ * 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);
+ }*/
+ setSelectList();
+ CrudRef.toggleSelection();
+ CrudRef.toggleRowSelection(row);//閫変腑褰撳墠琛�
+ setLastIndex(row.$index);
+ }
+
/**
* 涓嶄负绌�
* @param val
@@ -36,6 +121,18 @@
return true;
}
return false;
+ }
+
+ /**
+ * 鍒ゆ柇瀵硅薄涓虹┖
+ */
+
+ static isEmptyObject(obj) {
+ if (obj) {
+ return Object.keys(obj).length === 0;
+ } else {
+ return true;
+ }
}
/**
@@ -176,5 +273,82 @@
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();
+ }
+
+ /* 鏍规嵁name鑾峰彇svg鍥炬爣
+ * @param name
+ * @returns {string}
+ */
+ static getSVGByName(name) {
+ let svgHtml = '';
+ if(name && name.indexOf(':')!=-1) {
+ let iconList = getStore({name: 'icons'});
+ if (iconList && iconList.length > 0) {
+ let libName = name.split(':')[0];
+ let currentLic = iconList.find(item => item.lable == libName);
+ if (currentLic.list) {
+ currentLic.list.find(item => {
+ if (item.name == name) {
+ svgHtml = item.content;
+ }
+ return item.name == name;
+ })
+ }
+ }else {
+ getIcons().then(res => {
+ this.iconList=res.data.data;
+ store.dispatch("setIcons", this.iconList);
+ if(this.iconList.length>0) {
+ this.activeName=this.iconList[0].lable;
+ }
+ })
+ }
+ }
+ return svgHtml;
+ }
}
+
--
Gitblit v1.9.3