[Requirement] The system pages display watermarks, but the login page does not have a watermark (the login page will not display a watermark when logging out) 1. Create a watermark Js file/* * @Author: Liu Xiaoer* @Date: 2021-07-15 14:43:27 * @LastEditTime: 2021-07-15 15:00:27 * @LastEditors: Please set LastEditors * @Description: Add watermark * @FilePath: /huashijc_MeetingSys/src/common/warterMark.js */ 'use strict' let watermark = {} let setWatermark = (str) => { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('canvas') can.width = 250 can.height = 120 let cans = can.getContext('2d') cans.rotate(-15 * Math.PI / 150) cans.font = '20px Vedana' cans.fillStyle = 'rgba(200, 200, 200, 0.20)' cans.textAlign = 'left' cans.textBaseline = 'Middle' cans.fillText(str, can.width / 8, can.height / 2) let div = document.createElement('div') div.id = id div.style.pointerEvents = 'none' div.style.top = '35px' div.style.left = '0px' div.style.position = 'fixed' div.style.zIndex = '100000' div.style.width = document.documentElement.clientWidth + 'px' div.style.height = document.documentElement.clientHeight + 'px' div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' document.body.appendChild(div) return id } // This method is only allowed to be called oncewatermark.set = (str) => { let id = setWatermark(str) setInterval(() => { if (document.getElementById(id) === null) { id = setWatermark(str) } }, 500) window.onresize = () => { setWatermark(str) } } const outWatermark = (id) => { if (document.getElementById(id) !== null) { const div = document.getElementById(id) div.style.display = 'none' } } watermark.out = () => { const str = '1.23452384164.123412415' outWatermark(str) } export default watermark 2. Introduction operation 2.1 Reference in App.vue or other pages// 1.In the App.vue file, import the file import Watermark from '@/common/watermark'; computed: { userName() { const name = this.$store.state.user.name return (name && name.length > 0) ? name : 'User name not obtained' } }, mounted() { Watermark.set(this.userName) } // 2. Reference import Watermark from '@/common/watermark' in other pages; created() { Watermark.set('admin') } 2.2 Reference in the router configuration fileconst outWatermark = (id) => { if (document.getElementById(id) !== null) { const div = document.getElementById(id) div.style.display = 'none' } } router.afterEach((to) => { if(to.path == '/'){ Watermark.out() // Clear watermark }else{ Watermark.set('Username not obtained') // Set watermark title } }); This is the end of this article about the implementation example of Vue's global watermark. For more relevant Vue global watermark content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Example analysis of the page splitting principle of MySQL clustered index
>>: Detailed explanation of linux crm deployment code
This seems to be no longer possible with the new ...
Table of contents Preface –link Custom Network As...
1. Install vue-cli npm i @vue/cli -g 2. Create a ...
Table of contents 1. Supplementary knowledge poin...
Preface: When you execute a SQL statement in MySQ...
This article uses examples to explain the Nginx c...
Table of contents Preface: 1. Reasons for the eve...
<br />A year ago, there were no articles abo...
The principle is to call the window.print() metho...
Adding the right VS Code extension to Visual Stud...
Table of contents What is the Apollo Configuratio...
Table of contents 1. Self-enumerable properties 2...
This article mainly introduces the layout method ...
Table of contents Overview 1. Menu and routing pr...
Table of contents 1. Custom routing 2. Tab naviga...