vue-公共函数封装

Vue中常用的公共函数

独立文件

jsencrypt.js

作用:加密/解密

npm install jsencrypt
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'

// 密钥对生成 http://web.chacuo.net/netrsakeypair
const publicKey = ''

const privateKey =''

//加密
export function encrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对数据进行加密
}

//解密
export function decrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPrivateKey(privateKey) // 设置私钥
  return encryptor.decrypt(txt) // 对数据进行解密
}

validate.js

作用:验证

/**
 * 验证是否为外部链接
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path);
}

公共文件

common.js

/**
 * 添加日期范围
 * @param { beginTime: '', endTime: '', page: 1} params
 * @param {*} dateRange 日期范围数组
 * @param {*} propName C#属性名首字母大写
 */
export function addDateRange(params, dateRange, propName) {
  let search = params;
  search =
    typeof search === "object" && search !== null && !Array.isArray(search)
      ? search
      : {};
  dateRange = Array.isArray(dateRange) ? dateRange : [];
  if (typeof propName === "undefined") {
    search["beginTime"] = dateRange[0];
    search["endTime"] = dateRange[1];
  } else {
    search["begin" + propName] = dateRange[0];
    search["end" + propName] = dateRange[1];
  }
  return search;
}

/**
 * 表单重置
 * @param {*} refName 表单ref属性名称
 */
export function resetForm(refName) {
  if (this.$refs[refName]) {
    this.$refs[refName].resetFields();
  }
}

/**
 * 获取随机颜色值
 * @returns 十六进制颜色值
 */
export function randomColor() {
  //调用:<span :style="{ backgroundColor: `${randomColor()}`}" </span>
  var letters = '0123456789ABCDEF';
  var color = '#';
  do {
      for (var i = 0; i < 6; i++) {
          color += letters[Math.floor(Math.random() * 16)];
      }
  } while (color === '#FFFFFF' || color === '#000000');
  return color;
}
posted @ 2024-05-07 17:32  相遇就是有缘  阅读(49)  评论(0)    收藏  举报