更新记录
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)
},
})
注意
- 水印信息完全由业务侧主动传入;
- 图片与水印图都在本地生成,不上传到任何服务器
outputOriginal和outputWatermarked不能同时为false- 如果业务页面使用
nvue的<image>直接展示本地绝对路径图片,iOS 上建议补成file://前缀,避免出现灰色占位图

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 607
赞赏 4
下载 11638265
赞赏 1907
赞赏
京公网安备:11010802035340号