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
|