公司项目有一个需求,要在主要页面中添加一个水印,就像 用户名:注册手机号 这样的,用来追溯截图
这个内容可以修改data里面的 wm_text ~
新建一个组件,名字就叫water-mark
wxml
<view class="water_top" style="pointer-events: none;"> <view class="water-text" wx:for="{{pageSetting.wm_num_array}}" wx:if="{{isShow}}">{{pageData.wm_text}}</view> </view>
wxss
/*对于最外层大块的样式*/ .water_top{ position: fixed; top:0; bottom: 0; left: -50vw; right: 0; /** 旋转角度 **/ transform:rotate(-13deg); z-index: 99999999; /*由于是设置了倾斜,所以,宽度给大点*/ width: 200vw; } /*内部颜色的样式*/ .water-text{ /*左侧浮动,就是一行一行的那种~*/ float: left; /*设定每组文字的宽度~*/ width:350rpx; /*水印字体的颜色,RGBA形式,最大是1*/ color: rgba(182, 182, 182, 0.5); text-align: center; font-size:30rpx; /*上下的密度*/ margin: 80rpx 0; }
js(水印文字个数,只能透过生成数组来做了,实在想不到好办法了T^T)
// components/water-mark/index.js Component({ /** * 组件的属性列表 */ properties: { isShow:{ type: Boolean, value:true } }, /** * 组件的初始数据 */ data: { pageSetting:{ wm_num_array:10 }, pageData:{ wm_text:"" } }, ready(){ let that=this; console.log('水印组件渲染完成~'); console.log(that.data.isShow); const wm_count = 100; // 水文字印个数 const wm_num_array = Array.from({ length: wm_count }, (item, index) => index); that.setData({"pageSetting.wm_num_array": wm_num_array}); that.setData({"pageData.wm_text":"用户名:13333333333"}); console.log(that.data.pageSetting.wm_num_array); }, /** * 组件的方法列表 */ methods: { } })
在app.json中引用这个组件
"usingComponents": { "water-mark":"/components/water-mark/index" },
在需要的地方引用就可以啦~(这个isShow是控制显示与否的~)
<water-mark isShow="{{true}}"></water-mark>

微信扫码查看本文
发表评论