更新记录

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 与 opacityfontColor 支持 rgba,透明度会与 opacity 相乘叠加,建议用纯色 + opacity 统一控制。
  • 文本水印与图片水印不可同时显示,设置 watermarkImage 后将只显示图片水印。
  • 重复平铺会生成较多节点,大屏设备注意性能。
  • startTime/endTime 仅对当天有效,跨天需自行处理。
  • autoResize 开启会监听窗口变化,不需要时可关闭。
  • 图片水印需确保图片可访问。

📄 License

MIT

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。