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

工业品公司做商城网站好吗网络宣传方案

工业品公司做商城网站好吗,网络宣传方案,免费做链接的网站,南京网络公司平台页面水印一般包含了用户信息,比如姓名,工号,部门等信息, 这些信息是可以从接口获取到的,也可以从本地存储中获取到的, 这里我们就从本地存储中获取到用户信息,然后将其作为水印的内容。 // 获取…

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

// 获取水印要显示的信息
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/74784.html

相关文章:

  • 如何借用别人静态网站做模板平台代运营是什么意思
  • 棋类游戏网站开发汤阴县seo快速排名有哪家好
  • 网站搭建设计 是什么意思7个湖北seo网站推广策略
  • 网站(建设)安全自查报告百度推广怎么样才有效果
  • 优化网站速度的要点北京seo网络优化师
  • 卢湾做网站淘宝数据分析工具
  • 做什么地方网站网站如何推广营销
  • 做网站前期需要准备什么百度关键词搜索引擎排名优化
  • wordpress没了外贸建站优化
  • 山西太原做网站深圳新闻最新事件
  • 遵义湘江投资建设有限责任公司门户网站商品推广软文写作500字
  • 公司做网站的钱网银转账用途aso安卓优化公司
  • 响应式网站开发技术seo公司哪家好用
  • 菠菜网站怎么做推广比较好做网站哪家好
  • 西安好的网站建设公司排名百度地图人工电话
  • 乐平网站设计谷歌google搜索引擎入口
  • wordpress 个人公众号seo综合查询接口
  • 湖南株洲网站建设专业seo优化推广
  • 东莞企业名录大全郑州关键词优化费用
  • 海丰县网站设计黑帽seo是作弊手法
  • 网站设计建设公司服务商百度权重等级
  • 多语言建设外贸网站个人网站怎么做
  • 济南手工网站建设上海网络推广培训机构
  • 丰县网站建设搜索词分析工具
  • 专业做网站建设 昆山竞价托管公司排名
  • 免费建站有哪些网站汕头seo代理商
  • 网站域名必须备案吗aso推广方案
  • 做非洲出口的网站seo网络推广什么意思
  • wordpress 注册不了seo站长网
  • 做网站 信科网络搜索热度查询