当前位置: 首页 > wzjs >正文

工业品公司做商城网站好吗短链接生成

工业品公司做商城网站好吗,短链接生成,做网站公众号多少钱,wordpress disqus页面水印一般包含了用户信息,比如姓名,工号,部门等信息, 这些信息是可以从接口获取到的,也可以从本地存储中获取到的, 这里我们就从本地存储中获取到用户信息,然后将其作为水印的内容。 // 获取…

页面水印一般包含了用户信息,比如姓名,工号,部门等信息,
这些信息是可以从接口获取到的,也可以从本地存储中获取到的,
这里我们就从本地存储中获取到用户信息,然后将其作为水印的内容。

// 获取水印要显示的信息
const getUserInfo:any = () => {let userInfo: any = localStorage.getItem('yourKey')userInfo = userInfo ? JSON.parse(userInfo) : {}// 这里可以增加其它内容return `${userInfo?.name}-${userInfo?.phone}`
}

我们还可以给水印做一个基本的配置,比如水印的颜色、字体大小、背景、等等。

/*** @param text 水印文字* @param font 水印字体* @param color 水印颜色* @param fontSize 水印字体大小* @param rotate 水印旋转角度* @param opacity 水印透明度* @param width 水印宽度* @param height 水印高度*/
const watermarkConfig:any = {font: 'Arial',color: 'rgba(191, 126, 126, 1)',fontSize: 14,rotate: 30,opacity: 0.2,width:200,height:150
}

下面是生成水印的代码

// 生成水印
/*** @param bindingValue 水印配置* @returns 水印样式*/
const getCanvas = (bindingValue: any) => {const { text, font = watermarkConfig.font, color = watermarkConfig.color, fontSize = watermarkConfig.fontSize, rotate = watermarkConfig.rotate, opacity = watermarkConfig.opacity } = bindingValue || {}const watermarkText = text || getUserInfo()// 创建水印画布const canvas = document.createElement('canvas')canvas.width = watermarkConfig.widthcanvas.height = watermarkConfig.heightconst ctx = canvas.getContext('2d')if (ctx) {ctx.font = `${fontSize}px ${font}`ctx.fillStyle = colorctx.globalAlpha = opacityctx.rotate(-rotate * Math.PI / 180)ctx.fillText(watermarkText, -20, canvas.height - 50)}// 将画布内容转换为 base64 编码的图片const base64Url = canvas.toDataURL()// 创建水印样式const watermarkStyle = `position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-image: url('${base64Url}');background-repeat: repeat;pointer-events: none;`return watermarkStyle
}

配置在vue元素的生命周期钩子函数中,在挂载和更新的时候,触发水印的更新

const watermark = {mounted(el:any, binding:any) {// 创建水印元素const watermarkElement = document.createElement('div')watermarkElement.className = 'global-watermark'watermarkElement.style.cssText = getCanvas(binding.value)// 设置元素的定位为相对定位,以便水印元素可以相对于它定位el.style.position = 'relative'// 将水印元素添加到目标元素中el.appendChild(watermarkElement)},updated(el:any, binding:any) {// 当指令绑定的值更新时,重新生成水印const watermarkElement = el.querySelector('.global-watermark')if (watermarkElement) {el.removeChild(watermarkElement)}const newWatermarkElement = document.createElement('div')newWatermarkElement.style.cssText = getCanvas(binding.value)el.style.position = 'relative'el.appendChild(newWatermarkElement)}
}

在main.ts主入口中引入watermark,然后挂载在自定义指令方法上。

import watermark from '@/utils/waterMark'
app.directive('watermark', watermark)

最后在项目的.vue文件中直接v-watermark使用即可,可以根据不同的页面传入不同的参数v-watermark="",显示不同水印样式。

http://www.dtcms.com/wzjs/283461.html

相关文章:

  • 企业电商网站备案流程网络营销的四种形式
  • 蒲城做网站石家庄网络推广优化
  • 杭州哪家网站建设比较好爱站网关键词查询网站
  • 做素食香料哪个网站买求几个好看的关键词
  • 基于web网站开发优化网站建设seo
  • 福建省网站建设绩效排名怎么建立一个公司的网站
  • 团队如何分工做网站中文网站排名
  • 聊城市建设局网站首页百度一下网页版
  • excel网站做链接360优化大师app下载
  • 网站站做地图软件百度网址导航主页
  • 城市建设和房屋管理部门网站培训机构加盟店排行榜
  • 电影网站怎么做关键词qq群引流推广平台免费
  • dwcs5做网站想卖产品怎么推广宣传
  • 公众号链接的手机网站怎么做网站的seo
  • 商城网站建设技术论坛优惠活动推广文案
  • 企业建立网站哪些浏览器可以看禁止访问的网站
  • 广州平面设计招聘sem优化
  • 唐山做企业网站360搜索首页网址是多少
  • 网站排名优化外包公司网页设计用什么软件
  • 长春网站建设网站制作推广兰州网站seo诊断
  • 做设计的搜素材上什么网站好各城市首轮感染高峰期预测
  • vb.net可以做网站么我想做电商怎么加入
  • 复兴企业做网站推广无代码系统搭建平台
  • 阿里巴巴每平每屋设计家官网百度优化seo
  • 网站建设公司不给ftp百度客服电话4001056
  • 泗县住房和城乡建设局网站新媒体营销推广公司
  • 做网站简历怎么写网络竞价推广托管公司
  • 网站开发的最后5个阶段西安网站到首页排名
  • 郑州网站建设网站制作免费顶级域名注册
  • 服务器网站部署企业整站优化