WXL
2024-06-05 f357f41d488c8f91b63d86807874b02e2d9a6d08
src/views/outsideChain.vue
@@ -45,6 +45,7 @@
<script>
import { getExternalfollowup } from "@/api/AiCentre/index";
import CryptoJS from "crypto-js";
import JSEncrypt from "jsencrypt";
export default {
  data() {
    return {
@@ -77,12 +78,13 @@
    getQuestionnaire() {
      let taskid = this.$route.query.param1;
      let patid = this.$route.query.param2;
      taskid = this.decryptData(taskid, this.privateKey);
      patid = this.decryptData(patid, this.privateKey);
      this.taskid = taskid;
      this.patid = patid;
      this.taskid = this.decrypt(taskid);
      this.patid = this.decrypt(patid);
      this.$modal.msgSuccess("用户id为" + this.patid);
      this.$modal.msgSuccess("任务id为" + this.taskid);
      this.taskid = this.encrypt(this.taskid);
      this.patid = this.encrypt(this.patid);
      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then(
        (res) => {
          if (res.code == 200) {
@@ -92,34 +94,46 @@
      );
    },
    // 加密函数
    encryptData(data, publicKey) {
      // 将公钥转换为CryptoJS格式
      let key = CryptoJS.enc.Utf8.parse(publicKey);
      // 使用公钥进行加密
      let encrypted = CryptoJS.AES.encrypt(data, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7,
      });
      // 返回加密后的数据
      return encrypted.toString();
    encrypt(txt) {
      const encryptor = new JSEncrypt();
      encryptor.setPublicKey(this.publicKey); // 设置公钥
      return encryptor.encrypt(txt); // 对数据进行加密
    },
    // 解密函数
    decryptData(encryptedData, privateKey) {
      // 将私钥转换为CryptoJS格式
      let key = CryptoJS.enc.Utf8.parse(privateKey);
      // 使用私钥进行解密
      let decrypted = CryptoJS.AES.decrypt(encryptedData, key, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7,
      });
      // 将解密后的数据转换为字符串并返回
      return decrypted.toString(CryptoJS.enc.Utf8);
    decrypt(txt) {
      const encryptor = new JSEncrypt();
      encryptor.setPrivateKey(this.privateKey); // 设置私钥
      return encryptor.decrypt(txt); // 对数据进行解密
    },
    // // 加密函数
    // encryptData(data, publicKey) {
    //   // 将公钥转换为CryptoJS格式
    //   let key = CryptoJS.enc.Utf8.parse(publicKey);
    //   // 使用公钥进行加密
    //   let encrypted = CryptoJS.AES.encrypt(data, key, {
    //     mode: CryptoJS.mode.ECB,
    //     padding: CryptoJS.pad.Pkcs7,
    //   });
    //   // 返回加密后的数据
    //   return encrypted.toString();
    // },
    // // 解密函数
    // decryptData(encryptedData, privateKey) {
    //   // 将私钥转换为CryptoJS格式
    //   let key = CryptoJS.enc.Utf8.parse(privateKey);
    //   // 使用私钥进行解密
    //   let decrypted = CryptoJS.AES.decrypt(encryptedData, key, {
    //     mode: CryptoJS.mode.ECB,
    //     padding: CryptoJS.pad.Pkcs7,
    //   });
    //   // 将解密后的数据转换为字符串并返回
    //   return decrypted.toString(CryptoJS.enc.Utf8);
    // },
  },
};
</script>