更新记录
1.0.0(2025-12-12)
初代版本提交
平台兼容性
uni-app(4.29)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | 9.0 | 1.0.0 | 14 | 1.0.0 | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.81)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
luanqing-uts-camera
基于 UTS 标准模式开发的原生相机组件,支持相机预览、拍照、录像功能。 由上海栾青网络科技有限公司出品
平台支持
| Android | iOS | Web | 微信小程序 | 纯血鸿蒙 |
|---|---|---|---|---|
| √ | √ | × | × | × |
- Android: 需要 API 21+ (Android 5.0+)以上
- iOS: 需要 iOS 12.0+以上
平台支持
下期开发计划
- 支持纯血鸿蒙系统
- 水印模版功能支持
广告推广
轻语API
提供语音翻译、语音转文字、文字转语音、企业工商信息、逆地理编码、地理编码等丰富的 API 服务。 👉 立即访问 轻语API
水印相机原生插件
高自由度水印配置,支持动态时间水印的纯原生相机插件。 👉 前往 DCloud 插件市场
安装使用
1. 导入组件
将 luanqing-uts-camera 文件夹复制到项目的 uni_modules 目录下。
2. 在页面中使用
<template>
<view class="page">
<luanqing-uts-camera
ref="cameraRef"
:cameraFacing="cameraFacing"
:autoPreview="true"
@ready="onCameraReady"
@error="onCameraError"
@photoTaken="onPhotoTaken"
@videoStart="onVideoStart"
@videoStop="onVideoStop"
class="camera"
/>
</view>
</template>
<script>
export default {
data() {
return {
cameraFacing: 'back' as string
}
},
methods: {
onCameraReady() {
console.log('相机已就绪')
},
onCameraError(message: string) {
console.error('相机错误:', message)
},
onPhotoTaken(path: string) {
console.log('照片已保存:', path)
},
onVideoStart() {
console.log('开始录像')
},
onVideoStop(path: string) {
console.log('录像已保存:', path)
},
// 拍照
takePhoto() {
const camera = this.$refs['cameraRef'] as ComponentPublicInstance
camera.$callMethod('takePhoto')
},
// 切换摄像头
switchCamera() {
this.cameraFacing = this.cameraFacing === 'back' ? 'front' : 'back'
},
// 开始录像
startRecord() {
const camera = this.$refs['cameraRef'] as ComponentPublicInstance
camera.$callMethod('startRecord')
},
// 停止录像
stopRecord() {
const camera = this.$refs['cameraRef'] as ComponentPublicInstance
camera.$callMethod('stopRecord')
}
}
}
</script>
<style>
.page {
flex: 1;
}
.camera {
width: 100%;
height: 500px;
}
</style>
组件属性 (Props)
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| cameraFacing | string | "back" | 摄像头方向,可选值:back(后置)、front(前置) |
| autoPreview | boolean | true | 是否自动开始预览 |
组件事件 (Events)
| 事件名 | 参数 | 说明 |
|---|---|---|
| ready | - | 相机初始化完成并开始预览时触发 |
| error | message: string | 发生错误时触发,message 为错误信息 |
| photoTaken | path: string | 拍照完成时触发,path 为照片保存路径 |
| videoStart | - | 开始录像时触发 |
| videoStop | path: string | 停止录像时触发,path 为视频保存路径 |
组件方法 (Methods)
通过 ref 获取组件实例后,可调用以下方法:
| 方法名 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| startPreview | - | void | 开始相机预览 |
| stopPreview | - | void | 停止相机预览 |
| takePhoto | - | void | 拍照,结果通过 photoTaken 事件返回 |
| startRecord | - | void | 开始录像,通过 videoStart 事件通知 |
| stopRecord | - | void | 停止录像,结果通过 videoStop 事件返回 |
| switchCamera | - | void | 切换前后摄像头 |
方法调用示例
// 获取组件实例
const camera = this.$refs['cameraRef'] as ComponentPublicInstance
// 拍照
camera.$callMethod('takePhoto')
// 开始录像
camera.$callMethod('startRecord')
// 停止录像
camera.$callMethod('stopRecord')
// 切换摄像头
camera.$callMethod('switchCamera')
// 开始预览
camera.$callMethod('startPreview')
// 停止预览
camera.$callMethod('stopPreview')
权限配置
Android
组件会自动请求以下权限:
android.permission.CAMERA- 相机权限android.permission.RECORD_AUDIO- 录音权限(录像需要)
iOS
需要在 manifest.json 或 Info.plist 中配置以下权限说明:
{
"app-plus": {
"distribute": {
"ios": {
"privacyDescription": {
"NSCameraUsageDescription": "需要访问相机进行拍照和录像",
"NSMicrophoneUsageDescription": "需要访问麦克风进行录像",
"NSPhotoLibraryAddUsageDescription": "需要保存照片和视频到相册"
}
}
}
}
}
文件保存路径
Android
- 照片保存路径:
/storage/emulated/0/Android/data/[包名]/files/Pictures/LQCamera/IMG_yyyyMMdd_HHmmss.jpg - 视频保存路径:
/storage/emulated/0/Android/data/[包名]/files/Movies/LQCamera/VID_yyyyMMdd_HHmmss.mp4
iOS
- 照片和视频会保存到系统相册
- 事件返回的 path 为相册路径标识
注意事项
-
相机预览尺寸:组件会自动适配容器尺寸,建议设置明确的宽高。
-
权限处理:首次使用时会自动请求相机和麦克风权限,如果用户拒绝,会触发
error事件。 -
生命周期:
- 页面
onUnload时组件会自动释放相机资源 - 如需手动控制,可调用
stopPreview方法
- 页面
-
录像限制:
- 录像过程中不能拍照
- 建议录像时提供明显的录像状态提示
-
前置摄像头:
- 部分设备前置摄像头可能不支持某些分辨率
- 前置摄像头预览画面会自动镜像
开发文档
更新日志
1.0.0
- 初始版本
- 支持 Android 和 iOS 平台
- 支持相机预览、拍照、录像功能
- 支持前后摄像头切换

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1963
赞赏 0
下载 12036913
赞赏 1824
赞赏
京公网安备:11010802035340号