vue如何实现一个防篡改的水印组件?
网友回复
nodejs
<template>
<div class="watermark-container">
<canvas ref="watermarkCanvas" class="watermark-canvas"></canvas>
<div class="content">
<!-- 这里是您的页面内容 -->
<slot></slot>
</div>
</div>
</template>
<script>
export default {
mounted() {
this.drawWatermark();
window.addEventListener('scroll', this.drawWatermark);
window.addEventListener('resize', this.drawWatermark);
},
beforeDestroy() {
window.removeEventListener('scroll', this.drawWatermark);
window.removeEventListener('resize', this.drawWatermark);
},
methods: {
drawWatermark() {
const canvas = this.$refs.watermarkCanvas;
const context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
// 设置水印样式
context.font = '20px Arial';
context.fillStyle = 'rgba(0, 0, 0, 0.1)';
context.rotate((-20 * Math.PI) / 180);
const text = 'Your Watermark Text';
// 在画布上绘制水印
for (let i = 0; i < window.innerWidth; i += 200) {
for (let j = 0; j < window.innerHeight; j += 100) {
context.fillText(text, i, j);
}
}
},
},
};
</script>
<style>
.watermark-container {
position: relative;
}
.watermark-canvas {
...点击查看剩余70%


