@unif/react-native-camera 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactNativeVisionCamera = require("react-native-vision-camera");
10
10
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
11
11
  var _NoCamera = _interopRequireDefault(require("./NoCamera"));
12
+ var _FocusIndicator = _interopRequireDefault(require("./FocusIndicator"));
12
13
  var _footer = require("./footer");
13
14
  var _setup = require("./setup");
14
15
  var _preview = require("./preview");
@@ -23,7 +24,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
23
24
  * @Author: 刘利军
24
25
  * @Date: 2024-12-02 13:48:40
25
26
  * @LastEditors: 刘利军
26
- * @LastEditTime: 2025-08-27 16:58:51
27
+ * @LastEditTime: 2025-01-17 08:44:43
27
28
  * @Description:
28
29
  * @PageName:
29
30
  */
@@ -44,10 +45,10 @@ const Camera = ({
44
45
  cameraMode,
45
46
  dataRetainedMode
46
47
  } = data;
47
- const [position, setPosition] = (0, _react.useState)(((_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
48
+ const [position, setPosition] = (0, _react.useState)((cameraMode === null || cameraMode === void 0 || (_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
48
49
  const [preVis, setPreVis] = (0, _react.useState)(false);
49
- const [photoResolution, setPhotoResolution] = (0, _react.useState)((_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
50
- const [videoResolution, setVideoResolution] = (0, _react.useState)((_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
50
+ const [photoResolution, setPhotoResolution] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
51
+ const [videoResolution, setVideoResolution] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
51
52
  const [watermarkUriVis, setWatermarkUriVis] = (0, _react.useState)(false);
52
53
  const device = (0, _reactNativeVisionCamera.useCameraDevice)(position, {
53
54
  physicalDevices: ['ultra-wide-angle-camera', 'wide-angle-camera', 'telephoto-camera']
@@ -69,12 +70,57 @@ const Camera = ({
69
70
  }]);
70
71
  const camera = (0, _react.useRef)(null);
71
72
  const [photos, setPhotos] = (0, _react.useState)([]);
72
- const [mode, setMode] = (0, _react.useState)((_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
73
+ const [mode, setMode] = (0, _react.useState)(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
73
74
  const {
74
75
  confirmApi,
75
76
  contextHolder
76
77
  } = (0, _hooks.useConfirm)();
77
78
  const [cameraError, setCameraError] = (0, _react.useState)();
79
+
80
+ // 聚焦点状态
81
+ const [focusPoint, setFocusPoint] = (0, _react.useState)(null);
82
+
83
+ // 防抖定时器
84
+ const focusTimerRef = (0, _react.useRef)(null);
85
+
86
+ // 点击聚焦处理(带防抖)
87
+ const handleFocus = (0, _react.useCallback)((x, y) => {
88
+ // 清除之前的防抖定时器
89
+ if (focusTimerRef.current) {
90
+ clearTimeout(focusTimerRef.current);
91
+ }
92
+
93
+ // 更新聚焦指示器位置
94
+ setFocusPoint({
95
+ x,
96
+ y
97
+ });
98
+
99
+ // 防抖延迟执行聚焦
100
+ focusTimerRef.current = setTimeout(async () => {
101
+ try {
102
+ var _camera$current;
103
+ await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.focus({
104
+ x,
105
+ y
106
+ }));
107
+ } catch (error) {
108
+ // 忽略 focus-canceled 错误
109
+ if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
110
+ console.error('Focus error:', error);
111
+ }
112
+ }
113
+ // 延迟清除指示器
114
+ setTimeout(() => setFocusPoint(null), 400);
115
+ }, 300);
116
+ }, []);
117
+ (0, _react.useEffect)(() => {
118
+ return () => {
119
+ if (focusTimerRef.current) {
120
+ clearTimeout(focusTimerRef.current);
121
+ }
122
+ };
123
+ }, []);
78
124
  if (cameraError) {
79
125
  return /*#__PURE__*/_react.default.createElement(_Error.default, {
80
126
  data: cameraError,
@@ -126,6 +172,15 @@ const Camera = ({
126
172
  audio: showVideo(),
127
173
  resizeMode: resizeMode,
128
174
  format: format
175
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
176
+ style: styles.cameraOverlay,
177
+ onPress: event => {
178
+ const {
179
+ locationX,
180
+ locationY
181
+ } = event.nativeEvent;
182
+ handleFocus(locationX, locationY);
183
+ }
129
184
  }), /*#__PURE__*/_react.default.createElement(_setup.SetUp, {
130
185
  isMultiCam: false,
131
186
  onChange: val => flash = val,
@@ -165,12 +220,11 @@ const Camera = ({
165
220
  setVideoResolution(item.videoResolution);
166
221
  },
167
222
  takePress: async () => {
168
- var _camera$current;
169
- const photo = await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.takePhoto({
223
+ var _camera$current2;
224
+ const photo = await ((_camera$current2 = camera.current) === null || _camera$current2 === void 0 ? void 0 : _camera$current2.takePhoto({
170
225
  flash,
171
226
  enableShutterSound: enableShutterSound
172
227
  }));
173
- console.log('photo', photo);
174
228
  if (photo) {
175
229
  setPhotos(p => [...p, {
176
230
  ...photo,
@@ -240,13 +294,25 @@ const Camera = ({
240
294
  }
241
295
  })), data.watermark && /*#__PURE__*/_react.default.createElement(_watermark.WaterMarkRender, {
242
296
  data: data.watermark
243
- }), contextHolder));
297
+ }), contextHolder, focusPoint && /*#__PURE__*/_react.default.createElement(_FocusIndicator.default, {
298
+ key: `${focusPoint.x}-${focusPoint.y}`,
299
+ x: focusPoint.x,
300
+ y: focusPoint.y
301
+ })));
244
302
  };
245
303
  var _default = exports.default = Camera;
246
304
  const styles = _reactNative.StyleSheet.create({
247
305
  camera: {
248
306
  flex: 1,
249
307
  backgroundColor: '#000'
308
+ },
309
+ cameraOverlay: {
310
+ position: 'absolute',
311
+ top: 0,
312
+ left: 0,
313
+ right: 0,
314
+ bottom: 0,
315
+ zIndex: 1
250
316
  }
251
317
  });
252
318
  //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_reactNativeVisionCamera","_reactNativeSafeAreaContext","_NoCamera","_interopRequireDefault","_footer","_setup","_preview","_reactNativeGestureHandler","_hooks","_watermark","_Error","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PhotoAspectRatio","exports","enableShutterSound","flash","Camera","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","useState","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","useCameraDevice","physicalDevices","onError","useCallback","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","useCameraFormat","photoAspectRatio","videoAspectRatio","camera","useRef","photos","setPhotos","mode","setMode","confirmApi","contextHolder","useConfirm","cameraError","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","code","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","GestureHandlerRootView","SafeAreaProvider","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","SetUp","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","Footer","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current","current","takePhoto","console","log","p","frontTime","watermark","savePress","rotatePress","ViewShotWatermark","at","value","photosList","PreViewContainer","visible","SinglePre","uri","onBack","onSave","PreView","onDel","snapItem","isConfirm","photoList","filter","WaterMarkRender","_default","StyleSheet","create","flex","backgroundColor"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_reactNativeVisionCamera","_reactNativeSafeAreaContext","_NoCamera","_interopRequireDefault","_FocusIndicator","_footer","_setup","_preview","_reactNativeGestureHandler","_hooks","_watermark","_Error","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PhotoAspectRatio","exports","enableShutterSound","flash","Camera","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","useState","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","useCameraDevice","physicalDevices","onError","useCallback","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","useCameraFormat","photoAspectRatio","videoAspectRatio","camera","useRef","photos","setPhotos","mode","setMode","confirmApi","contextHolder","useConfirm","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","useEffect","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","GestureHandlerRootView","SafeAreaProvider","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","Pressable","cameraOverlay","event","locationX","locationY","nativeEvent","SetUp","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","Footer","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","ViewShotWatermark","at","value","photosList","PreViewContainer","visible","SinglePre","uri","onBack","onSave","PreView","onDel","snapItem","isConfirm","photoList","filter","WaterMarkRender","key","_default","StyleSheet","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ /*
12
+ * @Author: 刘利军
13
+ * @Date: 2024-12-02 13:48:40
14
+ * @LastEditors: 刘利军
15
+ * @LastEditTime: 2025-01-17 08:44:43
16
+ * @Description: 聚焦指示器组件
17
+ * @PageName:
18
+ */
19
+
20
+ const FocusIndicator = ({
21
+ x,
22
+ y
23
+ }) => {
24
+ const scale = (0, _react.useRef)(new _reactNative.Animated.Value(1.2));
25
+ const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(1));
26
+ (0, _react.useEffect)(() => {
27
+ scale.current.setValue(1.2);
28
+ opacity.current.setValue(1);
29
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(scale.current, {
30
+ toValue: 1,
31
+ duration: 200,
32
+ useNativeDriver: true
33
+ }), _reactNative.Animated.timing(opacity.current, {
34
+ toValue: 0,
35
+ duration: 500,
36
+ delay: 400,
37
+ useNativeDriver: true
38
+ })]).start();
39
+ }, [x, y]);
40
+ const size = 70;
41
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
42
+ style: [styles.focusIndicator, {
43
+ left: x - size / 2,
44
+ top: y - size / 2,
45
+ width: size,
46
+ height: size,
47
+ transform: [{
48
+ scale: scale.current
49
+ }],
50
+ opacity: opacity.current
51
+ }]
52
+ });
53
+ };
54
+ var _default = exports.default = FocusIndicator;
55
+ const styles = _reactNative.StyleSheet.create({
56
+ focusIndicator: {
57
+ position: 'absolute',
58
+ borderRadius: 35,
59
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
60
+ zIndex: 999,
61
+ elevation: 10
62
+ }
63
+ });
64
+ //# sourceMappingURL=FocusIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FocusIndicator","x","y","scale","useRef","Animated","Value","opacity","useEffect","current","setValue","parallel","timing","toValue","duration","useNativeDriver","delay","start","size","createElement","View","style","styles","focusIndicator","left","top","width","height","transform","_default","exports","StyleSheet","create","position","borderRadius","backgroundColor","zIndex","elevation"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
15
15
  * @Author: 刘利军
16
16
  * @Date: 2024-12-16 09:54:00
17
17
  * @LastEditors: 刘利军
18
- * @LastEditTime: 2025-08-20 13:25:43
18
+ * @LastEditTime: 2024-12-27 10:55:55
19
19
  * @Description:
20
20
  * @PageName:
21
21
  */
@@ -2,16 +2,17 @@
2
2
  * @Author: 刘利军
3
3
  * @Date: 2024-12-02 13:48:40
4
4
  * @LastEditors: 刘利军
5
- * @LastEditTime: 2025-08-27 16:58:51
5
+ * @LastEditTime: 2025-01-17 08:44:43
6
6
  * @Description:
7
7
  * @PageName:
8
8
  */
9
9
 
10
- import { StyleSheet } from 'react-native';
11
- import React, { useCallback, useRef, useState } from 'react';
10
+ import { StyleSheet, Pressable } from 'react-native';
11
+ import React, { useCallback, useRef, useState, useEffect } from 'react';
12
12
  import { Camera as VisionCamera, useCameraDevice, useCameraFormat } from 'react-native-vision-camera';
13
13
  import { SafeAreaProvider } from 'react-native-safe-area-context';
14
14
  import NoCamera from './NoCamera';
15
+ import FocusIndicator from './FocusIndicator';
15
16
  import { Footer } from './footer';
16
17
  import { SetUp } from './setup';
17
18
  import { PreView, PreViewContainer, SinglePre } from './preview';
@@ -35,10 +36,10 @@ const Camera = ({
35
36
  cameraMode,
36
37
  dataRetainedMode
37
38
  } = data;
38
- const [position, setPosition] = useState(((_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
39
+ const [position, setPosition] = useState((cameraMode === null || cameraMode === void 0 || (_cameraMode$ = cameraMode[0]) === null || _cameraMode$ === void 0 ? void 0 : _cameraMode$.type) || 'back');
39
40
  const [preVis, setPreVis] = useState(false);
40
- const [photoResolution, setPhotoResolution] = useState((_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
41
- const [videoResolution, setVideoResolution] = useState((_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
41
+ const [photoResolution, setPhotoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$2 = cameraMode[0]) === null || _cameraMode$2 === void 0 ? void 0 : _cameraMode$2.photoResolution);
42
+ const [videoResolution, setVideoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
42
43
  const [watermarkUriVis, setWatermarkUriVis] = useState(false);
43
44
  const device = useCameraDevice(position, {
44
45
  physicalDevices: ['ultra-wide-angle-camera', 'wide-angle-camera', 'telephoto-camera']
@@ -60,12 +61,57 @@ const Camera = ({
60
61
  }]);
61
62
  const camera = useRef(null);
62
63
  const [photos, setPhotos] = useState([]);
63
- const [mode, setMode] = useState((_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
64
+ const [mode, setMode] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
64
65
  const {
65
66
  confirmApi,
66
67
  contextHolder
67
68
  } = useConfirm();
68
69
  const [cameraError, setCameraError] = useState();
70
+
71
+ // 聚焦点状态
72
+ const [focusPoint, setFocusPoint] = useState(null);
73
+
74
+ // 防抖定时器
75
+ const focusTimerRef = useRef(null);
76
+
77
+ // 点击聚焦处理(带防抖)
78
+ const handleFocus = useCallback((x, y) => {
79
+ // 清除之前的防抖定时器
80
+ if (focusTimerRef.current) {
81
+ clearTimeout(focusTimerRef.current);
82
+ }
83
+
84
+ // 更新聚焦指示器位置
85
+ setFocusPoint({
86
+ x,
87
+ y
88
+ });
89
+
90
+ // 防抖延迟执行聚焦
91
+ focusTimerRef.current = setTimeout(async () => {
92
+ try {
93
+ var _camera$current;
94
+ await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.focus({
95
+ x,
96
+ y
97
+ }));
98
+ } catch (error) {
99
+ // 忽略 focus-canceled 错误
100
+ if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
101
+ console.error('Focus error:', error);
102
+ }
103
+ }
104
+ // 延迟清除指示器
105
+ setTimeout(() => setFocusPoint(null), 400);
106
+ }, 300);
107
+ }, []);
108
+ useEffect(() => {
109
+ return () => {
110
+ if (focusTimerRef.current) {
111
+ clearTimeout(focusTimerRef.current);
112
+ }
113
+ };
114
+ }, []);
69
115
  if (cameraError) {
70
116
  return /*#__PURE__*/React.createElement(Error, {
71
117
  data: cameraError,
@@ -117,6 +163,15 @@ const Camera = ({
117
163
  audio: showVideo(),
118
164
  resizeMode: resizeMode,
119
165
  format: format
166
+ }), /*#__PURE__*/React.createElement(Pressable, {
167
+ style: styles.cameraOverlay,
168
+ onPress: event => {
169
+ const {
170
+ locationX,
171
+ locationY
172
+ } = event.nativeEvent;
173
+ handleFocus(locationX, locationY);
174
+ }
120
175
  }), /*#__PURE__*/React.createElement(SetUp, {
121
176
  isMultiCam: false,
122
177
  onChange: val => flash = val,
@@ -156,12 +211,11 @@ const Camera = ({
156
211
  setVideoResolution(item.videoResolution);
157
212
  },
158
213
  takePress: async () => {
159
- var _camera$current;
160
- const photo = await ((_camera$current = camera.current) === null || _camera$current === void 0 ? void 0 : _camera$current.takePhoto({
214
+ var _camera$current2;
215
+ const photo = await ((_camera$current2 = camera.current) === null || _camera$current2 === void 0 ? void 0 : _camera$current2.takePhoto({
161
216
  flash,
162
217
  enableShutterSound: enableShutterSound
163
218
  }));
164
- console.log('photo', photo);
165
219
  if (photo) {
166
220
  setPhotos(p => [...p, {
167
221
  ...photo,
@@ -231,13 +285,25 @@ const Camera = ({
231
285
  }
232
286
  })), data.watermark && /*#__PURE__*/React.createElement(WaterMarkRender, {
233
287
  data: data.watermark
234
- }), contextHolder));
288
+ }), contextHolder, focusPoint && /*#__PURE__*/React.createElement(FocusIndicator, {
289
+ key: `${focusPoint.x}-${focusPoint.y}`,
290
+ x: focusPoint.x,
291
+ y: focusPoint.y
292
+ })));
235
293
  };
236
294
  export default Camera;
237
295
  const styles = StyleSheet.create({
238
296
  camera: {
239
297
  flex: 1,
240
298
  backgroundColor: '#000'
299
+ },
300
+ cameraOverlay: {
301
+ position: 'absolute',
302
+ top: 0,
303
+ left: 0,
304
+ right: 0,
305
+ bottom: 0,
306
+ zIndex: 1
241
307
  }
242
308
  });
243
309
  //# sourceMappingURL=Camera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","React","useCallback","useRef","useState","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","physicalDevices","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","code","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current","current","takePhoto","console","log","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","create","flex","backgroundColor"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Pressable","React","useCallback","useRef","useState","useEffect","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","FocusIndicator","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","physicalDevices","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","cameraOverlay","event","locationX","locationY","nativeEvent","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","key","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ /*
2
+ * @Author: 刘利军
3
+ * @Date: 2024-12-02 13:48:40
4
+ * @LastEditors: 刘利军
5
+ * @LastEditTime: 2025-01-17 08:44:43
6
+ * @Description: 聚焦指示器组件
7
+ * @PageName:
8
+ */
9
+
10
+ import { StyleSheet, Animated } from 'react-native';
11
+ import React, { useRef, useEffect } from 'react';
12
+ const FocusIndicator = ({
13
+ x,
14
+ y
15
+ }) => {
16
+ const scale = useRef(new Animated.Value(1.2));
17
+ const opacity = useRef(new Animated.Value(1));
18
+ useEffect(() => {
19
+ scale.current.setValue(1.2);
20
+ opacity.current.setValue(1);
21
+ Animated.parallel([Animated.timing(scale.current, {
22
+ toValue: 1,
23
+ duration: 200,
24
+ useNativeDriver: true
25
+ }), Animated.timing(opacity.current, {
26
+ toValue: 0,
27
+ duration: 500,
28
+ delay: 400,
29
+ useNativeDriver: true
30
+ })]).start();
31
+ }, [x, y]);
32
+ const size = 70;
33
+ return /*#__PURE__*/React.createElement(Animated.View, {
34
+ style: [styles.focusIndicator, {
35
+ left: x - size / 2,
36
+ top: y - size / 2,
37
+ width: size,
38
+ height: size,
39
+ transform: [{
40
+ scale: scale.current
41
+ }],
42
+ opacity: opacity.current
43
+ }]
44
+ });
45
+ };
46
+ export default FocusIndicator;
47
+ const styles = StyleSheet.create({
48
+ focusIndicator: {
49
+ position: 'absolute',
50
+ borderRadius: 35,
51
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
52
+ zIndex: 999,
53
+ elevation: 10
54
+ }
55
+ });
56
+ //# sourceMappingURL=FocusIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Animated","React","useRef","useEffect","FocusIndicator","x","y","scale","Value","opacity","current","setValue","parallel","timing","toValue","duration","useNativeDriver","delay","start","size","createElement","View","style","styles","focusIndicator","left","top","width","height","transform","create","position","borderRadius","backgroundColor","zIndex","elevation"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.tsx"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AACnD,OAAOC,KAAK,IAAIC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAOhD,MAAMC,cAA6C,GAAGA,CAAC;EAAEC,CAAC;EAAEC;AAAE,CAAC,KAAK;EAClE,MAAMC,KAAK,GAAGL,MAAM,CAAC,IAAIF,QAAQ,CAACQ,KAAK,CAAC,GAAG,CAAC,CAAC;EAC7C,MAAMC,OAAO,GAAGP,MAAM,CAAC,IAAIF,QAAQ,CAACQ,KAAK,CAAC,CAAC,CAAC,CAAC;EAE7CL,SAAS,CAAC,MAAM;IACdI,KAAK,CAACG,OAAO,CAACC,QAAQ,CAAC,GAAG,CAAC;IAC3BF,OAAO,CAACC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAAC;IAE3BX,QAAQ,CAACY,QAAQ,CAAC,CAChBZ,QAAQ,CAACa,MAAM,CAACN,KAAK,CAACG,OAAO,EAAE;MAC7BI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFhB,QAAQ,CAACa,MAAM,CAACJ,OAAO,CAACC,OAAO,EAAE;MAC/BI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbE,KAAK,EAAE,GAAG;MACVD,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CAACE,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACb,CAAC,EAAEC,CAAC,CAAC,CAAC;EAEV,MAAMa,IAAI,GAAG,EAAE;EAEf,oBACElB,KAAA,CAAAmB,aAAA,CAACpB,QAAQ,CAACqB,IAAI;IACZC,KAAK,EAAE,CACLC,MAAM,CAACC,cAAc,EACrB;MACEC,IAAI,EAAEpB,CAAC,GAAGc,IAAI,GAAG,CAAC;MAClBO,GAAG,EAAEpB,CAAC,GAAGa,IAAI,GAAG,CAAC;MACjBQ,KAAK,EAAER,IAAI;MACXS,MAAM,EAAET,IAAI;MACZU,SAAS,EAAE,CAAC;QAAEtB,KAAK,EAAEA,KAAK,CAACG;MAAQ,CAAC,CAAC;MACrCD,OAAO,EAAEA,OAAO,CAACC;IACnB,CAAC;EACD,CACH,CAAC;AAEN,CAAC;AAED,eAAeN,cAAc;AAE7B,MAAMmB,MAAM,GAAGxB,UAAU,CAAC+B,MAAM,CAAC;EAC/BN,cAAc,EAAE;IACdO,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,0BAA0B;IAC3CC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
  * @Author: 刘利军
3
3
  * @Date: 2024-12-16 09:54:00
4
4
  * @LastEditors: 刘利军
5
- * @LastEditTime: 2025-08-20 13:25:43
5
+ * @LastEditTime: 2024-12-27 10:55:55
6
6
  * @Description:
7
7
  * @PageName:
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/camera/Camera.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAU7D,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,WAAW,EAKjB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAGrD,CAAC;AAIF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CA+OA,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../src/camera/Camera.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAWxE,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,WAAW,EAKjB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAGrD,CAAC;AAIF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CA4SA,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface FocusIndicatorProps {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ declare const FocusIndicator: React.FC<FocusIndicatorProps>;
7
+ export default FocusIndicator;
8
+ //# sourceMappingURL=FocusIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusIndicator.d.ts","sourceRoot":"","sources":["../../../../src/camera/FocusIndicator.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,UAAU,mBAAmB;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwCjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unif/react-native-camera",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "camera",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -78,7 +78,7 @@
78
78
  "react-native-reanimated-carousel": "^4.0.0-canary.22",
79
79
  "react-native-safe-area-context": "5.0.0",
80
80
  "react-native-view-shot": "^4.0.3",
81
- "react-native-vision-camera": "^4.7.1",
81
+ "react-native-vision-camera": "^4.7.3",
82
82
  "react-native-webview": "^13.0.0",
83
83
  "release-it": "^15.0.0",
84
84
  "turbo": "^1.10.7",
@@ -2,13 +2,13 @@
2
2
  * @Author: 刘利军
3
3
  * @Date: 2024-12-02 13:48:40
4
4
  * @LastEditors: 刘利军
5
- * @LastEditTime: 2025-08-27 16:58:51
5
+ * @LastEditTime: 2025-01-17 08:44:43
6
6
  * @Description:
7
7
  * @PageName:
8
8
  */
9
9
 
10
- import { StyleSheet } from 'react-native';
11
- import React, { useCallback, useRef, useState } from 'react';
10
+ import { StyleSheet, Pressable } from 'react-native';
11
+ import React, { useCallback, useRef, useState, useEffect } from 'react';
12
12
  import {
13
13
  CameraRuntimeError,
14
14
  Camera as VisionCamera,
@@ -17,6 +17,7 @@ import {
17
17
  } from 'react-native-vision-camera';
18
18
  import { SafeAreaProvider } from 'react-native-safe-area-context';
19
19
  import NoCamera from './NoCamera';
20
+ import FocusIndicator from './FocusIndicator';
20
21
 
21
22
  import {
22
23
  type CameraBack,
@@ -50,17 +51,17 @@ const Camera: React.FC<{
50
51
  const { cameraMode, dataRetainedMode } = data;
51
52
 
52
53
  const [position, setPosition] = useState<CameraType>(
53
- cameraMode[0]?.type || 'back'
54
+ cameraMode?.[0]?.type || 'back'
54
55
  );
55
56
  const [preVis, setPreVis] = useState(false);
56
57
 
57
58
  const [photoResolution, setPhotoResolution] = useState<
58
59
  Resolution | undefined
59
- >(cameraMode[0]?.photoResolution);
60
+ >(cameraMode?.[0]?.photoResolution);
60
61
 
61
62
  const [videoResolution, setVideoResolution] = useState<
62
63
  Resolution | undefined
63
- >(cameraMode[0]?.videoResolution);
64
+ >(cameraMode?.[0]?.videoResolution);
64
65
 
65
66
  const [watermarkUriVis, setWatermarkUriVis] = useState(false);
66
67
  const device = useCameraDevice(position, {
@@ -70,7 +71,6 @@ const Camera: React.FC<{
70
71
  'telephoto-camera',
71
72
  ],
72
73
  });
73
-
74
74
  const onError = useCallback((error: CameraRuntimeError) => {
75
75
  setCameraError(error);
76
76
  }, []);
@@ -89,11 +89,57 @@ const Camera: React.FC<{
89
89
  ]);
90
90
  const camera = useRef<VisionCamera>(null);
91
91
  const [photos, setPhotos] = useState<CustomPhotoFile[]>([]);
92
- const [mode, setMode] = useState(cameraMode[0]?.mode as CameraMode);
92
+ const [mode, setMode] = useState(cameraMode?.[0]?.mode as CameraMode);
93
93
 
94
94
  const { confirmApi, contextHolder } = useConfirm();
95
95
  const [cameraError, setCameraError] = useState<CameraRuntimeError>();
96
96
 
97
+ // 聚焦点状态
98
+ const [focusPoint, setFocusPoint] = useState<{ x: number; y: number } | null>(
99
+ null
100
+ );
101
+
102
+ // 防抖定时器
103
+ const focusTimerRef = useRef<NodeJS.Timeout | null>(null);
104
+
105
+ // 点击聚焦处理(带防抖)
106
+ const handleFocus = useCallback((x: number, y: number) => {
107
+ // 清除之前的防抖定时器
108
+ if (focusTimerRef.current) {
109
+ clearTimeout(focusTimerRef.current);
110
+ }
111
+
112
+ // 更新聚焦指示器位置
113
+ setFocusPoint({ x, y });
114
+
115
+ // 防抖延迟执行聚焦
116
+ focusTimerRef.current = setTimeout(async () => {
117
+ try {
118
+ await camera.current?.focus({ x, y });
119
+ } catch (error) {
120
+ // 忽略 focus-canceled 错误
121
+ if (
122
+ error &&
123
+ typeof error === 'object' &&
124
+ 'code' in error &&
125
+ error.code !== 'capture/focus-canceled'
126
+ ) {
127
+ console.error('Focus error:', error);
128
+ }
129
+ }
130
+ // 延迟清除指示器
131
+ setTimeout(() => setFocusPoint(null), 400);
132
+ }, 300);
133
+ }, []);
134
+
135
+ useEffect(() => {
136
+ return () => {
137
+ if (focusTimerRef.current) {
138
+ clearTimeout(focusTimerRef.current);
139
+ }
140
+ };
141
+ }, []);
142
+
97
143
  if (cameraError) {
98
144
  return (
99
145
  <Error data={cameraError} onPress={() => setCameraError(undefined)} />
@@ -152,6 +198,14 @@ const Camera: React.FC<{
152
198
  format={format}
153
199
  />
154
200
 
201
+ <Pressable
202
+ style={styles.cameraOverlay}
203
+ onPress={(event) => {
204
+ const { locationX, locationY } = event.nativeEvent;
205
+ handleFocus(locationX, locationY);
206
+ }}
207
+ />
208
+
155
209
  <SetUp
156
210
  isMultiCam={false}
157
211
  onChange={(val) => (flash = val)}
@@ -196,7 +250,6 @@ const Camera: React.FC<{
196
250
  flash,
197
251
  enableShutterSound: enableShutterSound,
198
252
  });
199
- console.log('photo', photo);
200
253
  if (photo) {
201
254
  setPhotos((p) => [
202
255
  ...p,
@@ -282,6 +335,15 @@ const Camera: React.FC<{
282
335
  </PreViewContainer>
283
336
  {data.watermark && <WaterMarkRender data={data.watermark} />}
284
337
  {contextHolder}
338
+
339
+ {/* 聚焦指示器 */}
340
+ {focusPoint && (
341
+ <FocusIndicator
342
+ key={`${focusPoint.x}-${focusPoint.y}`}
343
+ x={focusPoint.x}
344
+ y={focusPoint.y}
345
+ />
346
+ )}
285
347
  </SafeAreaProvider>
286
348
  </GestureHandlerRootView>
287
349
  );
@@ -291,4 +353,12 @@ export default Camera;
291
353
 
292
354
  const styles = StyleSheet.create({
293
355
  camera: { flex: 1, backgroundColor: '#000' },
356
+ cameraOverlay: {
357
+ position: 'absolute',
358
+ top: 0,
359
+ left: 0,
360
+ right: 0,
361
+ bottom: 0,
362
+ zIndex: 1,
363
+ },
294
364
  });
@@ -0,0 +1,70 @@
1
+ /*
2
+ * @Author: 刘利军
3
+ * @Date: 2024-12-02 13:48:40
4
+ * @LastEditors: 刘利军
5
+ * @LastEditTime: 2025-01-17 08:44:43
6
+ * @Description: 聚焦指示器组件
7
+ * @PageName:
8
+ */
9
+
10
+ import { StyleSheet, Animated } from 'react-native';
11
+ import React, { useRef, useEffect } from 'react';
12
+
13
+ interface FocusIndicatorProps {
14
+ x: number;
15
+ y: number;
16
+ }
17
+
18
+ const FocusIndicator: React.FC<FocusIndicatorProps> = ({ x, y }) => {
19
+ const scale = useRef(new Animated.Value(1.2));
20
+ const opacity = useRef(new Animated.Value(1));
21
+
22
+ useEffect(() => {
23
+ scale.current.setValue(1.2);
24
+ opacity.current.setValue(1);
25
+
26
+ Animated.parallel([
27
+ Animated.timing(scale.current, {
28
+ toValue: 1,
29
+ duration: 200,
30
+ useNativeDriver: true,
31
+ }),
32
+ Animated.timing(opacity.current, {
33
+ toValue: 0,
34
+ duration: 500,
35
+ delay: 400,
36
+ useNativeDriver: true,
37
+ }),
38
+ ]).start();
39
+ }, [x, y]);
40
+
41
+ const size = 70;
42
+
43
+ return (
44
+ <Animated.View
45
+ style={[
46
+ styles.focusIndicator,
47
+ {
48
+ left: x - size / 2,
49
+ top: y - size / 2,
50
+ width: size,
51
+ height: size,
52
+ transform: [{ scale: scale.current }],
53
+ opacity: opacity.current,
54
+ },
55
+ ]}
56
+ />
57
+ );
58
+ };
59
+
60
+ export default FocusIndicator;
61
+
62
+ const styles = StyleSheet.create({
63
+ focusIndicator: {
64
+ position: 'absolute',
65
+ borderRadius: 35,
66
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
67
+ zIndex: 999,
68
+ elevation: 10,
69
+ },
70
+ });
@@ -2,7 +2,7 @@
2
2
  * @Author: 刘利军
3
3
  * @Date: 2024-12-16 09:54:00
4
4
  * @LastEditors: 刘利军
5
- * @LastEditTime: 2025-08-20 13:25:43
5
+ * @LastEditTime: 2024-12-27 10:55:55
6
6
  * @Description:
7
7
  * @PageName:
8
8
  */