From a7813a33fc5f60ea995dfe0f09f52243e2ccfbb2 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 22 二月 2024 16:28:11 +0800
Subject: [PATCH] 2024-02-22

---
 src/utils/utils.js |   59 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 35 insertions(+), 24 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index aae25f6..e6eb0cf 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1,7 +1,7 @@
 import React from 'react'
 import moment from 'moment'
 import md5 from 'md5'
-// import NodeRSA from 'node-rsa'
+import CryptoJS from 'crypto-js'
 
 const formatKeys = [
   { key: 'select', value: ' msltk ' },
@@ -124,37 +124,32 @@
     if (!value) return ''
 
     value = value.replace(/\n/ig, ' \n ')
-    // 鏇挎崲鍏抽敭瀛�
-    formatKeys.forEach(item => {
-      let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig')
-      value = value.replace(reg, item.value)
-    })
-    // 鏇挎崲%绗︼紙鏁版嵁搴撲腑瑙f瀽鍚巗ql鎶ラ敊锛�
-    value = value.replace(/%/ig, ' mpercent ')
+
     // 澶栬仈鏁版嵁搴撴浛鎹�
     if (window.GLOB.externalDatabase !== null) {
       value = value.replace(/@db@/ig, window.GLOB.externalDatabase)
     }
 
+    // 鏇挎崲%绗︼紙鏁版嵁搴撲腑瑙f瀽鍚巗ql鎶ラ敊锛�
+    value = value.replace(/%/ig, ' mpercent ')
+
     if (exec_type === 'x') {
-      // let publicKey = `-----BEGIN PUBLIC KEY-----
-      //   MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwGxFURiCrk5a2xfWuM3W
-      //   2lkS3ioZhUFXpkK1inMivItsA/J8MTaBB3EAVxC29xdVCU+xOzs512PuD2b1sjzX
-      //   jwO6kx433NtB2okqGiP4RkzhEJHwdyc9dPUKdjirDznUWI9R7WayAf5Z4COhMsj2
-      //   IbkyJgkb6Ivn0UgU0GSWc92HqJJmnb3Ti2gk6A2+oybz2RE3+xB/yOaNu3xav4yi
-      //   xxo6harVLNBiaU+D7aDed1W3kE20gLOnEAvcLMjpe3n/QvF5RtELsm3T+vH3TIT2
-      //   GI9+8cT20NZ2d7i41+j/AQZiPJNS3MVmc3aIhuyCOsNPLmvbZZi1KPSJIqkCwdEg
-      //   mQIDAQAB
-      //   -----END PUBLIC KEY-----`
+      let key = CryptoJS.enc.Utf8.parse('D1185ED7B32568C9')
+      let iv = CryptoJS.enc.Utf8.parse('')
+      let srcs = CryptoJS.enc.Utf8.parse(value)
 
-      // let pubKey = new NodeRSA(publicKey, 'pkcs8-public')
+      let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
+      value = encrypted.toString()
 
-      // value = window.encodeURIComponent(value)
-      // value = pubKey.encrypt(value, 'base64')
-
-      // const priKey = new NodeRSA(privateKey, 'pkcs8-private')
-      // const res = priKey.decrypt(value, 'utf8')
+      // let wordArray = CryptoJS.enc.Base64.parse(value)
+      // let decryptedWordArray = CryptoJS.AES.decrypt({ ciphertext: wordArray }, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
+      // let decryptedText = CryptoJS.enc.Utf8.stringify(decryptedWordArray)
     } else {
+      // 鏇挎崲鍏抽敭瀛�
+      formatKeys.forEach(item => {
+        let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig')
+        value = value.replace(reg, item.value)
+      })
       // encode缂栫爜锛堜腑鏂囧瓧绗﹁秴鍑篵ase64鍔犲瘑鑼冨洿锛�
       value = window.btoa(window.encodeURIComponent(value))
       // 鎻掑叆瀛楃
@@ -543,6 +538,11 @@
           newsearches[item.key] = _startval
           newsearches[item.key + '1'] = _endval
         }
+      } else if (item.type === 'range') {
+        let val = item.value.split(',')
+
+        newsearches[item.key] = val[0] || -999999
+        newsearches[item.key + '1'] = val[1] || 999999
       } else if (item.type === 'dateweek') {
         let _startval = ''
         let _endval = ''
@@ -690,7 +690,7 @@
       } else if (item.type === 'range') {
         let val = item.value.split(',')
 
-        searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
+        searchText.push('(' + item.key + ' >= ' + (val[0] || -999999) + ' AND ' + item.key + ' < ' + (val[1] || 999999) + ')')
       } else {
         searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')')
       }
@@ -761,6 +761,17 @@
           options.push(item)
           options.push(copy)
         }
+      } else if (item.type === 'range') {
+        let val = item.value.split(',')
+
+        let copy = JSON.parse(JSON.stringify(item))
+        copy.key = copy.key + '1'
+        copy.value = val[1] || 999999
+        
+        item.value = val[0] || -999999
+
+        options.push(item)
+        options.push(copy)
       } else if (item.type === 'dateweek') {
         let _startval = item.value ? moment(item.value, 'YYYY-MM-DD').startOf('week').format('YYYY-MM-DD') + ' 00:00:00.000' : '1970-01-01 00:00:00.000'
         let _endval = item.value ? moment(item.value, 'YYYY-MM-DD').endOf('week').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2050-01-01 00:00:00.000'

--
Gitblit v1.8.0