更新记录
1.0.0(2026-02-02) 下载此版本
- 双模式支持:
- 局部模式:作为容器组件使用,包裹内容后仅在该区域显示水印。
- 全屏模式:覆盖整个页面视口,不影响原有内容布局。
- 多端兼容:完美支持 H5、App(iOS/Android)、小程序。
- 高度可配置:支持文字、颜色、角度、间距、字体大小、交叉排列等配置。
- 安全防篡改(H5):内置 MutationObserver,防止水印 DOM 节点被恶意删除或修改样式。
- 高性能:仅生成一张微小的 Canvas 图片作为背景平铺,极大减少 DOM 节点数量和渲染开销。
平台兼容性
uni-app(3.6.16)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
x-watermark 页面水印组件
x-watermark 是一个功能强大的 uni-app 水印组件,支持局部包裹和全屏覆盖两种模式。组件内部使用 Canvas 生成水印背景图,并通过 CSS 重复平铺,在保证性能的同时实现了 App 端和 H5 端的完美兼容。
✨ 特性
- 双模式支持:
- 局部模式:作为容器组件使用,包裹内容后仅在该区域显示水印。
- 全屏模式:覆盖整个页面视口,不影响原有内容布局。
- 多端兼容:完美支持 H5、App(iOS/Android)、小程序。
- 高度可配置:支持文字、颜色、角度、间距、字体大小、交叉排列等配置。
- 安全防篡改(H5):内置 MutationObserver,防止水印 DOM 节点被恶意删除或修改样式。
- 高性能:仅生成一张微小的 Canvas 图片作为背景平铺,极大减少 DOM 节点数量和渲染开销。
📦 引入
在 script 中引入组件:
import xWatermark from '@/components/x-watermark/x-watermark'
export default {
components: { xWatermark }
}
💻 基础用法
1. 局部水印(容器模式)
将需要加水印的内容包裹在组件内部:
<x-watermark text="机密文件">
<view class="content">
这里是受保护的内容区域...
</view>
</x-watermark>
2. 全屏水印
设置 fullscreen 属性,通常放置在页面根部:
<template>
<view>
<!-- 全屏水印,建议放在最外层 -->
<x-watermark text="User: Admin" fullscreen></x-watermark>
<view class="page-content">
页面其他内容...
</view>
</view>
</template>
⚙️ API 配置项
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| text | String | 'Watermark' |
水印主文字 |
| subText | String | '' |
副标题文字(显示在主标题下方) |
| color | String | 'rgba(200, 200, 200, 0.3)' |
文字颜色(建议使用 rgba 设置透明度) |
| fontSize | Number | 14 |
字体大小 (px) |
| rotate | Number | -30 |
旋转角度 (deg) |
| gapX | Number | 10 |
水平间距 (px) |
| gapY | Number | 10 |
垂直间距 (px) |
| cross | Boolean | true |
是否开启交叉排列(错位显示,视觉更均匀) |
| fullscreen | Boolean | false |
是否全屏覆盖 |
| alpha | Number | 1 |
整体透明度 (0-1) |
| zIndex | Number | 9999 |
水印层的层级 |
⚠️ 注意事项
- App 端兼容性:App 端使用隐藏的 Canvas 生成图片。由于 uni-app 机制,
x-watermark在 App 端会自动处理background-size兼容性问题,确保图片不被拉伸。 - 层级覆盖:全屏模式下,水印层的
pointer-events已设为none,不会阻挡用户点击下方的页面内容。 - H5 防篡改:在 H5 端,如果用户通过控制台删除了水印节点或修改了样式(如
display: none),组件会自动检测并强制恢复。
🛠️ 示例代码
<x-watermark
text="严禁外传"
subText="工号: 9527"
color="rgba(255, 0, 0, 0.1)"
:rotate="-30"
:fontSize="16"
:gapX="20"
:gapY="40"
>
<view class="file-content">
文档内容...
</view>
</x-watermark>

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 323
赞赏 2
下载 11223745
赞赏 1855
赞赏
京公网安备:11010802035340号