| import CryptoJS from 'crypto-js' | 
|   | 
| const KEY = process.env.VUE_APP_ENCRYPT_REQUEST_KEY | 
| const IV = process.env.VUE_APP_ENCRYPT_REQUEST_IV | 
|   | 
| export default { | 
|   /** | 
|    * 加密 | 
|    * | 
|    * @param plaintext 明文 | 
|    * @returns {string} | 
|    */ | 
|   encrypt (plaintext) { | 
|     const key = CryptoJS.enc.Utf8.parse(KEY) | 
|     const secretData = CryptoJS.enc.Utf8.parse(plaintext) | 
|     const encrypted = CryptoJS.AES.encrypt( | 
|       secretData, | 
|       key, | 
|       { | 
|         iv: CryptoJS.enc.Utf8.parse(IV), | 
|         mode: CryptoJS.mode.CBC, | 
|         padding: CryptoJS.pad.Pkcs7 | 
|       } | 
|     ) | 
|     return encrypted.toString() | 
|   }, | 
|   /** | 
|    * 解密 | 
|    * | 
|    * @param cipherText 密文 | 
|    * @returns {*} | 
|    */ | 
|   decrypt (cipherText) { | 
|     const key = CryptoJS.enc.Utf8.parse(KEY) | 
|     const decrypt = CryptoJS.AES.decrypt( | 
|       cipherText, | 
|       key, | 
|       { | 
|         iv: CryptoJS.enc.Utf8.parse(IV), | 
|         mode: CryptoJS.mode.CBC, | 
|         padding: CryptoJS.pad.Pkcs7 | 
|       } | 
|     ) | 
|     return CryptoJS.enc.Utf8.stringify(decrypt).toString() | 
|   } | 
| } |