公司项目有一个需求,要在主要页面中添加一个水印,就像 用户名:注册手机号 这样的,用来追溯截图
这个内容可以修改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>
微信扫码查看本文
发表评论