/** * 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 } }