var utils = { uniqueInArray(arr) { //去重 var n = {}, r = []; for (var i = 0; i < arr.length; i++) { if (!n[arr[i]]) { n[arr[i]] = true; r.push(arr[i]); } } return r; }, uniqueInArrayObject(arr) { //数组对象去重 根据数组对象中的某个唯一的键名去重 let n = [], r = {}; arr.forEach(ele => { if (!r[ele.ID]) { n.push(ele) r[ele.ID] = true } }); return n; }, getLabelInArray(arr, key) { let label = null; arr.forEach(item => { if (item.value == key) { label = item.label } }); return label }, getValueInArray(arr, key) { let value = null; arr.forEach(item => { if (item.label == key) { value = item.value } }); return value }, //给图片添加水印 getImgWaterMark({ url = '', textAlign = 'left', textBaseline = 'middle', font = '18px Microsoft Yahei', fillStyle = 'rgba(0, 0, 0, 0.15)', // fillStyle = '#aaaaaa', content = 'Eventech', cb = null, } = {}) { // 创建所需要添加水印的img图片 const canvas = document.createElement('canvas') const ctx = canvas.getContext('2d') //console.log(url, 58) let watermark = new Image() watermark.src = "static/img/watermark/default.png" watermark.crossOrigin = 'anonymous' const img = new Image() img.src = url img.crossOrigin = 'anonymous' img.onload = function() { // 创建canvas,并将创建的img绘制成canvas canvas.width = img.width canvas.height = img.height ctx.drawImage(img, 0, 0) ctx.drawImage(watermark, img.width / 2, 10) //上 ctx.drawImage(watermark, 0, img.height / 2) //左 ctx.drawImage(watermark, img.width / 2, (img.height - 120)) //下 ctx.drawImage(watermark, (img.width - 120), img.height / 2) //右 ctx.textAlign = textAlign ctx.textBaseline = textBaseline ctx.font = font ctx.fillStyle = fillStyle ctx.globalAlpha = 0.3; ctx.rotate((Math.PI / 180) * 15) // 循环绘制水印 // ctx.fillText(content, img.width - textX, img.height - textY) // for (let i = 0; i < img.height / 120; i++) { // for (let j = 0; j < img.width / 65; j++) { // ctx.fillText(content, i * 300, j * 200, img.width) // } // } // 将绘制完成的canvas转换为base64的地址 const base64Url = canvas.toDataURL() cb && cb(base64Url) } }, } export default utils