更新记录
1.0.0(2025-03-13) 下载此版本
1.0.0
平台兼容性
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.56 app-vue app-nvue | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
BioAuthCamera 活体检测相机插件
一个用于uni-app的原生插件,提供活体检测功能,支持Android和iOS平台。
功能特点
- 调用系统相机进行活体检测
- 自定义UI遮罩和检测引导
- 支持设置检测时长和质量
- 提供权限检查和请求接口
- 支持多语言
安装方法
方式一:使用HBuilderX导入插件
- 打开HBuilderX
- 点击菜单【工具】-【插件安装】
- 选择【uni_module】选项卡,搜索【BioAuthCamera】
- 点击【安装】按钮
方式二:手动导入
- 将本插件复制到项目根目录的uni_modules目录下
- 重启HBuilderX
使用方法
配置权限
Android平台
在项目的manifest.json文件中的"app-plus"节点下添加以下内容:
"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\"/>"
]
iOS平台
在项目的manifest.json文件中的"app-plus"节点下添加以下内容:
"ios": {
"privacyDescription": {
"NSCameraUsageDescription": "使用相机进行活体检测"
}
}
基本用法
import BioAuthCamera from '@/uni_modules/bio-auth-camera';
// 检查相机权限
BioAuthCamera.checkCameraPermission(result => {
console.log('相机权限状态:', result.hasPermission);
if (!result.hasPermission) {
// 请求权限
BioAuthCamera.requestCameraPermission(permResult => {
console.log('权限请求结果:', permResult.granted);
});
return;
}
// 开始活体检测
BioAuthCamera.startLiveDetection({
minDuration: 2, // 最小检测时长(秒)
maxDuration: 3, // 最大检测时长(秒)
quality: 'high', // 视频质量,可选 'high', 'medium', 'low'
maskColor: '#80000000', // 遮罩颜色
tips: '请将脸部置于框内', // 提示文字
scanAnimation: true, // 是否显示扫描动画
autoVerify: true // 是否自动验证
}, result => {
if (result.success) {
console.log('检测成功');
console.log('检测时长:', result.duration);
} else {
console.log('检测失败或被取消');
console.log('错误信息:', result.message);
}
});
});
// 取消检测(如果需要)
function cancelDetection() {
BioAuthCamera.cancelDetection(result => {
console.log('取消结果:', result);
});
}
API说明
1. 开始活体检测
BioAuthCamera.startLiveDetection(options, callback)
参数说明:
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
options | Object | 是 | - | 配置参数 |
callback | Function | 是 | - | 结果回调函数 |
options 参数:
属性 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
minDuration | Number | 否 | 2 | 最小检测时长(秒) |
maxDuration | Number | 否 | 3 | 最大检测时长(秒) |
quality | String | 否 | 'high' | 视频质量,可选 'high', 'medium', 'low' |
maskColor | String | 否 | '#80000000' | 遮罩颜色,支持RGB和RGBA |
tips | String | 否 | '请将脸部置于框内' | 提示文字 |
scanAnimation | Boolean | 否 | true | 是否显示扫描动画 |
autoVerify | Boolean | 否 | true | 是否自动验证 |
callback 返回结果:
属性 | 类型 | 说明 |
---|---|---|
success | Boolean | 是否检测成功 |
code | Number | 状态码,0表示成功,其他值表示失败 |
message | String | 状态描述 |
duration | Number | 检测时长(秒),仅成功时有效 |
cancelled | Boolean | 是否被用户取消 |
2. 取消检测
BioAuthCamera.cancelDetection(callback)
参数说明:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | Function | 否 | 结果回调函数 |
3. 检查相机权限
BioAuthCamera.checkCameraPermission(callback)
参数说明:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | Function | 是 | 结果回调函数 |
callback 返回结果:
属性 | 类型 | 说明 |
---|---|---|
hasPermission | Boolean | 是否有相机权限 |
4. 请求相机权限
BioAuthCamera.requestCameraPermission(callback)
参数说明:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | Function | 是 | 结果回调函数 |
callback 返回结果:
属性 | 类型 | 说明 |
---|---|---|
granted | Boolean | 是否授予权限 |
code | Number | 状态码 |
message | String | 状态描述 |
注意事项
- Android 6.0以上版本需要动态申请相机权限
- iOS需要在info.plist中配置相机使用描述
- 检测过程中请保持网络连接
- 建议在光线充足的环境下使用
更新日志
1.0.0 (2023-07-01)
- 首次发布
许可证
MIT