From c427a65b0d489178addad19649aeecb51e731eab Mon Sep 17 00:00:00 2001 From: ShenQiLun <97694732@qq.com> Date: Thu, 25 Jun 2026 16:30:24 +0800 Subject: [PATCH] =?UTF-8?q?chore:=E5=88=A0=E9=99=A4=E6=9C=AA=E8=A7=A3?= =?UTF-8?q?=E5=AF=86=E7=9A=84=E4=BB=98=E8=B4=B9=E6=8F=92=E4=BB=B6=E6=96=87?= =?UTF-8?q?=E4=BB=B6(ima-camera/lime-camera/apex-camera)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/apex-camera/apex-camera copy.uvue | 640 ----------------- components/apex-camera/apex-camera.uvue | 594 ---------------- components/apex-camera/index.uts | 1 - components/apex-camera/type.uts | 29 - components/使用说明.md | 287 -------- uni_modules/ima-camera-view/changelog.md | 438 ------------ uni_modules/ima-camera-view/encrypt | Bin 144 -> 0 bytes uni_modules/ima-camera-view/package.json | 126 ---- uni_modules/ima-camera-view/readme.md | 373 ---------- .../utssdk/app-android/AndroidManifest.xml | 24 - .../utssdk/app-android/ImaCamera.kt | Bin 33856 -> 0 bytes .../utssdk/app-android/ImaCameraListener.kt | Bin 5072 -> 0 bytes .../utssdk/app-android/ImaCameraPermission.kt | Bin 2880 -> 0 bytes .../utssdk/app-android/ImaCameraUtils.kt | Bin 6032 -> 0 bytes .../utssdk/app-android/assets/shutter1.mp3 | Bin 15148 -> 0 bytes .../utssdk/app-android/assets/shutter2.mp3 | Bin 8444 -> 0 bytes .../utssdk/app-android/assets/shutter3.mp3 | Bin 4850 -> 0 bytes .../utssdk/app-android/config.json | 9 - .../utssdk/app-android/index.uts | Bin 4656 -> 0 bytes .../utssdk/app-android/index.vue | 651 ------------------ .../utssdk/app-ios/ImaCameraManager.swift | Bin 17968 -> 0 bytes .../ima-camera-view/utssdk/app-ios/Info.plist | 14 - .../utssdk/app-ios/config.json | 10 - .../ima-camera-view/utssdk/app-ios/index.uts | Bin 3760 -> 0 bytes .../ima-camera-view/utssdk/app-ios/index.vue | 634 ----------------- .../ima-camera-view/utssdk/interface.uts | 15 - uni_modules/lime-camera/changelog.md | 20 - .../components/lime-camera/lime-camera.uvue | 101 --- .../components/lime-camera/lime-camera.vue | 114 --- uni_modules/lime-camera/encrypt | 2 - uni_modules/lime-camera/package.json | 104 --- uni_modules/lime-camera/readme.md | 114 --- .../utssdk/app-android/AndroidManifest.xml | 14 - .../lime-camera/utssdk/app-android/camera.uts | Bin 22608 -> 0 bytes .../utssdk/app-android/config.json | 20 - .../lime-camera/utssdk/app-android/index.uts | Bin 3952 -> 0 bytes .../lime-camera/utssdk/app-android/index.vue | 274 -------- .../utssdk/app-harmony/builder.ets | 372 ---------- .../lime-camera/utssdk/app-harmony/index.uts | Bin 1952 -> 0 bytes .../utssdk/app-harmony/module.json5 | 27 - .../resources/base/element/string.json | 12 - .../lime-camera/utssdk/app-ios/camera.uts | Bin 13088 -> 0 bytes .../lime-camera/utssdk/app-ios/index.uts | Bin 1824 -> 0 bytes .../lime-camera/utssdk/app-ios/index.vue | 266 ------- .../lime-camera/utssdk/app-ios/info.plist | 14 - uni_modules/lime-camera/utssdk/interface.uts | 227 ------ uni_modules/lime-camera/utssdk/web/index.uts | Bin 1008 -> 0 bytes uni_modules/lime-camera/utssdk/web/index.vue | 71 -- 48 files changed, 5597 deletions(-) delete mode 100644 components/apex-camera/apex-camera copy.uvue delete mode 100644 components/apex-camera/apex-camera.uvue delete mode 100644 components/apex-camera/index.uts delete mode 100644 components/apex-camera/type.uts delete mode 100644 components/使用说明.md delete mode 100644 uni_modules/ima-camera-view/changelog.md delete mode 100644 uni_modules/ima-camera-view/encrypt delete mode 100644 uni_modules/ima-camera-view/package.json delete mode 100644 uni_modules/ima-camera-view/readme.md delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/AndroidManifest.xml delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/ImaCamera.kt delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/ImaCameraListener.kt delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/ImaCameraPermission.kt delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/ImaCameraUtils.kt delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/assets/shutter1.mp3 delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/assets/shutter2.mp3 delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/assets/shutter3.mp3 delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/config.json delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/index.uts delete mode 100644 uni_modules/ima-camera-view/utssdk/app-android/index.vue delete mode 100644 uni_modules/ima-camera-view/utssdk/app-ios/ImaCameraManager.swift delete mode 100644 uni_modules/ima-camera-view/utssdk/app-ios/Info.plist delete mode 100644 uni_modules/ima-camera-view/utssdk/app-ios/config.json delete mode 100644 uni_modules/ima-camera-view/utssdk/app-ios/index.uts delete mode 100644 uni_modules/ima-camera-view/utssdk/app-ios/index.vue delete mode 100644 uni_modules/ima-camera-view/utssdk/interface.uts delete mode 100644 uni_modules/lime-camera/changelog.md delete mode 100644 uni_modules/lime-camera/components/lime-camera/lime-camera.uvue delete mode 100644 uni_modules/lime-camera/components/lime-camera/lime-camera.vue delete mode 100644 uni_modules/lime-camera/encrypt delete mode 100644 uni_modules/lime-camera/package.json delete mode 100644 uni_modules/lime-camera/readme.md delete mode 100644 uni_modules/lime-camera/utssdk/app-android/AndroidManifest.xml delete mode 100644 uni_modules/lime-camera/utssdk/app-android/camera.uts delete mode 100644 uni_modules/lime-camera/utssdk/app-android/config.json delete mode 100644 uni_modules/lime-camera/utssdk/app-android/index.uts delete mode 100644 uni_modules/lime-camera/utssdk/app-android/index.vue delete mode 100644 uni_modules/lime-camera/utssdk/app-harmony/builder.ets delete mode 100644 uni_modules/lime-camera/utssdk/app-harmony/index.uts delete mode 100644 uni_modules/lime-camera/utssdk/app-harmony/module.json5 delete mode 100644 uni_modules/lime-camera/utssdk/app-harmony/resources/base/element/string.json delete mode 100644 uni_modules/lime-camera/utssdk/app-ios/camera.uts delete mode 100644 uni_modules/lime-camera/utssdk/app-ios/index.uts delete mode 100644 uni_modules/lime-camera/utssdk/app-ios/index.vue delete mode 100644 uni_modules/lime-camera/utssdk/app-ios/info.plist delete mode 100644 uni_modules/lime-camera/utssdk/interface.uts delete mode 100644 uni_modules/lime-camera/utssdk/web/index.uts delete mode 100644 uni_modules/lime-camera/utssdk/web/index.vue diff --git a/components/apex-camera/apex-camera copy.uvue b/components/apex-camera/apex-camera copy.uvue deleted file mode 100644 index 5f39bae..0000000 --- a/components/apex-camera/apex-camera copy.uvue +++ /dev/null @@ -1,640 +0,0 @@ - - - - - diff --git a/components/apex-camera/apex-camera.uvue b/components/apex-camera/apex-camera.uvue deleted file mode 100644 index 8d44570..0000000 --- a/components/apex-camera/apex-camera.uvue +++ /dev/null @@ -1,594 +0,0 @@ - - - - - diff --git a/components/apex-camera/index.uts b/components/apex-camera/index.uts deleted file mode 100644 index a11957d..0000000 --- a/components/apex-camera/index.uts +++ /dev/null @@ -1 +0,0 @@ -export * from './type.uts' diff --git a/components/apex-camera/type.uts b/components/apex-camera/type.uts deleted file mode 100644 index f435a26..0000000 --- a/components/apex-camera/type.uts +++ /dev/null @@ -1,29 +0,0 @@ -export type ApexCameraMode = 'photo' | 'video' -export type ApexCameraPosition = 'front' | 'back' -export type ApexCameraFlashMode = 'off' | 'on' | 'auto' - -export type ApexCameraPhotoResult = { - path : string - width : number - height : number - savedToAlbum : boolean -} - -export type ApexCameraVideoResult = { - path : string - duration : number - size : number - savedToAlbum : boolean -} - -export type ApexCameraProps = { - title : string - subTitle : string - tipLines : string[] - autoInit : boolean - autoBack : boolean - maxDuration : number - defaultPosition : ApexCameraPosition - defaultFlashMode : ApexCameraFlashMode - defaultSaveToAlbum : boolean -} diff --git a/components/使用说明.md b/components/使用说明.md deleted file mode 100644 index 8cc77e7..0000000 --- a/components/使用说明.md +++ /dev/null @@ -1,287 +0,0 @@ -# apex-camera 相机组件使用文档 - -## 概述 - -`apex-camera` 是一个基于 UTS 的跨平台相机组件,支持 **Android**、**iOS** 和**鸿蒙**三端。组件封装了拍照、录像、闪光灯控制、前后摄像头切换、保存到相册等常见相机功能,开箱即用。 - -## 文件结构 - -``` -components/apex-camera/ -├── apex-camera.uvue # 简洁版风格(带照片遮罩层) -├── apex-camera copy.uvue # 完整版风格(带顶栏、状态面板、工具面板) -├── index.uts # 导出入口 -└── type.uts # 类型定义 -``` - -> 两个 `.uvue` 文件提供了不同的 UI 风格,功能逻辑完全一致。可按需选用其中一个。 - -## 类型定义 - -### ApexCameraProps(组件 Props) - -```ts -type ApexCameraProps = { - title: string // 标题文本,默认 "UTS 相机组件" - subTitle: string // 副标题/提示文本,默认 "支持 Android + iOS + 鸿蒙" - tipLines: string[] // 提示信息行 - autoInit: boolean // 是否自动初始化相机,默认 true - autoBack: boolean // 点击返回时是否自动返回上一页,默认 true - maxDuration: number // 最大录像时长(秒),默认 60 - defaultPosition: 'front' | 'back' // 默认摄像头方向,默认 'back' - defaultFlashMode: 'off' | 'on' | 'auto' // 默认闪光灯模式,默认 'off' - defaultSaveToAlbum: boolean // 默认是否保存到相册,默认 false -} -``` - -### ApexCameraPhotoResult(拍照结果) - -```ts -type ApexCameraPhotoResult = { - path: string // 照片临时路径 - width: number // 照片宽度 - height: number // 照片高度 - savedToAlbum: boolean // 是否已保存到系统相册 -} -``` - -### ApexCameraVideoResult(录像结果) - -```ts -type ApexCameraVideoResult = { - path: string // 视频临时路径 - duration: number // 视频时长 - size: number // 视频文件大小 - savedToAlbum: boolean // 是否已保存到系统相册 -} -``` - -## Props(属性) - -| 属性名 | 类型 | 默认值 | 说明 | -|--------|------|--------|------| -| `title` | `string` | `"UTS 相机组件"` | 顶栏标题(仅完整版) | -| `subTitle` | `string` | `"支持 Android + iOS + 鸿蒙"` | 初始化遮罩层的主提示文字 | -| `tipLines` | `string[]` | `[]` | 额外的提示信息行 | -| `autoInit` | `boolean` | `true` | 是否在 `onMounted` 时自动启动相机 | -| `autoBack` | `boolean` | `true` | 点击返回按钮是否自动 `navigateBack` | -| `maxDuration` | `number` | `60` | 录像最大时长(秒) | -| `defaultPosition` | `'front' \| 'back'` | `'back'` | 默认摄像头朝向 | -| `defaultFlashMode` | `'off' \| 'on' \| 'auto'` | `'off'` | 默认闪光灯模式 | -| `defaultSaveToAlbum` | `boolean` | `false` | 默认是否将结果保存到系统相册 | - -## Events(事件) - -| 事件名 | 参数类型 | 说明 | -|--------|----------|------| -| `ready` | 无 | 相机初始化完成 | -| `photo` | `ApexCameraPhotoResult` | 拍照完成 | -| `video` | `ApexCameraVideoResult` | 录像完成 | -| `error` | `message: string` | 发生错误(含错误信息) | - -## Exposed Methods(暴露方法) - -组件通过 `defineExpose` 暴露以下方法,父组件可通过 ref 调用: - -| 方法名 | 签名 | 说明 | -|--------|------|------| -| `bootCamera` | `() => Promise` | 手动启动/重启相机 | -| `takePhoto` | `() => void` | 触发拍照 | -| `recordVideo` | `() => void` | 触发录像(再次调用停止) | -| `toggleCamera` | `() => Promise` | 切换前后摄像头 | -| `changeFlashMode` | `(mode: 'off' \| 'on' \| 'auto') => void` | 设置闪光灯模式 | -| `cycleFlashMode` | `() => void` | 循环切换闪光灯模式(off→auto→on→off) | - -> 注意:`cycleFlashMode` 仅在简洁版(`apex-camera.uvue`)中暴露。 - -## 基本用法 - -### 1. 引入组件 - -在 `pages.json` 中注册组件: - -```json -{ - "easycom": { - "autoscan": true - } -} -``` - -或者直接 import: - -```vue - -``` - -### 2. 最简单的使用 - -```vue - - - -``` - -### 3. 完整配置示例 - -```vue - - - -``` - -## 两种 UI 风格对比 - -### 简洁版(`apex-camera.uvue`) - -- 全屏预览 + 照片遮罩层(可自定义遮罩图) -- 底部一栏:缩略图 + 拍照按钮 + 切换摄像头 -- 左上角闪光灯切换按钮 -- 适合需要自定义遮罩/引导框的场景 - -### 完整版(`apex-camera copy.uvue`) - -- 顶部导航栏:返回按钮 + 标题 + 状态徽章 -- 全屏预览 + 初始化遮罩 -- 状态面板:显示摄像头方向、闪光灯、保存状态等 -- 底部操作栏:切换 + 拍照 + 录像 + 状态文本 -- 底部工具面板:保存到相册开关 + 闪光灯三态切换 -- 适合需要完整调试信息和状态展示的场景 - -## 注意事项 - -1. **相机权限**:使用前请确保已在各平台配置相机权限。Android 需在 `AndroidManifest.xml` 中声明,iOS 需在 `Info.plist` 中添加 `NSCameraUsageDescription`。 -2. **相册保存**:如需保存到系统相册,Android 还需 `WRITE_EXTERNAL_STORAGE` 权限,iOS 需 `NSPhotoLibraryAddUsageDescription`。 -3. **临时文件**:拍照/录像返回的路径为临时文件路径,如需持久保存需自行移动或上传。 -4. **录像限制**:通过 `maxDuration` 控制最大录像时长,超出后会自动停止。 -5. **组件引用**:通过 `easycom` 自动扫描引入即可,无需手动 import。 - -```vue - - - - - - -``` \ No newline at end of file diff --git a/uni_modules/ima-camera-view/changelog.md b/uni_modules/ima-camera-view/changelog.md deleted file mode 100644 index 965db49..0000000 --- a/uni_modules/ima-camera-view/changelog.md +++ /dev/null @@ -1,438 +0,0 @@ -## 1.2.2(2026-06-11) -> 新增功能 - -- 1、**iOS 端补齐 `previewRotation` 支持**:`index.vue` 新增 `previewRotation` prop 与 `changePreviewRotation` 方法,`index.uts` 导出 `setPreviewRotation`,`ImaCameraManager.swift` 通过 `CGAffineTransform(rotationAngle:)` 实现预览层旋转(与 Android 行为对齐)。 - -> 问题修复 - -- 1、**修复首次进入时 `previewRotation` 初始值 90° 无效**:`initCameraView()` 现在始终使用 `TextureView` 预览模式(不再等 `previewRotationDegrees != 0f` 才切换),避免初始化时用 `SurfaceView`、后续 prop 到达时 `setPreview(TEXTURE)` 触发相机重启导致旋转丢失。 -- 2、**修复 `setPreviewRotation(0)` 不生效**:`applyPreviewRotation()` 移除 `previewRotationDegrees == 0f` 提前返回,0° 时显式重置 `cv.rotation = 0f` 及 `scaleX/Y = 1f`。 -- 3、**修复旋转切换按钮点击无效**:`NVLoad()` 中在 `initCameraView()` 之前调用 `setPreviewRotation(this.previewRotation)`,确保原生 CameraView 创建时已读取旋转角度;`NVLayouted()` 增加安全网再次应用旋转。 -- 4、**修复首次进入时 `onCameraOpened` 中 `$refs.cameraRef` 可能未就绪**:使用 `$nextTick` 延迟调用 `applyPreviewRotation()`;picture→video 模式切换延迟从 300ms 延长至 800ms,并在切换前同步调用一次旋转。 -## 1.2.1(2026-06-10) -> 新增功能 - -- 1、**外接摄像头预览旋转修正(Android)**:新增 `previewRotation` 属性及 `changePreviewRotation` 方法,用于修正无内置摄像头设备(如平板)外接 USB 摄像头时预览画面方向错误的问题;支持 `0` / `90` / `180` / `270`(或 `-90` 等等效角度)。 -- 2、设备旋转时自动保持预览修正方向不变(在 `onCameraOpened`、`onOrientationChanged` 时重新应用)。 - -> 问题修复 - -- 1、修复设置 `previewRotation` 后预览已正常、但**拍照输出图片方向仍不正确**的问题:拍照时会将 `previewRotation` 叠加到原生 `result.rotation` 后一并修正。 - -> 功能优化 - -- 1、启用 `previewRotation` 时自动切换为 `TextureView` 预览模式,并通过 `CameraView` 视图层旋转 + 缩放填充实现稳定预览(不依赖易被原生覆盖的 `TextureView.setTransform`)。 - -> 平台说明 - -- 本能力目前仅在 **`android`** 端实现;`ios` / `harmony` 暂未提供同等 API。 - -> 由于 **`harmony端`** 不支持兼容性组件,`harmony端`(指的是`harmony 5.0+`)不再本组件中更新,插件正在更新中 -## 1.2.0(2026-05-24) -> 新增功能 - -- 无 - -> 问题修复 - -- 无 - -> 功能优化 - -- 无 - -> 由于 **`harmony端`** 不支持兼容性组件,`harmony端`(指的是`harmony 5.0+`)不再本组件中更新,插件正在更新中 -## 1.1.16(2026-05-20) -> 新增功能 - -- 1、**预览圆角**:支持 `previewCornerRadius`、`previewCornerRadiusRate` 及 `changePreviewCorner`(圆形/多档圆角预览以原生实现为准)。 - -> 问题修复 - -- 1、修复「同页先预热 `video` 再轻触拍照」时,若在原生 `opened` 回调中无条件按 prop 再次 `changeMode`,会与原生「为拍照切换到 PICTURE 再在下一帧 `takePicture`」的逻辑冲突,导致预览反复关闭/打开、拍照异常的问题(已移除该盲目同步)。 -- 2、`nvue` / 部分运行时下 `$refs` 实例上 **`changeMode` 等方法不可用** 的问题:通过 **`mode` prop + `watch`** 同步原生模式,页面侧推荐使用 `:mode` 切换 `picture` / `video`。 - -> 功能优化 - -- 1、**`mode` prop** 增加监听:变更时调用原生 `setMode`,与 `changeMode` 行为对齐。 -- 2、录像相关:停止录像、开始时间戳等逻辑在主线程/时序上做了加固。 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) -## 1.1.15(2026-02-02) -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1、部分手机无法录像的问题或者录像中没有返回结果的问题(可能解决`{ "errorCode" => 5, "reason" => "录像失败", "message" => "java.lang.RuntimeException: start failed." }`的问题) - - 1.1、增加了待录像(切换 VIDEO 模式后延后执行) - - 1.2、待拍照(切换 PICTURE 模式后延后执行) - -> 功能优化 - -- 1、增加拍照、录像、结束录像时异常抛出 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.14(2026-01-30) -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1、部分手机无法录像的问题或者录像中没有返回结果的问题 -- 2、修改代码结构,准备改成兼容组件模式,为`Harmony Next`做准备 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) -## 1.1.13(2026-01-22) -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1、修复获取Activity实例、Application上下文上下文出现的问题! -- 2、修复相机按键、蓝牙自拍杆监听事件的问题 - -> 功能优化 - -- 1、相机震动做了兼容处理 -- 2、相机的权限申请做了兼容处理 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.12(2026-01-19) -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1、修复安卓8.1事打开相机报错:“相机初始失败或者当前设备不支持:创建失败:When targetSdkVersion >= 33 - should use amdroid.permission.xxx,...” - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) -## 1.1.11(2026-01-07) - -> 新增功能(临时更新) - -- 1、增加`take-error(相机拍摄监测)`、`orientation-change(相机角度转换)`、、`camera-change(相机设置监听)` - -> 问题修复 - -- 1、在`setSizeSelectors`方法增加错误回调,便于排查一些手机调取无反应的问题 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.10(2026-01-07) - -> 新增功能(临时更新) - -- 1、增加`take-error(相机拍摄监测)`、`orientation-change(相机角度转换)`、、`camera-change(相机设置监听)` - -> 问题修复 - -- 1、在`setSizeSelectors`方法增加错误回调,便于排查一些手机调取无反应的问题 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.9(2026-01-06) - -> 新增功能(临时更新) - -- 1、新增加载相机基础参数方法`loadCameraView` - -> 问题修复 - -- 1、修复在 `HBuilderX 4.76` 及以下版本打包(包括自定义基座)时,在kotlin文件中无法获取当前 - `UTSAndroid.getUniActivity()`、 `UTSAndroid.getAppContext()`的问题 -- 2、修复在 `HBuilderX 4.76` 及以下版本打包(包括自定义基座)时白屏后闪退的问题 -- 3、修复高版本`安卓15+`及以上获取的SdkVersion值与当前应用实际的SdkVersion值不一致导致相机获取权限崩溃后闪退的问题 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.8(2026-01-05) - -> 新增功能(临时更新) - -- 1、是否将拍摄文件保存到本地可见媒体(即相册)的方法`changeGallery` - -> 问题修复 - -- 1、相机权限的问题,如用户拒绝后可直接跳转到当前 App 的系统设置页 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.7(2026-01-04) - -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1.1.6 版本推包后上传不成功的问题(下载和导入还是1.1.5的代码) - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.6(2026-01-04) - -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 1、安卓高版本(安卓16)出现拍照的问题 -- 2、在一些其他终端设备(非手机)中出现相机预览画面与实际不符合的问题`【待复测】` -- 3、一些配置不生效的问题,如changeAspectRatio、changeOrientation(由于相机加载顺序问题导致的) -- 4、一些其他终端设备(非手机)进入卡顿或者黑屏几秒才显示相机预览页面`【待复测】` -- 5、一些手机设备由于权限问题导致第一次进入是黑屏或者后几次进入偶尔出现黑屏闪现的问题`【待复测】` - -> 功能优化 - -- 1、将之前的uts改成了kotlin的写法 -- 2、将组件是的抛出调整成`CameraManager.setCameraCallback`,方便后期增加参数输出、控制 -- 3、优化了相机加载的顺序问题、以及设置相机时的问题 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -## 1.1.5(2025-12-29) - -> 新增功能(临时更新) - -- 新增设置相机使用设备方向的方法`changeOrientation` -- 新增设置相机网格及颜色的方法`changeGrid` - -> 问题修复 - -- 无 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新(已完成开发,测试中) - -## 1.1.4(2025-12-28) - -> 新增功能(临时更新) - -- 新增设置曝光值的方法`changeExposure` - -> 问题修复 - -- 修复动态权限申请的问题(即Android 12 及以下、Android 13+) -- 修复 Android 16(即API级别为36)时摄像回调的问题 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新 - -## 1.1.3(2025-12-02) - -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- 打包报错问题修复,(4.85版本有问题,4.76以下的版本未复现) -- 报错内容: - `ima-camera-view/utssdk/app-android/src/index.kt:723:55 Argument type mismatch: actual type is 'Any', but 'Number' was expected` - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新 - -## 1.1.2(2025-11-06) - -> 新增功能(临时更新) - -- 无 - -> 问题修复 - -- `快捷键拍照(蓝牙自拍杆、手机音量键)`拍照时,返回后按钮无法操作的问题修复 -- 页面在没启用`shortcut(快捷键拍照)`时,也会进入快捷键的问题修复 -- 修复在低版本`HubuildX`时打包出现找不到类型的问题 - -> 功能优化 - -- 优化了相机资源在进入时卡顿的问题 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新 - -## 1.1.1(2025-11-03) - -> 新增功能(临时更新) - -- 新增设置照片输出格式的方法`changeSuffix` - -> 问题修复 - -- 修复照片格式无法设置的问题【原因是在uni给出的生命周期内,无法取到`props`的参数,只能在`watch`中处理】 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新 - -## 1.1.0(2025-10-31) - -> 新增功能 - -- 快捷键拍照: 如:按两下音量键拍照、按音量键拍照等等(可自定义) -- 蓝牙自拍杆: 提供可以连接蓝牙自拍杆拍照、对焦等(可自定义) -- 相机`是否开启蓝牙自拍杆、手机快捷键拍照`,可自定义快捷键,具体参考参数`shortcut` -- - -> 问题修复 - -- 无 - -> 功能优化 - -- 无 - -> 计划新增功能(大版本更新【即 `1.2.0` 开始】) - -- 完善鸿蒙`Harmony`版本的并进行更新 - -## 1.0.5(2025-10-30) - -> 新增功能(临时更新) - -- 相机`录像`方法增加设置`视频录制时长限制` -- 相机`录像`声音默认系统录像声音,也可自定义,具体参考参数`recorder`、`sound2` - -> 问题修复 - -- 无 - -> 功能优化 - -- 无 - -## 1.0.4(2025-10-18) - -> 新增功能(临时更新) - -- 增加设置相机`白平衡`方法:`changeWhiteBalance` -- 增加设置相机`HDR`方法:`changeHdr` -- 增加设置相机`特定比例`方法:`changeAspectRatio` -- 新增了`widthRatio`、`heightRatio`、`tolerance`、`whiteBalance`、`hdr`、`shutter`、`sound`、`vibrate`、 - `duration`等参数,具体参考API - -> 问题修复 - -- 无 - -> 功能优化 - -- 照片文件的尺寸和手机原相机的尺寸不对的问题,可以通过参数`duration`去控制,其中`全屏`、`1:1` - 基本是和原相机尺寸一致的(测试了大部分手机型号都OK,个别手机`3:4`、`4:3`、`9:16`时会有少许容差,可以通过参数 - `duration`去控制) - -## 1.0.3(2025-10-16) - -> 新增功能 - -- 增加拍照声音,可以自定义声音文件(默认手机原相机声音) -- 增加拍照震动,可以自定义震动时长(默认200毫秒) - -> 问题修复 -> 无 - -> 功能优化 - -- 照片文件的分辨率取手机原相机的,提高照片的清晰度 - -## 1.0.2(2025-09-09) - -> 新增功能 -> 无 - -> 问题修复 -> 无 - -> 功能优化 - -- 支持拍照预览或从相册选择后,返回当前相机页面时,如果出现黑屏状态,可以重新自己手动拉起相机 - -## 1.0.1(2025-09-05) - -> 新增功能 -> 无 - -> 问题修复 - -- 修复高版本(`4.66`时)打包报错:`*(项目路径)*//index.kt:44:12 Unresolved reference: _uA`、 - `*(项目路径)*/index.kt:118:48 Unresolved reference: _uO`的问题 -- 修复前置拍出来的图片是镜像的问题 -- 修复照片拍出来尺寸不对、照片过小的问题 - -> 功能优化 -> 无 - -## 1.0.0(2025-05-27) - -> 新增功能 - -- 新增方法:`close`、 `open`、 `takePhoto`、 `takePhotoSnapshot`、 `takeVideo`、`takeVideoSnapshot`、 - `stopVideo`、 `changeZoom`、 `changeFacing`、`changeFlash`、`changeAudio` -- 新增事件:`onPictureTaken`、 `onVideoTakenStart`、 `onVideoTakenEnd`、 `onFocusStart`、 `onFocusEnd` -- `android端`的所有功能已完成开发、测试 -- `harmony端`计划开发中 -- 初始版 - -> 问题修复 -> 无 - -> 功能优化 -> 无 diff --git a/uni_modules/ima-camera-view/encrypt b/uni_modules/ima-camera-view/encrypt deleted file mode 100644 index ddb19cadc6b89a468e6fa263baedc5f59eae7a00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmV;B0B`>ac!g}`UkTA&ll9#~%KJb}fk}fqs?$m3Ht^todq8\n \n \n \n " - }, - "npmurl": "", - "darkmode": "x", - "i18n": "x", - "widescreen": "√" - }, - "uni_modules": { - "dependencies": [], - "encrypt": [], - "platforms": { - "cloud": { - "tcb": "x", - "aliyun": "x", - "alipay": "x" - }, - "client": { - "uni-app": { - "vue": { - "vue2": { - "extVersion": "1.1.13", - "minVersion": "" - }, - "vue3": { - "extVersion": "1.1.13", - "minVersion": "" - } - }, - "web": { - "safari": "x", - "chrome": "x" - }, - "app": { - "vue": { - "extVersion": "1.1.13", - "minVersion": "" - }, - "nvue": { - "extVersion": "1.1.13", - "minVersion": "" - }, - "android": { - "extVersion": "1.1.13", - "minVersion": "21" - }, - "ios": "x", - "harmony": { - "extVersion": "1.1.13", - "minVersion": "5.0以下(不包括5.0)" - } - }, - "mp": { - "weixin": "x", - "alipay": "x", - "toutiao": "x", - "baidu": "x", - "kuaishou": "x", - "jd": "x", - "harmony": "x", - "qq": "x", - "lark": "x", - "xhs": "-" - }, - "quickapp": { - "huawei": "x", - "union": "x" - } - }, - "uni-app-x": { - "web": { - "safari": "x", - "chrome": "x" - }, - "app": { - "android": { - "extVersion": "1.1.13", - "minVersion": "21" - }, - "ios": "x", - "harmony": { - "extVersion": "1.1.13", - "minVersion": "5.0以下(不包括5.0)" - } - }, - "mp": { - "weixin": "x" - } - } - } - } - } -} diff --git a/uni_modules/ima-camera-view/readme.md b/uni_modules/ima-camera-view/readme.md deleted file mode 100644 index c95c19d..0000000 --- a/uni_modules/ima-camera-view/readme.md +++ /dev/null @@ -1,373 +0,0 @@ -# 原生自定义相机拍照、视频录制 (ima-camera-view) - -`原生自定义相机拍照、视频录制 (ima-camera-view)`是基于原生相机开发的UTS插件,支持`相机拍照`、`视频录制` -、可实现`点击聚焦`、`手势缩放`、 -`自定义布局`、`自定义蒙版`(用于人脸拍照,身份证拍照等)。 - -## ⚠️注意️ -由于之前技术选型不支持继续扩展相机的新特性,`本插件(ima-camera-view)继续维护,只修复现存的一些bug,不再新增新功能`, -建议使用ima-camerax-view这个相机组件插件,[ima-camerax-view 地址](https://ext.dcloud.net.cn/plugin?name=ima-camerax-view), -如果不追求如:**超广角镜头切换(0.5x,`changeWideAngle`)**、**按倍率缩放(`setCameraZoom`,如 0.5 / 1.0 / 2.0)**、**多摄逻辑镜头切换**、 -**Camera2 白平衡 / HDR / 曝光补偿**、**录像进度(`onVideoTakenProgress`)与设备方向变化(`onOrientationChanged`)回调**等新特性的话,扔建议继续使用本插件。 - -- `ima-camerax-view【新插件】`:[插件地址](https://ext.dcloud.net.cn/plugin?name=ima-camerax-view) -- `ima-camera-view【本插件】`:[插件地址](https://ext.dcloud.net.cn/plugin?name=ima-camera-view) -- `ima-camerax-view【新插件】`与 `ima-camera-view【本插件】`组件 API 保持基本一致,便于从 CameraView 版平滑迁移 - -## 支持功能 - -- 打开、关闭摄像头预览 -- 拍照、快照拍照 -- 录制视频、快照录制视频 -- 设置摄像头缩放级别 -- 设置相机白平衡 -- 设置相机HDR -- 设置相机曝光 -- 设置摄像头方向 -- 设置闪光灯模式 -- 设置相机使用设备方向 -- 设置相机网格及颜色 -- 设置音频(录制视频时) -- 设置圆角、圆预览(可自定义) -- 外接摄像头预览方向修正(`previewRotation`,Android) -- 设置拍照、录制视频的声音(可自定义) -- 蓝牙自拍杆(可自定义) -- 手机快捷键(可自定义) - -## 自定义调整 - -- 自定义调整页面地址:`uni_modules/ima-camera-view/utssdk/app-android/index.vue` -- 蓝牙自拍杆、手机快捷键的自定义,可以参考文件中的`shortcutListener`方法 -- 设置拍照、录制视频的声音,可以参考文件中的`photoSound`、`videoSound`方法 - -## 需要权限 - -- 摄像头、音频、文件读取、文件写入、震动 - -```text -"android.permission.CAMERA", -"android.permission.RECORD_AUDIO", -"android.permission.VIBRATE" -"android.permission.READ_EXTERNAL_STORAGE" -"android.permission.WRITE_EXTERNAL_STORAGE" -``` - -- 即:在`manifest.json`中的`distribute.android.permissions`加入 - -```text -// 拍摄照片和视频时需要 - -// 拍摄视频时需要Audio.ON(默认) - -// 读取拍照、录像文件文件时需要 - -// 报错拍照、录像文件文件时需要(默认保存到沙盒缓存) - -// 震动权限 - -``` - -## 快门声音素材 - -- 将需要的快门声音放在`uni_modules/ima-camera-view/utssdk/app-android/assets`下即可 -- [熊猫办公](https://www.tukuppt.com/yinxiaomuban/kuaimenshengyin.html) -- [站长素材](https://sc.chinaz.com/tag_yinxiao/kuaimen.html) - -## 使用示例【此示例的代码只实现了`相机拍照`的逻辑,更多示例请导入项目】 - -- 新建一个`camera.nvue`的文件 -- ⚠️注意️:只能在`.nvue`、`.uvue`的文件后缀下才生效,不支持`.vue` - -```nvue - - - - - -``` - -## 外接摄像头方向修正(Android) - -适用于**无内置摄像头**或外接 USB 摄像头的设备(如横屏平板、工控一体机)。当物理安装的摄像头与屏幕方向不一致,导致预览画面旋转 90° 等情况时,可通过 `previewRotation` 固定修正预览与拍照方向。 - -### 使用方式 - -**方式一:属性(推荐)** - -```nvue - -``` - -**方式二:方法动态调整** - -```javascript -this.$refs.cameraRef.changePreviewRotation(90) // 顺时针 90° -this.$refs.cameraRef.changePreviewRotation(-90) // 逆时针 90°(等价 270°) -``` - -### 参数说明 - -| 取值 | 说明 | -|------|------| -| `0` | 不修正(默认) | -| `90` / `-270` | 顺时针旋转 90° | -| `180` / `-180` | 旋转 180° | -| `270` / `-90` | 顺时针旋转 270°(逆时针 90°) | - -### 注意事项 - -- 仅 **`android`** 端生效;与 `orientation`(设备方向跟随)不同,`previewRotation` 用于**固定补偿外接摄像头安装角度**,不随手机旋转而改变。 -- 启用非 `0` 的 `previewRotation` 后,组件会自动使用 `TextureView` 预览;拍照结果会同步叠加该角度修正。 -- 若预览方向仍不对,请依次尝试 `90`、`-90`、`180`,以实际安装方向为准。 -- 录像方向暂未做同等叠加修正;若录像也有方向问题,可在业务层二次处理或反馈 issue。 - -## 常见的比例的定义(widthRatio,heightRatio) - -```typescript -// 正方形 -AspectRatio.of(1, 1) // 1:1 - -// 竖屏比例 -AspectRatio.of(9, 16) // 9:16 (手机竖屏) -AspectRatio.of(3, 4) // 3:4 -AspectRatio.of(2, 3) // 2:3 -AspectRatio.of(10, 16) // 10:16 (5:8) - -// 横屏比例 -AspectRatio.of(16, 9) // 16:9 (宽屏) -AspectRatio.of(4, 3) // 4:3 (传统) -AspectRatio.of(3, 2) // 3:2 (照片) -AspectRatio.of(16, 10) // 16:10 (8:5) -AspectRatio.of(21, 9) // 21:9 (超宽屏) - -// 建议比例 -const AspectRatios = { - // 1:1 正方形 - SQUARE: AspectRatio.of(1, 1), - // 9:16 竖屏(手机默认) - PORTRAIT: AspectRatio.of(9, 16), - // 16:9 横屏 - LANDSCAPE: AspectRatio.of(16, 9), - // 3:4 传统照片比例 - THREE_FOUR: AspectRatio.of(3, 4), - // 4:3 传统相机比例 - FOUR_THREE: AspectRatio.of(4, 3) -} -``` - -## 不同场景的推荐值(tolerance) - -```typescript -const TOLERANCE = { - STRICT: 0.01.toFloat(), // 非常严格,几乎精确匹配 - STANDARD: 0.05.toFloat(), // 标准,推荐使用 - FLEXIBLE: 0.1.toFloat(), // 灵活,兼容更多设备 - LOOSE: 0.2.toFloat() // 宽松,可能匹配到意外比例 -} -``` - -## Api - -| 属性 | 类型 | 默认值 | 说明 | 平台 | -|---------------|-----------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------| -| widthRatio | Number | 0 | 照片尺寸比率(宽度): 默认全屏(若widthRatio为9,heightRatio为16,则为9:16、widthRatio为3,heightRatio为4,则为3:4...)不建议值过大,常用的比例有1:1、3:4、4:3、9:16... | `android` | -| heightRatio | Number | 0 | 照片尺寸比率(高度): 默认全屏(若widthRatio为9,heightRatio为16,则为9:16、widthRatio为3,heightRatio为4,则为3:4...)不建议值过大,常用的比例有1:1、3:4、4:3、9:16... | `android` | -| tolerance | Number | 0.1 | 照片尺寸容差值: 建议设为 0.05~0.15,以便稍微兼容不同设备相机实际比例差异 ,值为:0~1 | `android` | -| whiteBalance | iWhiteBalance | "auto" | 白平衡模式: auto(自动)、incandescent(白炽)、fluorescent(荧光)、daylight(日光)、cloudy(多云) 、loudy(多云【慎用:`兼容1.1.3版本前单词拼错的问题,将在1.2.0大版本更新后删除,建议1.1.3后的版本使用cloudy`】) | `android` | -| hdr | iHdr | "off" | HDR模式: off(关闭)、on(开启) | `android` | -| facing | iFacing | "back" | 后置、前置摄像头: back(后置摄像头)、front(前置摄像头) | `android` | -| flash | iFlash | "off" | 闪光灯: off(关闭)、on(开启)、auto(自动)、torch(常开) | `android` | -| audio | iAudio | "on" | 音频: on(开启)、off(关闭)、mono(单声道)、stereo(立体声) | `android` | -| orientation | iOrientation | "auto" | 方向: auto(自动)、portrait(竖屏)、landscape(横屏) 【注意:`目前竖屏、横屏拍出来都为竖屏方式,这两个参数的使用效果一致`,为预留参数,为后期做准备】 | `android` | -| grid | iGrid | "off" | 网格: off(关闭)、draw_3X3(3x3)、draw_4x4(4x4)、draw_phi(phi) | `android` | -| gridColor | String | "#808080" | 颜色值: 只支持如:#fff、#ffffff、#......等类型的颜色值 | `android` | -| photoSuffix | iPhotoSuffix | "jpeg" | 照片格式: jpeg、jpg | `android` | -| mode | String | 'picture' | 相机模式: picture(拍照)、video(录视频) | `android` | -| previewCornerRadius | Number | 0 | 预览圆角半径(px);与 `previewCornerRadiusRate` 二选一或组合使用 | `android` | -| previewCornerRadiusRate | Number | 0 | 预览圆角比例(相对短边);`0.5` 且预览区域为正方形时为圆形预览 | `android` | -| previewRotation | Number | 0 | 外接摄像头预览/拍照方向修正角度:`0`、`90`、`180`、`270`(支持负值如 `-90`);详见上文「外接摄像头方向修正」 | `android` | -| gallery | Boolean | false | 是否将拍照、录像文件保存到系统相册(可见媒体库) | `android` | -| shutter | Boolean | true | 是否打开拍照声音: true(开启,此时配置`sound`才起作用)、false(关闭) | `android` | -| sound | String | '' | 相机拍照声音文件: 将mp3音频文件放在`uni_modules/ima-camera-view/utssdk/app-android/assets`下即可,为音频文件的名称,如`xxx.mp3`,默认手机原声 | `android` | -| recorder | Boolean | true | 是否打开录像声音: true(开启,此时配置`sound2`才起作用)、false(关闭) | `android` | -| sound2 | String | '' | 相机录像声音文件: 将mp3音频文件放在`uni_modules/ima-camera-view/utssdk/app-android/assets`下即可,为音频文件的名称,如`xxx.mp3`,默认手机原声 | `android` | -| vibrate | Boolean | false | 是否打开拍照震动: true(开启,此时配置`duration`才起作用)、false(关闭) | `android` | -| duration | Number | 300 | 是否打开拍照震动时长,单位:毫秒(ms) | `android` | -| shortcut | Boolean | false | 是否开启蓝牙自拍杆、手机快捷键拍照: false(关闭)、true(开启) | `android` | - -## 方法 - -### 共同 方法/* */ - -| 方法名称 | 说明 | 方法参数 | 平台 | -|-------------------------------------------------------|---------------------------|-----------------------------------------------------------------------------------------------------------------------|-------------| -| open | 打开摄像头预览 | 无 | `android` | -| close | 关闭摄像头预览 | 无 | `android` | -| takePhoto | 拍照(标准拍照流程) | 无 | `android` | -| takeVideo(duration) | 开始录制视频 | duration:拍摄时长,单位:毫秒(ms)【0 表示不限制】 | `android` | -| stopVideo | 停止视频录制 | 无 | `android` | -| changeZoom(zoom) | 设置摄像头缩放级别 | zoom:缩放倍数(浮点数) | `android` | -| changeExposure(exposure) | 设置曝光值 | exposure:曝光值(浮点数)【值为:-2~2,默认为0】 | `android` | -| changeWhiteBalance(whiteBalance) | 设置相机白平衡 | whiteBalance:参考`api`中的`whiteBalance`参数 | `android` | -| changeHdr(hdr) | 设置相机HDR | hdr:参考`api`中的`hdr`参数 | `android` | -| changeFacing((facing)) | 设置摄像头方向 | facing:参考`api`中的`facing`参数 | `android` | -| changeFlash(flash) | 设置闪光灯模式 | flash:参考`api`中的`flash`s参数 | `android` | -| changeOrientation(orientation) | 设置相机使用设备方向 | orientation:参考`api`中的`orientation`s参数 | `android` | -| changeGrid(grid,color) | 设置相机网格及颜色 | grid:参考`api`中的`grid`参数, color: 参考`api`中的`gridColor`参数 | `android` | -| changeAudio(audio) | 设置音频 | audio:参考`api`中的`audio`参数 | `android` | -| changeSuffix(suffix) | 设置照片输出格式 | suffix:参考`api`中的`photoSuffix`参数 | `android` | -| changeSizeSelectors(width,height,tolerance) | 设置相机特定比例/分辨率 | width、height、tolerance 参考 `api` 中同名属性;`0` 表示使用屏幕宽高 | `android` | -| changePreviewCorner(radius,radiusRate) | 设置预览圆角 | radius: 圆角 px;radiusRate: 圆角比例(正方形下 `0.5` 为圆形) | `android` | -| changePreviewRotation(degrees) | 设置外接摄像头预览/拍照方向修正 | degrees: `0` / `90` / `180` / `270`(支持负值);仅 Android | `android` | -| changeGallery(gallery) | 是否保存到系统相册 | gallery: `true` / `false` | `android` | -| changeMode(mode) | 设置相机模式 | mode: `picture` / `video`;也可直接使用 `:mode` prop | `android` | -| takePhotoSnapshot | 快照拍照(适用于快速拍照场景) | 无 | `android` | -| takeVideoSnapshot(duration) | 快照方式录制视频 | duration:拍摄时长,单位:毫秒(ms)【0 表示不限制】 | `android` | - -## 事件 - -| 事件名称 | 说明 | 回调参数 | 平台 | -|---------------------|---------------|-----------------------------------|-------------| -| onPictureTaken | 拍照返回数据 | ({path,width,height}: any) => {} | `android` | -| onVideoTakenStart | 录制视频开始事件 | () => {} | `android` | -| onVideoTakenEnd | 录制视频结束事件 | ({path,size}: any) => {} | `android` | -| onFocusStart | 自动对焦开始 | ({x,y}: any) => {} | `android` | -| onFocusEnd | 自动对焦结束 | ({x,y,focus}: any) => {} | `android` | -| onOrientationChange | 设备方向变化 | ({angle,orientation,isPortrait,isLandscape}: any) => {} | `android` | -| onCameraOpened | 相机已打开 | (data: any) => {} | `android` | -| onCameraClosed | 相机已关闭 | (data: any) => {} | `android` | -| onCameraError | 相机错误 | ({errorCode,reason,message}: any) => {} | `android` | - diff --git a/uni_modules/ima-camera-view/utssdk/app-android/AndroidManifest.xml b/uni_modules/ima-camera-view/utssdk/app-android/AndroidManifest.xml deleted file mode 100644 index 152ab10..0000000 --- a/uni_modules/ima-camera-view/utssdk/app-android/AndroidManifest.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/uni_modules/ima-camera-view/utssdk/app-android/ImaCamera.kt b/uni_modules/ima-camera-view/utssdk/app-android/ImaCamera.kt deleted file mode 100644 index d83840e748c27f18bd9272d5cbc207b8471ab763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33856 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
    67-oE^O~Io1YkG9QVVnT}0kk>BA={BXa>N0>Z2 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 Y5bC`IzO`C!eXK@2^}D!Hm!Ut5n>DXY&;S4c diff --git a/uni_modules/ima-camera-view/utssdk/app-android/ImaCameraListener.kt b/uni_modules/ima-camera-view/utssdk/app-android/ImaCameraListener.kt deleted file mode 100644 index e9a4eb99eada471e959e20e2f8f9dd75d1339749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5072 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 diff --git a/uni_modules/ima-camera-view/utssdk/app-android/ImaCameraUtils.kt b/uni_modules/ima-camera-view/utssdk/app-android/ImaCameraUtils.kt deleted file mode 100644 index 3f43360f9a856a7d4a17669bceb75317649d5a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6032 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 KbL-HxxZRviMYenZ diff --git a/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter1.mp3 b/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter1.mp3 deleted file mode 100644 index f09bfc8e973f1b097b08a1eb86ce003fbb364519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15148 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 XwQ;}I!K@==|0^~B-%9>>-oXC@bR*g8 diff --git a/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter2.mp3 b/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter2.mp3 deleted file mode 100644 index 63d408b6e1624980798ebf96e3b1f9818aa03fdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8444 zcmd^kdpMNa+y66%#tcIt2U@)>_Yc)@QAI-D@6a z4igT@;pW5Ta=}y)0APWK4j$YW5d#4K=oCPmvxCQ0P_ccx16WBFRP6Bb+u=dHVxP1H|h}Bj5+xPs)|Nj?* z1a$)35_K-bvl~ckQM?m)KX^VKSCqPJ4ga<|SA^NUO45C@U(03Z!BdyN9G!lZcki1w zZP{w|8Nith!Ow_7gIH}wu~^EZz)oJ^=5ss0vR_@2yr49-+zeE3b$fu2xKRfedi6(*H1)I4mFGrJwEQRru(!`uNP4e<^IzoVvQb#Ax$ zmFl0J=FpGabC1j&&&_@v|N3yUpRVm~!($AD})e)gaU0SOj&xix8AP6OGjRI4vkpx-~FtBBMEHOOh>Ht{MBxUC%@m5 z(RkGKj>wCnW4j6RSX+J65PEV`fqo(1Sq`()U9bK=crWCDO5sE|0Px`mi0j(c$b0Mk zV*qjm$JpUnzsBvXk5<#)mSwl5mu%La?$X7II|Xz?zPIb26H#9iq<#|6;8l3jRO4#6>KdrS zQ2xGbUK54q)Vm`jpt2M*G(k1G{mOZ z+J_X|A0%}6HVjD!aM)V^9{klisfG0yDPifuQC*L@VKUi0<&C@DCsm;92d|RVV@7=4 zp6~b=x$mN73?4{EJTjkrWImC4K1K8BO>S84a3aN1CR=JKT@;0fiTHL`ZIe>?OP8h+Xge|42A!<+1Hzknf{>%|ldqCtZ)s@1&MAJUSQlO1A730yVn z`?VOcreX+^rq@B|^>Lfm!_nd0DYz|nU7xMd)S}t)IyAW??=C+1wnkDa#`%)JZ79;v zG*q)F8G_f`1|)N~?-2JQ>2Q&#P_N5&u+HglF@aufZC6L*t<$!@i}X9E=7YAy^!m_7 z(ZtsriBv~}6H-#>Jh^I79CwhaRl8NAqpl?AEntl7+!c#+5r(4IYW?h-$0GVhA`+W_R z$4Ti?gzfo@`skMVKKtzYT=Frz^5{;(zdEb8w%A6_ta!| ziOP&WHNj0F7dojEzsqFI{(y%X5+bS6!@N%oV~j^<(j1CWQ1OTRPcMmPyexvL((8qX zgCj@T4i|z|m8mrTcETMTjDSdH*14xO%|S)RMWI8#|K5HRon2&o(yKPX%lI+PGvyqV z=Y%9JY_)BL0e}#>?vW?YaEg7lyXKJF0mD5pKuf5cAsSzIe>l)TcTg7@hXI}d#(p@6 zgDYcaWS@gjO>b^+*Y( zh$$L&W)A(Vuknd=8ja3P>2}u>J|4&na{8lN6e8WH4s@9{JeFSUFrcaRN8-|kMGC0n8smxw zQ?b{JtN%b~ml48054I*a>OMS=jSCbdUG%T+Ra)B~kdV5uv4dhgM7_&;Iv&0K9emSv z)t2O|{9$PLGbQ$c?@7%C!8KlmZCVGnZWQNB5HZJEEPn>E zYEkm}31Mh)fqdwEtylbKiC;duSBcr7!o*UPqn=s@I-R#>+}GQO4Z6)peHgOVJwLuE zi4k^E$2zWXf18H5{aoiST@^h_P1uu=i8^k&^uZ5sTd1djRLHLrT?l}z@1-=$AGhnK>_EUraE7-del zH89}bc|aq(;YMx1(qJ zY5nL~$qS7WN{6{O@EM0sKYNjPdhoQIA^TvZ03`hHx?cufuoi*acD?TV|IKF;w z#Y@3Uldf#?b8dpJQ+5R7yV(P(rV(#Y36U`wnwst#`ipPVzLebAYq?ZvQC&`ty1H9E z*2Acxa1dvdK3+J8#kym$Ysg};xdSKQ9LKK0n5;=A8�WiRU=ZyU4|4GU*@PE^;z8 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 S`Ts@5|2IeVfAQuk&-fp(R;jrF diff --git a/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter3.mp3 b/uni_modules/ima-camera-view/utssdk/app-android/assets/shutter3.mp3 deleted file mode 100644 index 1fc85a6f3fdb3d76db21071fcfcfb0f87a43b3f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4850 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 diff --git a/uni_modules/ima-camera-view/utssdk/app-android/config.json b/uni_modules/ima-camera-view/utssdk/app-android/config.json deleted file mode 100644 index 8e23c10..0000000 --- a/uni_modules/ima-camera-view/utssdk/app-android/config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "minSdkVersion": 21, - "dependencies": [ - { - "id": "com.otaliastudios:cameraview", - "source": "implementation('com.otaliastudios:cameraview:2.7.2') { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'; exclude group: 'androidx.core', module: 'core' }" - } - ] -} \ No newline at end of file diff --git a/uni_modules/ima-camera-view/utssdk/app-android/index.uts b/uni_modules/ima-camera-view/utssdk/app-android/index.uts deleted file mode 100644 index 7f759f1dc52b22204f06f59bb308544d4ad8df14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4656 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 diff --git a/uni_modules/ima-camera-view/utssdk/app-android/index.vue b/uni_modules/ima-camera-view/utssdk/app-android/index.vue deleted file mode 100644 index ea3e210..0000000 --- a/uni_modules/ima-camera-view/utssdk/app-android/index.vue +++ /dev/null @@ -1,651 +0,0 @@ - - - diff --git a/uni_modules/ima-camera-view/utssdk/app-ios/ImaCameraManager.swift b/uni_modules/ima-camera-view/utssdk/app-ios/ImaCameraManager.swift deleted file mode 100644 index c7f16e1ef1fc9244faf1a4c3977cc96449fc4296..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17968 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 diff --git a/uni_modules/ima-camera-view/utssdk/app-ios/Info.plist b/uni_modules/ima-camera-view/utssdk/app-ios/Info.plist deleted file mode 100644 index bf6c988..0000000 --- a/uni_modules/ima-camera-view/utssdk/app-ios/Info.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - NSCameraUsageDescription - 需要您的同意才能使用摄像头进行拍照和录像 - NSMicrophoneUsageDescription - 需要您的同意才能录制视频中的声音 - NSPhotoLibraryUsageDescription - 需要您的同意才能将拍摄的照片和视频保存到相册 - NSPhotoLibraryAddUsageDescription - 需要您的同意才能将拍摄的照片和视频保存到相册 - - diff --git a/uni_modules/ima-camera-view/utssdk/app-ios/config.json b/uni_modules/ima-camera-view/utssdk/app-ios/config.json deleted file mode 100644 index e895ab1..0000000 --- a/uni_modules/ima-camera-view/utssdk/app-ios/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "deploymentTarget": "12.0", - "frameworks": [ - "AVFoundation", - "Photos", - "UIKit", - "Foundation", - "AudioToolbox" - ] -} diff --git a/uni_modules/ima-camera-view/utssdk/app-ios/index.uts b/uni_modules/ima-camera-view/utssdk/app-ios/index.uts deleted file mode 100644 index 2951349af15fcff5b41cdb5fceadd16fdd47e12f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3760 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 - - - - - - diff --git a/uni_modules/ima-camera-view/utssdk/interface.uts b/uni_modules/ima-camera-view/utssdk/interface.uts deleted file mode 100644 index a47f9e2..0000000 --- a/uni_modules/ima-camera-view/utssdk/interface.uts +++ /dev/null @@ -1,15 +0,0 @@ -export type iWhiteBalance = 'auto' | 'incandescent' | 'fluorescent' | 'daylight' | 'cloudy' | 'loudy' - -export type iHdr = 'on' | 'off' - -export type iFacing = 'front' | 'back' - -export type iOrientation = 'auto' | 'portrait' | 'landscape' - -export type iGrid = 'off' | 'draw_3x3' | 'draw_4x4' | 'draw_phi' - -export type iFlash = 'on' | 'auto' | 'torch' | 'off' - -export type iAudio = 'on' | 'off' | 'mono' | 'stereo' - -export type iPhotoSuffix = 'jpeg' | 'jpg' \ No newline at end of file diff --git a/uni_modules/lime-camera/changelog.md b/uni_modules/lime-camera/changelog.md deleted file mode 100644 index 8f00993..0000000 --- a/uni_modules/lime-camera/changelog.md +++ /dev/null @@ -1,20 +0,0 @@ -## 0.1.0(2025-09-11) -- fix: 修复uniappx nvue无法创建context的问题 -## 0.0.9(2025-09-11) -- feat: uniapp nvue -## 0.0.8(2025-05-25) -- fix: 修复uniapp 安卓转js问题 -## 0.0.7(2025-01-11) -- feat: 优化报错 -## 0.0.6(2024-12-05) -- fix: 修复变量重复 -## 0.0.5(2024-12-04) -- fix: UniPointerEvent改为UTSJSONObejct -## 0.0.4(2024-11-27) -- fix: 修复录像BUG -## 0.0.3(2024-04-21) -- feat: 增加点击对焦 -## 0.0.2(2024-03-29) -- fix: 修复默认值是前置的情况无效 -## 0.0.1(2024-03-17) -- init diff --git a/uni_modules/lime-camera/components/lime-camera/lime-camera.uvue b/uni_modules/lime-camera/components/lime-camera/lime-camera.uvue deleted file mode 100644 index f9d34a5..0000000 --- a/uni_modules/lime-camera/components/lime-camera/lime-camera.uvue +++ /dev/null @@ -1,101 +0,0 @@ - - - diff --git a/uni_modules/lime-camera/components/lime-camera/lime-camera.vue b/uni_modules/lime-camera/components/lime-camera/lime-camera.vue deleted file mode 100644 index 11d5d7c..0000000 --- a/uni_modules/lime-camera/components/lime-camera/lime-camera.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - \ No newline at end of file diff --git a/uni_modules/lime-camera/encrypt b/uni_modules/lime-camera/encrypt deleted file mode 100644 index 13a6188..0000000 --- a/uni_modules/lime-camera/encrypt +++ /dev/null @@ -1,2 +0,0 @@ -SrFN>S(Z```rc.yWr)SS?ӎEzv/s|z۪ -P.,L9=rF:#ht~~ܤ;?mLN+0avљO \ No newline at end of file diff --git a/uni_modules/lime-camera/package.json b/uni_modules/lime-camera/package.json deleted file mode 100644 index e0c3087..0000000 --- a/uni_modules/lime-camera/package.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "id": "lime-camera", - "displayName": "lime-camera 相机", - "version": "0.1.0", - "description": "lime-camera是参照小程序的camera组件和createCameraContext API实现的uts相机插件,目前只支持安卓", - "keywords": [ - "lime-camera", - "createCameraContext", - "camera", - "相机", - "uts" -], - "repository": "", - "engines": { - "HBuilderX": "^4.04", - "uni-app": "^4.73", - "uni-app-x": "^4.74" - }, - "dcloudext": { - "type": "component-uts", - "sale": { - "regular": { - "price": "68.00" - }, - "sourcecode": { - "price": "168.00" - } - }, - "contact": { - "qq": "" - }, - "declaration": { - "ads": "无", - "data": "无", - "permissions": "\n\t\n\t\n\t" - }, - "npmurl": "", - "darkmode": "x", - "i18n": "x", - "widescreen": "x" - }, - "uni_modules": { - "dependencies": [], - "encrypt": [], - "platforms": { - "cloud": { - "tcb": "√", - "aliyun": "√", - "alipay": "√" - }, - "client": { - "uni-app": { - "vue": { - "vue2": "-", - "vue3": "-" - }, - "web": { - "safari": "-", - "chrome": "-" - }, - "app": { - "vue": "-", - "nvue": "√", - "android": "-", - "ios": "-", - "harmony": "-" - }, - "mp": { - "weixin": "-", - "alipay": "-", - "toutiao": "-", - "baidu": "-", - "kuaishou": "-", - "jd": "-", - "harmony": "-", - "qq": "-", - "lark": "-" - }, - "quickapp": { - "huawei": "-", - "union": "-" - } - }, - "uni-app-x": { - "web": { - "safari": "-", - "chrome": "-" - }, - "app": { - "android": { - "extVersion": "", - "minVersion": "21" - }, - "ios": "-", - "harmony": "-" - }, - "mp": { - "weixin": "-" - } - } - } - } - } -} \ No newline at end of file diff --git a/uni_modules/lime-camera/readme.md b/uni_modules/lime-camera/readme.md deleted file mode 100644 index 6432944..0000000 --- a/uni_modules/lime-camera/readme.md +++ /dev/null @@ -1,114 +0,0 @@ -# lime-camera 相机 -- 参照小程序的`camera`组件和`createCameraContext`API实现。 - -## 安装 -导入插件后,自定义基座再使用,请先试用后谨慎购买,一但购买没有退货。 - -### 基础使用 - -```html - - - - - - - - - - -``` - -```js -import { - createCameraContext, - TakePhotoOption, - TakePhotoSuccessCallbackResult, - CameraContextSetZoomOption, - SetZoomSuccessCallbackResult, - CameraContextStartRecordOption, - GeneralCallbackResult, - CameraContextStopRecordOption, - StopRecordSuccessCallbackResult - } from '@/uni_modules/lime-camera' -const context = createCameraContext() - -const flash = ref('off') -const device = ref('back') -const imagePath = ref('') -const onError = (err:any) => { - console.log('err', err) -} - -const toggleFlash = ()=>{ - flash.value = flash.value == 'on' ? 'off' : 'on' -} -const toggledevice = ()=>{ - device.value = device.value == 'back' ? 'front' : 'back' -} -const takePhoto = ()=>{ - let time = Date.now() - context.takePhoto({ - success: (res:TakePhotoSuccessCallbackResult)=> { - console.log('takePhoto time', Date.now() - time) - imagePath.value = res.tempImagePath - console.log('takePhoto', res.tempImagePath) - } - } as TakePhotoOption) -} -const setZoom = ()=>{ - context.setZoom({ - zoom: Math.random() * 10, - success: (res:SetZoomSuccessCallbackResult)=> { - console.log('setZoom', res.errMsg, res.zoom) - } - } as CameraContextSetZoomOption) -} - -const startRecord = ()=>{ - context.startRecord({ - success(res: GeneralCallbackResult){ - console.log('startRecord') - } - } as CameraContextStartRecordOption) -} -const stopRecord = ()=>{ - context.stopRecord({ - success(result: StopRecordSuccessCallbackResult){ - console.log('stopRecord', result.tempThumbPath) - } - } as CameraContextStopRecordOption) -} -let listener = context.onCameraFrame() -const startFrame = ()=>{ - listener.start() -} -const stopFrame = ()=>{ - listener.stop() -} -``` - -## Props -因为直接参照小程序`camera`组件,所以可以直接按[camera](https://uniapp.dcloud.net.cn/component/camera.html)文档来。但不支持扫码。扫码可以使用[lime-scan](https://ext.dcloud.net.cn/plugin?id=16452) - - -| 参数 | 说明 | 类型 | 默认值 | -| --------------------------| ------------------------------------------------------------ | ---------------- | ------------ | -| focus | 是否开启点击对焦 | boolean | `false` | - -## 事件 - -| 参数 | 说明 | 类型 | 默认值 | -| --------------------------| ------------------------------------------------------------ | ---------------- | ------------ | -| @click | (event:UniEvent) => {} | UniEvent | | - - -## API -因为直接参照小程序`createcameracontext`API,所以可以直接按[createcameracontext](https://uniapp.dcloud.net.cn/api/media/camera-context.html#createcameracontext)文档来。
    -但`onCameraFrame`里的回调中的data为`ImageProxy` -```ts -context.onCameraFrame((frame)=>{ - // 这里是 ImageProxy - frame.data -}) -``` diff --git a/uni_modules/lime-camera/utssdk/app-android/AndroidManifest.xml b/uni_modules/lime-camera/utssdk/app-android/AndroidManifest.xml deleted file mode 100644 index 3b13ea1..0000000 --- a/uni_modules/lime-camera/utssdk/app-android/AndroidManifest.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/app-android/camera.uts b/uni_modules/lime-camera/utssdk/app-android/camera.uts deleted file mode 100644 index ee4d054813584ddd8eb4bfb53b195ab80173ed8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22608 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 K;!)#J8i9zd;jPvH diff --git a/uni_modules/lime-camera/utssdk/app-android/index.vue b/uni_modules/lime-camera/utssdk/app-android/index.vue deleted file mode 100644 index 6945aef..0000000 --- a/uni_modules/lime-camera/utssdk/app-android/index.vue +++ /dev/null @@ -1,274 +0,0 @@ - - - - - \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/app-harmony/builder.ets b/uni_modules/lime-camera/utssdk/app-harmony/builder.ets deleted file mode 100644 index 2abb9bd..0000000 --- a/uni_modules/lime-camera/utssdk/app-harmony/builder.ets +++ /dev/null @@ -1,372 +0,0 @@ -import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit'; -import { camera } from '@kit.CameraKit'; -import { BusinessError } from '@kit.BasicServicesKit'; -import { image } from '@kit.ImageKit'; -import fs from '@ohos.file.fs'; - -@Component -struct CameraViewComponent { - @Prop mode: string = 'photo' - @Prop isFront: boolean = false - @Prop isFlash: boolean = false - @Prop isTorch: boolean = false - @Prop correctOrientation: boolean = false - @Prop @Watch('onCommandChange') command: string = '' // 指令 - - onTake?: (path: string) => void - - private xComponentCtl: XComponentController = new XComponentController(); - private xComponentSurfaceId: string = ''; - @State imageWidth: number = 1920; - @State imageHeight: number = 1080; - private cameraManager: camera.CameraManager | undefined = undefined; - private cameras: Array | Array = []; - private cameraPosition: number = 0 - private isFrontCamera = false - private cameraInput: camera.CameraInput | undefined = undefined; - private previewOutput: camera.PreviewOutput | undefined = undefined; - private photoOutput: camera.PhotoOutput | undefined = undefined; - private videoSession: camera.VideoSession | undefined = undefined; - private photoSession: camera.PhotoSession | undefined = undefined; - private uiContext: UIContext = this.getUIContext(); - private context: Context | undefined = this.uiContext.getHostContext(); - private cameraPermission: Permissions = 'ohos.permission.CAMERA'; - private isTorchOn: boolean = false - private isFlashOn: boolean = false - @State isShow: boolean = false; - - onCommandChange() { - let command = this.command.split('-')[0] - if (command == 'open') { - this.initCamera() - } else if (command == 'close') { - this.releaseCamera(); - } else if (command == 'take') { - this.takePhoto() - } else if (command == 'switch') { - this.isFrontCamera = this.isFront - this.switchCamera() - } else if (command == 'flash') { - this.isFlashOn = this.isFlash - this.onFlash() - } else if (command == 'torch') { - this.isTorchOn = this.isTorch - this.onTorch() - } - } - - async requestPermissionsFn(): Promise { - let atManager = abilityAccessCtrl.createAtManager(); - if (this.context) { - let res = await atManager.requestPermissionsFromUser(this.context, [this.cameraPermission]); - for (let i = 0; i < res.permissions.length; i++) { - if (this.cameraPermission.toString() === res.permissions[i] && res.authResults[i] === 0) { - this.isShow = true; - } - } - } - } - - async aboutToAppear() { - await this.requestPermissionsFn(); - } - - aboutToDisappear(): void { - this.releaseCamera(); - } - - // 初始化相机。 - async initCamera(): Promise { - // console.info(`initCamera previewOutput xComponentSurfaceId:${this.xComponentSurfaceId}`); - try { - // 获取相机管理器实例。 - this.cameraManager = camera.getCameraManager(this.context); - if (!this.cameraManager) { - console.error('initCamera getCameraManager'); - } - // 获取当前设备支持的相机device列表。 - this.cameras = this.cameraManager.getSupportedCameras(); - if (!this.cameras) { - console.error('initCamera getSupportedCameras'); - } - // 选择一个相机device,创建cameraInput输出对象。 - this.cameraInput = this.cameraManager.createCameraInput(this.cameras[this.cameraPosition]); - if (!this.cameraInput) { - console.error('initCamera createCameraInput'); - } - // 打开相机。 - await this.cameraInput.open().catch((err: BusinessError) => { - console.error(`initCamera open fail: ${err}`); - }) - // 获取相机device支持的profile。 - let capability: camera.CameraOutputCapability = this.cameraManager.getSupportedOutputCapability(this.cameras[this.cameraPosition], camera.SceneMode.NORMAL_PHOTO); - if (!capability) { - console.error('initCamera getSupportedOutputCapability'); - } - - let previewProfilesArray: Array = capability.previewProfiles; - if (!previewProfilesArray) { - console.error("createOutput previewProfilesArray == null || undefined"); - } - - let photoProfilesArray: Array = capability.photoProfiles; - if (!photoProfilesArray) { - console.error("createOutput photoProfilesArray == null || undefined"); - } - - // 预览 - let minRatioDiff: number = 0.1; - let surfaceRatio: number = this.imageWidth / this.imageHeight; // 最接近16:9宽高比。 - let previewProfile: camera.Profile = previewProfilesArray[0]; - - // // 应用开发者根据实际业务需求选择一个支持的预览流previewProfile。 - // for (let index = 0; index < previewProfilesArray.length; index++) { - // const tempProfile = previewProfilesArray[index]; - // let tempRatio = tempProfile.size.width >= tempProfile.size.height ? - // tempProfile.size.width / tempProfile.size.height : tempProfile.size.height / tempProfile.size.width; - // let currentRatio = Math.abs(tempRatio - surfaceRatio); - // if (currentRatio <= minRatioDiff && tempProfile.format == camera.CameraFormat.CAMERA_FORMAT_JPEG) { - // previewProfile = tempProfile; - // break; - // } - // } - // this.imageWidth = previewProfile.size.width; // 更新xComponent组件的宽。 - // this.imageHeight = previewProfile.size.height; // 更新xComponent组件的高。 - // console.info(`initCamera imageWidth:${this.imageWidth} imageHeight:${this.imageHeight}`); - - // 使用xComponentSurfaceId创建预览。 - this.previewOutput = this.cameraManager.createPreviewOutput(previewProfile, this.xComponentSurfaceId); - if (!this.previewOutput) { - console.error('initCamera createPreviewOutput'); - } - - // 拍照 - this.photoOutput = this.cameraManager.createPhotoOutput(photoProfilesArray[0]); - this.setPhotoOutputCb(this.photoOutput); - - // 创建录像模式相机会话。 - if(this.mode == 'video') { - this.videoSession = this.cameraManager.createSession(camera.SceneMode.NORMAL_VIDEO) as camera.VideoSession; - if (!this.videoSession) { - console.error('initCamera createSession'); - } - // 开始配置会话。 - this.videoSession.beginConfig(); - // 添加相机设备输入。 - this.videoSession.addInput(this.cameraInput); - // 添加预览流输出。 - this.videoSession.addOutput(this.previewOutput); - // 提交会话配置。 - await this.videoSession.commitConfig(); - // 开始启动已配置的输入输出流。 - await this.videoSession.start(); - } else if(this.mode == 'photo') { - this.photoSession = this.cameraManager.createSession(camera.SceneMode.NORMAL_PHOTO) as camera.PhotoSession; - if (!this.photoSession) { - console.error('initCamera createSession'); - } - // 开始配置会话。 - this.photoSession.beginConfig(); - // 添加相机设备输入。 - this.photoSession.addInput(this.cameraInput); - // 添加预览流输出。 - this.photoSession.addOutput(this.previewOutput); - // 添加拍照输出流 - this.photoSession.addOutput(this.photoOutput); - // 提交会话配置。 - await this.photoSession.commitConfig(); - // 开始启动已配置的输入输出流。 - await this.photoSession.start(); - } - - } catch (error) { - console.error(`initCamera fail: ${error}`); - } - } - - // 释放相机。 - async releaseCamera(): Promise { - try { - if(this.mode == 'video') { - // 停止当前会话。 - await this.videoSession?.stop(); - // 释放相机输入流。 - await this.cameraInput?.close(); - // 释放预览输出流。 - await this.previewOutput?.release(); - // 释放会话。 - await this.videoSession?.release(); - } else if(this.mode == 'photo') { - // 停止当前会话。 - await this.photoSession?.stop(); - // 释放相机输入流。 - await this.cameraInput?.close(); - // 释放预览输出流。 - await this.previewOutput?.release(); - // 释放拍照输出流。 - await this.photoOutput?.release(); - // 释放会话。 - await this.photoSession?.release(); - } - } catch (error) { - console.error(`initCamera fail: ${error}`); - } - } - - setPhotoOutputCb(photoOutput: camera.PhotoOutput): void { - //设置回调之后,调用photoOutput的capture方法,就会将拍照的buffer回传到回调中。 - photoOutput.on('photoAvailable', (errCode: BusinessError, photo: camera.Photo): void => { - if (errCode || photo === undefined) { - console.error('getPhoto failed'); - return; - } - let imageObj = photo.main; - imageObj.getComponent(image.ComponentType.JPEG, async (errCode: BusinessError, component: image.Component) => { - if (errCode || component === undefined) { - console.error('getComponent failed'); - return; - } - let buffer: ArrayBuffer; - if (component.byteBuffer) { - buffer = component.byteBuffer; - } else { - console.error('byteBuffer is null'); - return; - } - - // 生成照片 - try { - const tempDir = this.context?.cacheDir; - - const timestamp = new Date().getTime(); - const fileName = `photo_${timestamp}.jpg`; - const filePath = `${tempDir}/${fileName}`; - - const file = await fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); - await fs.write(file.fd, buffer); - await fs.close(file.fd); - - this.onTake?.(filePath); - - } catch (error) { - console.error('保存临时照片失败:', error); - } finally { - imageObj.release(); - } - }); - }); - } - - takePhoto() { - let photoCaptureSetting: camera.PhotoCaptureSetting = { - quality: camera.QualityLevel.QUALITY_LEVEL_HIGH, // 设置图片质量高。 - rotation: camera.ImageRotation.ROTATION_0 // 设置图片旋转角度0。 - } - - // 使用当前拍照设置进行拍照。 - this.photoOutput?.capture(photoCaptureSetting, (err: BusinessError) => { - if (err) { - console.error(`Failed to capture the photo ${err.message}`); - return; - } - // console.info('Callback invoked to indicate the photo capture request success.'); - }); - } - - // 切换摄像头 - async switchCamera() { - if (this.cameras.length < 2) { - console.error('Only one camera available'); - return; - } - - // 切换摄像头位置 - this.cameraPosition = (this.isFrontCamera - ? camera.CameraPosition.CAMERA_POSITION_FRONT - : camera.CameraPosition.CAMERA_POSITION_BACK) - 1; - - await this.releaseCamera(); - await this.initCamera(); - } - - // 手电筒 - onTorch() { - try { - let torchSupport = this.cameraManager?.isTorchSupported() ?? false - if(torchSupport) { - if(this.cameraPosition == camera.CameraPosition.CAMERA_POSITION_BACK - 1) { - console.error('back camera not support'); - return - } - - this.cameraManager?.setTorchMode(this.isTorchOn ? camera.TorchMode.ON : camera.TorchMode.OFF); - } - } catch (error) { - console.error(error); - } - } - - // 闪光灯 - onFlash() { - try { - let torchSupport = this.cameraManager?.isTorchSupported() ?? false - if(torchSupport) { - if(this.cameraPosition == camera.CameraPosition.CAMERA_POSITION_FRONT - 1) { - console.error('front camera not support'); - return - } - - this.cameraManager?.setTorchMode(this.isFlashOn ? camera.TorchMode.AUTO : camera.TorchMode.OFF); - } - } catch (error) { - console.error(error); - } - } - - build() { - Column() { - if (this.isShow) { - XComponent({ - id: 'componentId', - type: XComponentType.SURFACE, - controller: this.xComponentCtl - }) - .onLoad(async () => { - // 获取组件surfaceId。 - this.xComponentSurfaceId = this.xComponentCtl.getXComponentSurfaceId(); - // 初始化相机,组件实时渲染每帧预览流数据。 - this.initCamera() - }) - .width(this.uiContext.px2vp(this.imageHeight)) - .height(this.uiContext.px2vp(this.imageWidth)) - } - } - .justifyContent(FlexAlign.Center) - .backgroundColor(Color.Black) - .height('100%') - .width('100%') - } -} - -@Builder -export function CameraView(params: ESObject) { - Row() { - CameraViewComponent({ - mode: 'photo', - isFront: params.isFront, - isFlash: params.isFlash, - isTorch: params.isTorch, - command: params.command, - correctOrientation: params.correctOrientation, - onTake: (path: string) => { - let fun = params.onTake as (path: string) => void - fun(path) - } - }) - .width('100%') - .height('100%') - } - .width('100%') - .height('100%') - .attributeModifier(params.attributeUpdater) -} \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/app-harmony/index.uts b/uni_modules/lime-camera/utssdk/app-harmony/index.uts deleted file mode 100644 index 78860944c7399e2c2fad909e22510798c323d9fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1952 zcmV;R2VeMAcf9^R$N7s!WrAr_UmOo2bj<)gmjyjhoRpbN_EoxUxD?t^k_}9f$gw|- z(`p+$I#a)@_|3-DNOdr-C#?x{^l=C5_i5O$%J_m1LDz%p_W}xk@QdV-HhI4U(4l^4 z+liyQ_CN`wI@4Na40x=Ua~+4= zm_LG8M#{f=Bf*XJf%-xA%*^90&Y1B=&@pJPAn#Z3MI(Gek@c8W())amG()1BA{^ggBM65XiJlavoRb`p2ojX6Mg09u*2LhFGVq0b9DE!e=*LQA z5aqASXZl@n&xj5v_qsZX(C&pSD9jHkGU(!(hN%jB(E^ISabF9C16BhmmtoHUUrDAp zP`3QOGJyTk@#!8TFh-*f?#;)T)b5LbOF+iRbfz$X9EbqUzc9xHjNlB99fST|IK8{E zYwL%IsmT#5K8a_HapVh793San0xS_a0_w4Jxk`x%SvtbW!2y~o`!#Ca@S-%)UrfgL zC#VH>(dQNlhp(9!*rx`}$20j*UxN9)(4>J&Ysa+ z&}d=@Scv?4`gSK=(P$%vUacfI!^q!sSZ9adk7}IM7e*i9qp5!(!2@9vpGOiRyg_gG zDj9Nw9Q>rxJ2O*RUBEq9jhs7ZAs9An~(0R%@?x4bF39O%zo4`yTp>hfdfKt4OjVC z((ss&Z?(-|i`DDv43xIUIXRD)(^&{BlexyKh0fh~4NHq?Bi};f5h%}#Ixm{M{2*6{ zg2p^K*=-IKJ1_ZQkFjetAFq}%)Q7WG096}|?DL}7FSIGUr~~M>-rK)`;X_7-q=RqM zFO{_5k*t6B5CsoPZ9NtKoO{Jha$$fK-(9^rmOHwVySMQd6sV3uwO(udliQs{G1+kQ?@Y(e(kI0z?kIB4das z?K<`YK5qXQ9tB#gv#rC3A%A8{C5-h+37M_%O(U=La1Q&<@{E_4DdBg4quS(l<5)1N z8lwD^S!x1-mfGW03(mlDAl%1T|M!!7C-0#xCogv9%(*$yop!&(i>SWD`?5Bj#IiiO zZ4h|~V>%tg(b(tM=MF5&UL5uZe@Ge79|ORg_Q#8x60CVNT(<)ks>#frN?sj%9?yKuxB!;eHk zoB(j@MQ_E?X5MJcE2xy+sn3LLE}ihNzppo4e!7DB%Uh%rb-;5(G{-iZ=G6+M%V(rM zJ#FCYWvl$DH=r_l=i&U(Rh7XA4?g^UUI;DZOI9M4i0!d*oFRT>kb+xT7cqZ_A~p00 z$tBlne;%m-eq`=&1Z4=n<$4ak1MImCh{JBVWSb4MM>!=$LcJUt`BDpag~=-_`js44 z+f_-8{@0|UH{5jnj74Q)Qg}kStd-=~$wl}esP=xRgOyaZE8=TiTmXV;^rGpc$(knl z=xZj+Fl*UD-7t4aXzJQh%#P1%Y3^56M#ydXLhWRVHgy00Gd`dcDUx|rmL5uMqQU5ct-QGii$ke);X@Qor0B1j12-sWndN}5Vz6(n2JbYuq^#hzHB mkiNEA&hFO3#e&^(Gh8UTh2ZJ=GqM_p57(zlH4mblJo=zZ9ne1j diff --git a/uni_modules/lime-camera/utssdk/app-harmony/module.json5 b/uni_modules/lime-camera/utssdk/app-harmony/module.json5 deleted file mode 100644 index 9524e2a..0000000 --- a/uni_modules/lime-camera/utssdk/app-harmony/module.json5 +++ /dev/null @@ -1,27 +0,0 @@ -{ - "module": { - "name": "uni_modules__ux_camera_view_har", - "type": "har", - "deviceTypes": [ - "default", - "tablet", - "2in1" - ], - "requestPermissions": [ - { - "name": "ohos.permission.CAMERA", - "reason": "$string:permission_CAMERA_reason", - "usedScene": { - "when": "inuse" - } - }, - { - "name": "ohos.permission.MICROPHONE", - "reason": "$string:permission_MICROPHONE_reason", - "usedScene": { - "when": "inuse" - } - } - ] - } -} diff --git a/uni_modules/lime-camera/utssdk/app-harmony/resources/base/element/string.json b/uni_modules/lime-camera/utssdk/app-harmony/resources/base/element/string.json deleted file mode 100644 index 9fc3e41..0000000 --- a/uni_modules/lime-camera/utssdk/app-harmony/resources/base/element/string.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "string": [ - { - "name": "permission_CAMERA_reason", - "value": "需要相机权限来实现拍摄功能" - }, - { - "name": "permission_MICROPHONE_reason", - "value": "需要录音权限来实现拍摄录音功能" - } - ] -} \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/app-ios/camera.uts b/uni_modules/lime-camera/utssdk/app-ios/camera.uts deleted file mode 100644 index 7844f29bb567eafa35df721ad7b75cf9669a9536..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13088 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 diff --git a/uni_modules/lime-camera/utssdk/app-ios/index.uts b/uni_modules/lime-camera/utssdk/app-ios/index.uts deleted file mode 100644 index 23900bb2d1afa1d98bf9836c1e5e2696a5580718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1824 zcmV+*2jBQ_l9n+pCVuk+_Sit!K1QZ*0YnFhw&D9nT#4nP?ekV$RcnMpz7|>9>03) zfzFz+;L>OokXt}ofzIV81P;?CXxB{M5qV%J@R6GLKkXluNKE*j zw(g3>Jr2tz5EA0_pH2?Vmpl<~q{#$T@F_hqa!eyMYjvrfGP*@=+!TX^ET>BSbyoF0 zqsTiM{ZRxw%`yy~4Q)dD1>H~74Z05&3GKfP4vdxi$`agvzqw`hKwSyK2EmTlZN%}R zB{#xjXUSQy9Ec%@vN2}FH1# z(9|t`y9ldQ7;HLM67VHvl4%6*3LeZw2s*kSQG<`X*rK7Vm+Wh0l{308NBL!U4EY+7 z3!iGd)dTubGmTTI)$!t?^~0aO;!xU7owuOqQhRRhEk*EZK@fanRfNT_Sgpb7fE z06i8pDB6xSdLfC?I)6?rbZlC(Gi@7djqM=bhhJdDEU26`Zo zygk@m+ zI`h5>Ds6(-;D+Q^WAXMxj@asJ5b?TKZI?z{uIxgGL#L^d#km9 z-9tNPSVePF$x{QJDJ5YL_DD z`S`CzTT#_rRCEE=Q9u(^F$eJDc8PS46|~{EQnfjTw$KO>;8=pR<(r4&i&3oNyfq_OY7k z@cbNaiGX1MO-NEWT%S66Rz-9bY&jogBg>Ny&5I7q9X!A5jE2E5`Iv20t-$RYoo1M3 zErpWkqD;)G0LXB38Tu=xhoq%yEeu7P9w@U_XaDOr&$=fs3QDPV4@|jqlsmWp{-s%< z=PiCKWRMZVdcC)PCoTwzy@kWBy!Ix2AR>6%;s*MOxp&TrB=a!0P931C zZ@;0C8(XkjQ)waJ9Y;$+-{{YVVCH^N!kTdP%ry@BTf(Q|v9qfR@}y9Khb!`H&<#=D z+u3aNhM5lS!lXiUuWECQ78)4=QBiJ8{uFeLaXHl~ejfEP^NKs~G;7{}%wZehf?e5oq=nOIL;Cqq%EQ~eq(r)Iv?gtm4$B=uM3Zauv8E97-_tno6`=H}u>hT)md4Wl6(>aV zRs276!YnSBhi=nH6_?<%NP^;%f_|o}5byd4T!t{K7}nR+40@hXs=?6`7@VUnp($wb O=Yc=#O`j$OMAxR*F^S9o diff --git a/uni_modules/lime-camera/utssdk/app-ios/index.vue b/uni_modules/lime-camera/utssdk/app-ios/index.vue deleted file mode 100644 index 917ea64..0000000 --- a/uni_modules/lime-camera/utssdk/app-ios/index.vue +++ /dev/null @@ -1,266 +0,0 @@ - - - - \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/app-ios/info.plist b/uni_modules/lime-camera/utssdk/app-ios/info.plist deleted file mode 100644 index 22ba602..0000000 --- a/uni_modules/lime-camera/utssdk/app-ios/info.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - NSCameraUsageDescription - 我们需要您的相机权限来拍照或录像。 - NSPhotoLibraryUsageDescription - 需要使用你的相册进行选择视频及图片 - NSPhotoLibraryAddUsageDescription - 需要保存图片和视频至你的相册中 - PHPhotoLibraryPreventAutomaticLimitedAccessAlert - 需要保存图片和视频至你的相册中 - - \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/interface.uts b/uni_modules/lime-camera/utssdk/interface.uts deleted file mode 100644 index 9699418..0000000 --- a/uni_modules/lime-camera/utssdk/interface.uts +++ /dev/null @@ -1,227 +0,0 @@ -// #ifdef APP-ANDROID -import ImageProxy from 'androidx.camera.core.ImageProxy'; -// #endif - -export type GeneralCallbackResult = { - /** 错误信息 */ - errMsg : string -} -export type TakePhotoSuccessCallbackResult = { - /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */ - tempImagePath : string - errMsg : string -} - -export type TakePhotoCallback = (res: string) => void - -/** 接口调用失败的回调函数 */ -export type TakePhotoFailCallback = (res : GeneralCallbackResult) => void -/** 接口调用成功的回调函数 */ -export type TakePhotoSuccessCallback = ( - result : TakePhotoSuccessCallbackResult -) => void - -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -export type TakePhotoCompleteCallback = (res : GeneralCallbackResult) => void - -export type TakePhotoOption = { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: TakePhotoCompleteCallback - /** 接口调用失败的回调函数 */ - fail ?: TakePhotoFailCallback - /** 成像质量 - * - * 可选值: - * - 'high': 高质量; - * - 'normal': 普通质量; - * - 'low': 低质量; - * - 'original': 原图; */ - quality ?: 'high' | 'normal' | 'low' | 'original' - /** - * 是否开启镜像 */ - selfieMirror ?: boolean - /** 接口调用成功的回调函数 */ - success ?: TakePhotoSuccessCallback -} - - -export type SetZoomSuccessCallbackResult = { - /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */ - zoom : number - errMsg : string -} -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -export type SetZoomCompleteCallback = (res : GeneralCallbackResult) => void -/** 接口调用失败的回调函数 */ -export type SetZoomFailCallback = (res : GeneralCallbackResult) => void -/** 接口调用成功的回调函数 */ -export type CameraContextSetZoomSuccessCallback = ( - result : SetZoomSuccessCallbackResult -) => void - -export type CameraContextSetZoomOption = { - /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */ - zoom : number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: SetZoomCompleteCallback - /** 接口调用失败的回调函数 */ - fail ?: SetZoomFailCallback - /** 接口调用成功的回调函数 */ - success ?: CameraContextSetZoomSuccessCallback -} - -export type StartRecordTimeoutCallbackResult = { - /** 封面图片文件的临时路径 (本地路径) */ - tempThumbPath : string - /** 视频的文件的临时路径 (本地路径) */ - tempVideoPath : string -} - -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -export type StartRecordCompleteCallback = (res : GeneralCallbackResult) => void -/** 接口调用失败的回调函数 */ -export type StartRecordFailCallback = (res : GeneralCallbackResult) => void -/** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ -export type StartRecordTimeoutCallback = ( - result : StartRecordTimeoutCallbackResult -) => void -/** 接口调用成功的回调函数 */ -export type CameraContextStartRecordSuccessCallback = ( - res : GeneralCallbackResult -) => void -export type CameraContextStartRecordOption = { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: StartRecordCompleteCallback - /** 接口调用失败的回调函数 */ - fail ?: StartRecordFailCallback - /** - * 是否开启镜像 */ - selfieMirror ?: boolean - /** 接口调用成功的回调函数 */ - success ?: CameraContextStartRecordSuccessCallback - /** - * 录制时长上限,单位为秒,最长不能超过 5 分钟 */ - timeout ?: number - /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ - timeoutCallback ?: StartRecordTimeoutCallback -} - -export type StopRecordSuccessCallbackResult = { - /** 封面图片文件的临时路径 (本地路径) */ - tempThumbPath : string - /** 视频的文件的临时路径 (本地路径) */ - tempVideoPath : string - errMsg : string -} -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -export type StopRecordCompleteCallback = (res : GeneralCallbackResult) => void -/** 接口调用失败的回调函数 */ -export type StopRecordFailCallback = (res : GeneralCallbackResult) => void -/** 接口调用成功的回调函数 */ -export type CameraContextStopRecordSuccessCallback = ( - result : StopRecordSuccessCallbackResult -) => void -export type CameraContextStopRecordOption = { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: StopRecordCompleteCallback - /** 启动视频压缩,压缩效果同`chooseVideo` */ - compressed ?: boolean - /** 接口调用失败的回调函数 */ - fail ?: StopRecordFailCallback - /** 接口调用成功的回调函数 */ - success ?: CameraContextStopRecordSuccessCallback -} - -/** 回调函数 */ -export type OnCameraFrameCallback = (result : OnCameraFrameCallbackResult) => void -export type OnCameraFrameCallbackResult = { - /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ - // #ifdef APP-ANDROID - data : ImageProxy - // #endif - // #ifndef APP-ANDROID - data : ArrayBuffer - // #endif - /** 图像数据矩形的高度 */ - height : number - /** 图像数据矩形的宽度 */ - width : number -} -/** 接口调用成功的回调函数 */ -export type StartSuccessCallback = (res : GeneralCallbackResult) => void -/** 接口调用失败的回调函数 */ -type StartFailCallback = (res : GeneralCallbackResult) => void -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -type StartCompleteCallback = (res : GeneralCallbackResult) => void -export type CameraFrameListenerStartOption = { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: StartCompleteCallback - /** 接口调用失败的回调函数 */ - fail ?: StartFailCallback - /** 接口调用成功的回调函数 */ - success ?: StartSuccessCallback - /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) - * - * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */ - // worker ?: Worker -} - - -/** 接口调用结束的回调函数(调用成功、失败都会执行) */ -export type StopCompleteCallback = (res : GeneralCallbackResult) => void -/** 接口调用失败的回调函数 */ -export type StopFailCallback = (res : GeneralCallbackResult) => void -/** 接口调用成功的回调函数 */ -export type StopSuccessCallback = (res : GeneralCallbackResult) => void -export type StopOption = { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete ?: StopCompleteCallback - /** 接口调用失败的回调函数 */ - fail ?: StopFailCallback - /** 接口调用成功的回调函数 */ - success ?: StopSuccessCallback -} - -// export type CameraFrameListener = { -// /** -// * 开始监听帧数据 */ -// start(option ?: CameraFrameListenerStartOption) : void -// /** -// * 停止监听帧数据 */ -// stop(option ?: StopOption) : void -// } - -export type FlashMode = 'auto' | 'on' | 'off' | 'torch' -export type DevicePosition = 'back' | 'front' -export type Resolution = 'low' | 'medium' | 'high' -export type FrameSize = 'medium' | 'small' | 'large' -// type OutputDimension = '360P' | '540P' | '720P' | '1080P' | 'max' -export type QualityType = 'high' | 'normal' | 'low' | 'original' - - -export type CameraConfig = { - flash ?: FlashMode - devicePosition ?: DevicePosition - resolution ?: Resolution - frameSize ?: FrameSize - focus ?: boolean - // outputDimension ?: OutputDimension -} - - -export interface CameraFrameListener { - start():void - start(option ?: CameraFrameListenerStartOption):void - stop():void - stop(option ?: StopOption):void -} - - -export interface CameraContext { - takePhoto(option : TakePhotoOption):void - setZoom(option : CameraContextSetZoomOption):void - startRecord(option : CameraContextStartRecordOption):void - stopRecord(option : CameraContextStopRecordOption) :void - onCameraFrame():CameraFrameListener - onCameraFrame(callback : OnCameraFrameCallback | null) : CameraFrameListener -} \ No newline at end of file diff --git a/uni_modules/lime-camera/utssdk/web/index.uts b/uni_modules/lime-camera/utssdk/web/index.uts deleted file mode 100644 index e514a0ee4431ed97708453da4dd8f7450103d87f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1008 zcmV_z=4{pFbxI7u6*bWj23h*F+#!ZqC={fUYA)UHlE& zkbk73{@@(KSyBZWQh>4{P6YNGhw&w?UJj)Gr*>)YR4$XYsXD1oNln~=-k@p?NbG?=pr%Sv?Zs?jCq^G2E+U4#d=_nSL7Ev!4txH8YnNUZVY;Bi?w z5rLjCV3dtFeETNFW2%gXPA7nMI-ZaQ%AXSu!G!NXwA)s5%*-OCSKg-3e~f{{3b?kE zfBJf7#zippzUx~+3)pD^c&RyZ2%xuq{1h_ajy;e#jT=mU_Nrw8)&&-?eE3x$1`78S!3^Wpm zRM|hJ$lMw+r&ov<$DG~a10xxr+*#}OG)={jJ%i;aGMWtdF@;@b* zBdN5dEeNd`q+a*4mCW0TI8?Kb4EYO%z8}J`6M+aEohw0!d28=LMGk$snl(FyZM3@w zbQ%GWLHDv+JN|Mjp5$5JpjmMrDn&p{qiFA@g@uC&Q;AWAKyS?Pwl*aCxG$I~_0@aE zb&gyZXxQOH2)3)woM$WoBhD#i&(Fb*XH%O>j(l&qh`&(f2y!Y(rZmBOYyzk8gBIc~ z{5szTz^kGjYz~gBp2cg2rAGiMRrS_%8RjebphjP|K8A@@G2+aNgv-p)x5)KIAr2Ml z2Y;bI)2QL2KEUjLC;bM=V{|dKHP?)~t3zGWfIBhZ?Y;}ZF-|~RB9I)V8P%%#)nhpL zy(Z;#+kI7YfQBfSUNxeQZ!&8BDAZG$adn%AV0~BNX9j#UKD;w&V!zFEN-i{$?Fg&Dj zP@mJp7uiz8=cMvqJfEwo$nJvai2WT?<8SLb@UIRO)F4?hI)DIv+Fh5R2=41IR^ z>vD3Qwt9Es+G;~Pt6MKw#N<`?OJl78J)s?uSbAGTk&(wHrJZ;M!|}>!1^-KjEAI)A zO#MY9wHmI0om%8TUAp-}IGD8Fv$E70FQeX!^R*e;pkwV)VxCtO_W;7BfaK1PHYc5t eXPy=&=)W&nFrosfr4GBW?1`b&-)C&8)ct(L=>2~H diff --git a/uni_modules/lime-camera/utssdk/web/index.vue b/uni_modules/lime-camera/utssdk/web/index.vue deleted file mode 100644 index 8e1ecd8..0000000 --- a/uni_modules/lime-camera/utssdk/web/index.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - \ No newline at end of file