更新记录
1.0.0(2026-01-23) 下载此版本
平台兼容性
uni-app(3.6.15)
| Vue2 | Vue2插件版本 | Vue3 | Vue2插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | - | - | √ | 1.0.0 | - | - | - | - |
| 微信小程序 | 微信小程序插件版本 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | - | - | - | - | - | - | - | - | - | - |
dy-watermark 水印组件
用于 uni-app 的文本/图片水印组件,支持平铺或单点水印、样式配置、遮挡区域与时间范围控制。
🎯 适用场景
- 企业内部系统防截图
- 报表/合同等敏感信息保护
- 内容版权标识
✨ 特性
- 文本/图片水印
- 平铺/单点定位
- 透明度、旋转、间距、字体等样式可配置
- 遮挡区域
- 定时显示(当天范围)
- 响应式适配(autoResize)
✅ 已测试平台
- 微信小程序
⚠️ 其他平台
以下平台尚未验证,理论上兼容,请自行测试:
- App (app-vue、app-nvue)
- H5 (移动端/PC端)
- 支付宝/百度/抖音/QQ/钉钉/快手/飞书/京东 小程序
- 华为快应用、联盟快应用
- 云端:腾讯云 tcb、阿里云 aliyun、支付宝小程序云
📦 安装
在 DCloud 插件市场导入本插件(uni_modules 规范)。
🧩 快速上手
文本水印
<template>
<view>
<dy-watermark watermarkText="水印" />
</view>
</template>
图片水印
<template>
<view>
<dy-watermark watermarkImage="/static/logo.png" />
</view>
</template>
🧩 完整用法
<template>
<view>
<dy-watermark
watermarkText="水印"
:fontSize="18"
fontColor="#ff0000"
fontWeight="bold"
:opacity="0.25"
:rotation="-30"
position="repeat"
:positionOffset="{ top: 20, right: 20, bottom: 0, left: 0 }"
:gapX="150"
:gapY="100"
:showTimestamp="true"
timestampFormat="YYYY-MM-DD HH:mm"
startTime="09:00:00"
endTime="18:00:00"
:maskArea="[100, 100, 200, 150]"
/>
<dy-watermark
watermarkImage="/static/logo.png"
position="center"
:positionOffset="{ top: 40, right: 0, bottom: 0, left: 0 }"
:opacity="0.3"
/>
</view>
</template>
⚙️ Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
watermarkText |
String |
'' |
文本水印内容(仅文本水印生效);与 watermarkImage 二选一 |
watermarkImage |
String |
'' |
图片水印地址(仅图片水印生效);设置后只显示图片水印 |
position |
String |
repeat |
位置模式(文本/图片均生效):repeat 平铺;top-left/top-right/bottom-left/bottom-right 固定角落;center 居中显示 |
positionOffset |
Object |
{ top:0,right:0,bottom:0,left:0 } |
与页面上下左右的距离(文本/图片均生效),如 { top: 20, right: 20, bottom: 0, left: 0 } |
gapX |
Number |
120 |
平铺模式下水平间距(文本/图片均生效,仅 position=repeat 生效) |
gapY |
Number |
80 |
平铺模式下垂直间距(文本/图片均生效,仅 position=repeat 生效) |
opacity |
Number |
0.15 |
整体透明度(文本/图片均生效) |
rotation |
Number |
-20 |
水印旋转角度(文本/图片均生效) |
scale |
Number |
1 |
缩放倍数(文本/图片均生效) |
blur |
Number |
0 |
模糊程度(文本/图片均生效) |
watermarkWidth |
Number |
0 |
图片水印宽度(仅图片水印生效),0 时使用图片原始尺寸(需可获取尺寸) |
watermarkHeight |
Number |
0 |
图片水印高度(仅图片水印生效),0 时使用图片原始尺寸(需可获取尺寸) |
fontSize |
Number |
16 |
文本水印字号(仅文本水印生效) |
fontColor |
String |
#000000 |
文本颜色(仅文本水印生效),支持 rgba |
fontFamily |
String |
-apple-system,... |
文本字体(仅文本水印生效) |
fontWeight |
String |
normal |
文本粗细(仅文本水印生效) |
fontStyle |
String |
normal |
文本样式(仅文本水印生效) |
maskArea |
Array |
[] |
遮挡区域(文本/图片均生效)[x, y, width, height](px) |
startTime |
String |
'' |
开始时间(文本/图片均生效);需与 endTime 同时设置才生效 |
endTime |
String |
'' |
结束时间(文本/图片均生效);需与 startTime 同时设置才生效 |
showTimestamp |
Boolean |
false |
是否显示时间戳(仅文本水印生效) |
timestampFormat |
String |
YYYY-MM-DD HH:mm:ss |
时间戳格式(仅文本水印生效) |
autoResize |
Boolean |
true |
窗口变化自动重算布局(文本/图片均生效) |
showWatermark |
Boolean |
true |
是否显示水印(文本/图片均生效) |
backgroundColor |
String |
transparent |
水印单元背景色(文本/图片均生效) |
borderColor |
String |
transparent |
水印单元边框颜色(文本/图片均生效,需配合 borderWidth) |
borderWidth |
Number |
0 |
水印单元边框宽度(文本/图片均生效) |
zIndex |
Number |
999 |
水印层级(文本/图片均生效) |
touchEnabled |
Boolean |
false |
是否拦截触摸事件(文本/图片均生效) |
📝 注意事项
- fontColor 与 opacity:
fontColor支持rgba,透明度会与opacity相乘叠加,建议用纯色 +opacity统一控制。 - 文本水印与图片水印不可同时显示,设置
watermarkImage后将只显示图片水印。 - 重复平铺会生成较多节点,大屏设备注意性能。
startTime/endTime仅对当天有效,跨天需自行处理。autoResize开启会监听窗口变化,不需要时可关闭。- 图片水印需确保图片可访问。
📄 License
MIT

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 20
赞赏 0
下载 13621944
赞赏 1851
赞赏
京公网安备:11010802035340号