forked from drone/command-center-dashboard

罗广辉
2025-04-02 e1699c4851f6ca397cd0ad1ff63f32c737654836
src/utils/sensitive.js
@@ -6,8 +6,8 @@
   * @returns {Object} 敏感数据管理器实例
   */
  create(config = {}) {
    const sensitiveFields = config.fields || [];
    let initialMaskedData = {};
      const sensitiveFields = config.fields || []
      let initialMaskedData = {}
    return {
      /**
@@ -15,12 +15,12 @@
       * @param {Object} data 包含脱敏数据的对象
       */
      saveInitialData(data) {
        initialMaskedData = {};
            initialMaskedData = {}
        sensitiveFields.forEach(field => {
          if (data[field]) {
            initialMaskedData[field] = data[field];
                  initialMaskedData[field] = data[field]
          }
        });
            })
      },
      /**
@@ -29,16 +29,16 @@
       * @returns {Object} 过滤后的提交数据
       */
      getSubmitData(formData) {
        const submitData = { ...formData };
            const submitData = { ...formData }
        sensitiveFields.forEach(field => {
          // 如果敏感字段的值与初始值相同,删除该字段
          if (submitData[field] === initialMaskedData[field]) {
            delete submitData[field];
                  delete submitData[field]
          }
        });
            })
        return submitData;
            return submitData
      },
      /**
@@ -46,7 +46,7 @@
       * @param {Object} newMaskedData 新的脱敏数据
       */
      updateMaskedData(newMaskedData) {
        Object.assign(initialMaskedData, newMaskedData);
            Object.assign(initialMaskedData, newMaskedData)
      },
      /**
@@ -54,7 +54,7 @@
       * @returns {boolean}
       */
      isModified(formData) {
        return sensitiveFields.some(field => formData[field] !== initialMaskedData[field]);
            return sensitiveFields.some(field => formData[field] !== initialMaskedData[field])
      },
      /**
@@ -62,7 +62,7 @@
       * @returns {Array}
       */
      getModifiedFields(formData) {
        return sensitiveFields.filter(field => formData[field] !== initialMaskedData[field]);
            return sensitiveFields.filter(field => formData[field] !== initialMaskedData[field])
      },
      /**
@@ -72,10 +72,10 @@
      reset(formData) {
        sensitiveFields.forEach(field => {
          if (initialMaskedData[field]) {
            formData[field] = initialMaskedData[field];
                  formData[field] = initialMaskedData[field]
          }
        });
            })
      },
    };
      }
  },
};
}