系统相机。camera 组件为同层渲染原生组件,通过在 WebView 中嵌入原生摄像头视图实现,前端 H5 元素可通过 z-index 叠加在 camera 之上。
需要用户授权
scope.camera,授权拒绝时会触发binderror事件。通过
xhs.createCameraContext()获取 CameraContext,用于操作 camera 组件实例。
属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| resolution | string | medium | 分辨率 | |
| device-position | string | back | 摄像头朝向 | |
| flash | string | auto | 闪光灯模式 | |
| bindinitdone | eventhandle | 相机初始化完成时触发,event.detail = { maxZoom } | ||
| binderror | eventhandle | 相机初始化或创建失败时触发,event.detail = { errMsg } | ||
| bindstop | eventhandle | 相机停止时触发,event.detail = { errMsg } |
值 | 说明 |
|---|---|
| low | 低分辨率(约 0.54 倍缩放) |
| medium | 中分辨率(约 0.75 倍缩放) |
| high | 高分辨率(原始分辨率) |
值 | 说明 |
|---|---|
| front | 前置摄像头 |
| back | 后置摄像头 |
值 | 说明 |
|---|---|
| auto | 自动闪光灯 |
| on | 闪光灯常开 |
| off | 关闭闪光灯 |
| torch | 手电筒模式(常亮) |
Page({
takePhoto() {
const cameraContext = xhs.createCameraContext();
cameraContext.takePhoto({
quality: 'normal',
success: (res) => {
console.log('拍照成功,照片路径:', res.tempImagePath);
},
fail: (err) => {
console.error('拍照失败:', err.errMsg);
},
});
},
});