更新记录

1.0.0(2026-04-22)

  • 统一的预览区与结果区
  • 水印信息示例数据填充
  • Android / iOS 都走原生预览组件抓图 + 本地水印渲染链路
  • 最近一次原图 / 水印图结果展示

平台兼容性

uni-app(4.75)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(4.75)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × ×

austin-wmcam

austin-wmcam 是一个水印相机 UTS 插件,面向巡检、工程、外勤、留痕等 B 端场景。

典型场景:

  • 巡检拍照自动叠加时间、地点、人员、任务信息
  • 工程整改、交付验收、设备巡查留痕
  • 先拍原图,再在本地生成正式水印图
  • 业务侧自行传入地点、人员、任务等字段,再交给插件渲染图片

点击试用插件

插件目录下的 index.nvue 模板页,点击试用后会按平台自动走不同链路兼容安卓 IOS:

  • 当前平台能力展示
  • 统一的预览区与结果区
  • 示例数据填充
  • Android / iOS 都走原生预览组件抓图 + 本地水印渲染链路
  • 最近一次原图 / 水印图结果展示

功能

  • 支持 getWatermarkCameraCapabilities() 查询当前平台能力
  • 支持 Android captureWatermarkPhoto() 系统拍照链路
  • 支持 Android / iOS renderWatermarkPhoto() 本地图片水印渲染
  • 返回统一结果结构:原图路径、水印图路径、尺寸、时间戳、字段快照
  • index.nvue 已作为 Android / iOS 统一试用入口

getWatermarkCameraCapabilities()

返回当前平台能力对象。

参数 说明 类型 默认值 可选值
supported 当前平台是否支持插件能力 Boolean - true / false
platform 当前平台标识 String - android / ios / other
supportsCapture 是否支持 captureWatermarkPhoto() Boolean - true / false
supportsOriginalOutput 是否支持返回原图路径 Boolean - true / false
supportsWatermarkedOutput 是否支持返回水印图路径 Boolean - true / false
supportsLivePreviewWatermark 是否支持实时预览水印链路 Boolean - true / false
notes 当前平台说明或限制提示 String - -

captureWatermarkPhoto(options)

拉起系统相机拍照,并在成功后返回原图与水印图。

  • Android:当前版本可用;统一模板页优先走原生预览组件
  • iOS:统一模板页当前走原生预览组件 + renderWatermarkPhoto()captureWatermarkPhoto() 稳定版待补
参数 说明 类型 默认值 可选值
title 水印面板标题 String 现场拍照 -
fields 水印字段数组 Array [] -
outputOriginal 是否返回原图路径 Boolean true true / false
outputWatermarked 是否生成并返回水印图路径 Boolean true true / false
jpegQuality JPEG 质量,超出范围会收敛到 50-100 Number 92 50-100
success 成功回调 Function - -
fail 失败回调 Function - -
complete 完成回调 Function - -

renderWatermarkPhoto(options)

把已有图片路径交给插件,在本地生成原图与水印图。

  • Android:支持
  • iOS:支持
参数 说明 类型 默认值 可选值
imagePath 待渲染图片路径,支持本地绝对路径和 file:// 本地路径 String - -
title 水印面板标题 String 现场拍照 -
fields 水印字段数组 Array [] -
outputOriginal 是否返回原图路径 Boolean true true / false
outputWatermarked 是否生成并返回水印图路径 Boolean true true / false
jpegQuality JPEG 质量,超出范围会收敛到 50-100 Number 92 50-100
success 成功回调 Function - -
fail 失败回调 Function - -
complete 完成回调 Function - -

字段结构

type WatermarkFieldItem = {
  key: string
  label: string
  value: string
}

返回结果

captureWatermarkPhoto()renderWatermarkPhoto() 使用同一套返回结构:

参数 说明 类型 默认值 可选值
ok 是否成功 Boolean false true / false
platform 当前平台 String - android / ios / other
title 当前水印标题 String - -
originalPath 原图路径 String '' -
watermarkedPath 水印图路径 String '' -
width 图片宽度 Number 0 -
height 图片高度 Number 0 -
timestamp 结果时间戳 Number 0 -
fields 当前参与渲染的字段快照 Array [] -
errCode 错误码,成功时为 0 Number 0 -
errMsg 错误信息,成功时为空字符串 String '' -

最小示例

import {
  captureWatermarkPhoto,
  getWatermarkCameraCapabilities,
  renderWatermarkPhoto,
} from '@/uni_modules/austin-wmcam'

const capabilities = getWatermarkCameraCapabilities()
console.log('watermark-capabilities', capabilities)

const fields = [
  { key: 'time', label: '拍摄时间', value: '2026-04-22 14:20:00' },
  { key: 'location', label: '拍摄地点', value: '上海市浦东新区张江高科技园区' },
  { key: 'user', label: '拍摄人', value: 'Austin' },
  { key: 'task', label: '任务点位', value: '消防通道' },
]

captureWatermarkPhoto({
  title: '工程巡检',
  fields,
  success(res) {
    console.log('watermark-capture-success', res)
  },
  fail(res) {
    console.log('watermark-capture-fail', res)
  },
})

renderWatermarkPhoto({
  imagePath: 'file:///storage/emulated/0/Android/data/xxx/cache/preview.jpg',
  title: '工程巡检',
  fields,
  success(res) {
    console.log('watermark-render-success', res)
  },
  fail(res) {
    console.log('watermark-render-fail', res)
  },
})

注意

  • 水印信息完全由业务侧主动传入;
  • 图片与水印图都在本地生成,不上传到任何服务器
  • outputOriginaloutputWatermarked 不能同时为 false
  • 如果业务页面使用 nvue<image> 直接展示本地绝对路径图片,iOS 上建议补成 file:// 前缀,避免出现灰色占位图

隐私、权限声明

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

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

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

暂无用户评论。