/**
|
* Created by PanJiaChen on 16/11/18.
|
*/
|
|
/**
|
* @param {string} path
|
* @returns {Boolean}
|
*/
|
|
import checkData from '@/utils/validator.js'
|
export function isExternal(path) {
|
return /^(https?:|mailto:|tel:)/.test(path)
|
}
|
|
/**
|
* @param {string} str
|
* @returns {Boolean}
|
*/
|
export function validUsername(str) {
|
const valid_map = ['admin', 'editor']
|
return valid_map.indexOf(str.trim()) >= 0
|
}
|
|
export var checkphone = (rule, value, callback) => {
|
if (value == "") {
|
callback(new Error("请输入手机号"));
|
} else if (!checkData.checkPhone(value)) {//引入methods中封装的检查手机格式的方法
|
callback(new Error("请输入正确的手机号!"));
|
} else {
|
callback();
|
}
|
};
|
export var checkBankNo = (rule, value, callback) => {
|
if (value == "") {
|
callback(new Error("请输入银行卡号"));
|
} else if (!checkData.bankCard(value)) {//引入methods中封装的检查手机格式的方法
|
callback(new Error("请输入正确的银行卡号!"));
|
} else {
|
callback();
|
}
|
};
|
export var checkIdCard = (rule, value, callback) => {
|
if (value == "") {
|
callback(new Error("身份证号不能为空"));
|
} else if (! /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test( value)) {//引入methods中封装的检查手机格式的方法
|
callback(new Error("身份证号码格式错误!"));
|
} else {
|
callback();
|
}
|
};
|
export function getBase64(file) { //文件转base64
|
return new Promise((resolve, reject) => {
|
let reader = new FileReader();
|
let fileResult = "";
|
reader.readAsDataURL(file);
|
//开始转
|
reader.onload = function() {
|
fileResult = reader.result;
|
};
|
//转 失败
|
reader.onerror = function(error) {
|
reject(error);
|
};
|
//转 结束 咱就 resolve 出去
|
reader.onloadend = function() {
|
resolve(fileResult);
|
};
|
});
|
};
|
|
// 压缩图片
|
export function imgShrink(file,imgWidth,imgHeight) {
|
return new Promise(function(resolve, reject) {
|
let imgResult = ""
|
var width = imgWidth //图像大小
|
var height = imgHeight//图像大小
|
let reader = new FileReader();
|
reader.readAsDataURL(file);
|
reader.onload = function() {
|
let img = new Image();
|
img.src = this.result;
|
let quality = 0.9, //图像质量 取值0-1 值越小,所绘制出的图像越模糊
|
canvas = document.createElement("canvas"),
|
drawer = canvas.getContext("2d");
|
img.onload = function () {
|
canvas.width = width||img.width;
|
canvas.height = height||img.height;
|
drawer.drawImage(img, 0, 0, canvas.width, canvas.height);
|
// 返回base64
|
imgResult = canvas.toDataURL("image/png", quality);
|
resolve(imgResult);
|
}
|
};
|
reader.onerror = function(error) {
|
reject(error);
|
};
|
});
|
}
|
|
|
export function compactObj (obj, fn) {
|
for (var i in obj) {
|
if (typeof obj[i] === 'object') {
|
compactObj(obj[i], fn)
|
}
|
if (fn(obj[i])) {
|
delete obj[i]
|
}
|
}
|
}
|
|
// 删除空对象 删除'', null, undefined
|
export function isEmpty (foo) {
|
if (typeof foo === 'object') {
|
for (var i in foo) {
|
return false
|
}
|
return true
|
} else {
|
return foo === '' || foo === null || foo === undefined
|
}
|
}
|