更新记录

1.0.0(2024-12-28)

水印相机

初始版本


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.36,Android:7.0,iOS:不确定,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

水印相机

开发环境

环境:HbuilderX

版本:4.36

提供方法

  1. config(fileSavePath) fileSavePath参数类型为字符串,传入媒体保存路径,配置成功后通过回调反馈
  2. start(params) params为JSON格式,其中contents为水印展示内容字符串数组,note为备注,备注信息在水印相机中可编辑,调用成功后通过回调返回,示例如下

    let contents = [];
    contents.push('拍摄日期:2024年**月**日');
    contents.push('拍摄地址:山东省*********');
    contents.push('拍摄人:***');
    //调用拍照
    cameraModule.start({
     contents: contents,
     note: '传入的备注内容',
    })
  3. update(params),动态更新水印相机展示的水印内容,params参数与startCamera方法的参数一致
  4. setListener(litener),设置回调,用于接收水印相机的相关反馈信息,以便进行后续处理,具体反馈信息参见回调说明
  5. setTitle(title),设置水印标题,此方法需要在config方法调用后在其回调中进行设置,否则无效

回调介绍

callback(objJSON) objJSON为JSON字符串,可以在JavaScript中通过JSON.parse(objJSON)转换为JSON格式

{
   tag:'',                //回调标识 start|stop|video|photo|config
   value:'',              //回调传输值
   isSuccess:true|false   //执行是否成功,默认为true
}

说明:如果tag为config,则value传递的是媒体资源保存的路径,如果tag为video或photo,则value传递的是保存的媒体文件名称(不包含路径),如果tag为start或stop,则value无返回值。

功能清单

  1. 具备拍照或录像能力
  2. 具备展示水印及水印实时动态更新能力
  3. 水印位置的编辑能力(左上角、左下角、右上角、右下角)
  4. 水印标签中备注内容的动态编辑能力
  5. 前置/后置 摄像头切换功能
  6. 水印大标题的设置能力

调用相关

引用

import { MossCameraUts, MossCameraCallbackParam, MossWatermarkDataParam } from '../../uni_modules/wCheng-Camera';

创建

let cameraModule

初始化

需要在uni-app的onLoad方法中初始化

onLoad(() => { mossCamera = new MossCameraUts(); /* 初始化水印相机模块 */ mossCamera.setListener(mossCameraCallback); /* 挂接回调 */ /* 调用配置方法 设置存储路径 */ mossGetPath('media', { success: (filePath) => { message.value = filePath; mossCamera.config(filePath) }, fail: (code, message) => { console.log(code,message); } }) })

构建回调方法

const mossCameraCallback = (res : MossCameraCallbackParam) => { if (res.tag === 'start') { startUpdateWatermark(); /*开始更新水印,方法自行定义和使用*/ } if (res.tag === 'stop') { stopUpdateWatermark(); /*停止更新水印,方法自行定义和使用*/ } if (res.tag === 'config') { /* 设置标题 */ mossCamera.setTitle('工程名称') } console.log(res.tag,res.value,res.isSuccess); }

开启水印相机

let contents : Array<String> = []; let strDatetime = moment(new Date()).format("YYYY-MM-DD HH:mm:ss"); contents.push('拍摄日期:${strDatetime}'); contents.push('地理位置:---,----'); contents.push('拍摄地址:--------'); contents.push('拍摄人:----'); let params : MossWatermarkDataParam = { contents: contents, note: '备注信息,可在水印相机中直接修改', } mossCamera.start(params)

隐私、权限声明

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

<!--摄像头权限--> <uses-permission android:name="android.permission.CAMERA"/> <!--存储卡权限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--录音权限--> <uses-permission android:name="android.permission.RECORD_AUDIO" />

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

插件不采集任何数据

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

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问