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;
}
人生如逆旅
我亦是行人

浙公网安备 33010602011771号