@hotta/react-native-imagepicker 0.1.2 → 0.1.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 基于react-native0.82版本的图片选择器(TurboModule)
2
2
 
3
- This is a fork of [react-native-syan-image-picker]([GitHub - syanbo/react-native-syan-image-picker: React-Native 多图片选择 支持裁剪 压缩](https://github.com/syanbo/react-native-syan-image-picker))
3
+ This is a fork of [react-native-syan-image-picker](https://github.com/syanbo/react-native-syan-image-picker)
4
4
 
5
5
  ### 原生框架依赖
6
6
 
@@ -8,6 +8,12 @@ This is a fork of [react-native-syan-image-picker]([GitHub - syanbo/react-nativ
8
8
 
9
9
  - iOS:[TZImagePickerController](https://github.com/banchichen/TZImagePickerController) - by [banchichen](https://github.com/banchichen)
10
10
 
11
+ ### 安装
12
+
13
+ ```
14
+ yarn add @hotta/react-native-imagepicker@0.1.3
15
+ ```
16
+
11
17
  ### 使用方法
12
18
 
13
19
  ```
@@ -7,6 +7,8 @@
7
7
  @interface NativeImagePicker ()
8
8
 
9
9
  @property (nonatomic, strong) UIImagePickerController *imagePickerVc;
10
+ @property (nonatomic, strong) NSDictionary *pickOptions;
11
+
10
12
  /**
11
13
  保存Promise的resolve block
12
14
  */
@@ -25,9 +27,7 @@
25
27
  @property (nonatomic, strong) NSMutableArray *selectedAssets;
26
28
  @end
27
29
  @implementation NativeImagePicker
28
- {
29
- std::optional<JS::NativeImagePicker::ImagePickerOption> _cameraOptions;
30
- }
30
+
31
31
 
32
32
  - (instancetype)init {
33
33
  self = [super init];
@@ -52,8 +52,8 @@
52
52
  _selectedAssets = nil;
53
53
  }
54
54
 
55
- - (void)asyncShowImagePicker:(JS::NativeImagePicker::ImagePickerOption &)options resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
56
- _cameraOptions = options;
55
+ - (void)asyncShowImagePicker:(NSDictionary *)options resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
56
+ self.pickOptions = options;
57
57
  self.resolveBlock = resolve;
58
58
  self.rejectBlock = reject;
59
59
  self.callback = nil;
@@ -62,21 +62,21 @@
62
62
 
63
63
  - (void)openImagePicker {
64
64
  // 照片最大可选张数
65
- NSInteger imageCount = _cameraOptions->imageCount();
65
+ NSInteger imageCount = [self.pickOptions sy_integerForKey:@"imageCount"];
66
66
  // 显示内部拍照按钮
67
- BOOL isCamera = _cameraOptions->isCamera();
68
- BOOL isCrop = _cameraOptions->isCrop();
69
- BOOL isGif = _cameraOptions->isGif();
70
- BOOL showCropCircle = _cameraOptions->showCropCircle();
71
- BOOL isRecordSelected = _cameraOptions->isRecordSelected();
72
- BOOL allowPickingOriginalPhoto = _cameraOptions->allowPickingOriginalPhoto();
73
- BOOL allowPickingMultipleVideo = _cameraOptions->allowPickingMultipleVideo();
74
- BOOL sortAscendingByModificationDate = _cameraOptions->sortAscendingByModificationDate();
75
- BOOL showSelectedIndex = _cameraOptions->showSelectedIndex();
76
- NSInteger CropW = _cameraOptions->CropW();
77
- NSInteger CropH = _cameraOptions->CropH();
78
- NSInteger circleCropRadius = _cameraOptions->circleCropRadius();
79
- NSInteger quality = _cameraOptions->quality();
67
+ BOOL isCamera = [self.pickOptions sy_boolForKey:@"isCamera"];
68
+ BOOL isCrop = [self.pickOptions sy_boolForKey:@"isCrop"];
69
+ BOOL isGif = [self.pickOptions sy_boolForKey:@"isGif"];
70
+ BOOL showCropCircle = [self.pickOptions sy_boolForKey:@"showCropCircle"];
71
+ BOOL isRecordSelected = [self.pickOptions sy_boolForKey:@"isRecordSelected"];
72
+ BOOL allowPickingOriginalPhoto = [self.pickOptions sy_boolForKey:@"allowPickingOriginalPhoto"];
73
+ BOOL allowPickingMultipleVideo = [self.pickOptions sy_boolForKey:@"allowPickingMultipleVideo"];
74
+ BOOL sortAscendingByModificationDate = [self.pickOptions sy_boolForKey:@"sortAscendingByModificationDate"];
75
+ BOOL showSelectedIndex = [self.pickOptions sy_boolForKey:@"showSelectedIndex"];
76
+ NSInteger CropW = [self.pickOptions sy_integerForKey:@"CropW"];
77
+ NSInteger CropH = [self.pickOptions sy_integerForKey:@"CropH"];
78
+ NSInteger circleCropRadius = [self.pickOptions sy_integerForKey:@"circleCropRadius"];
79
+ NSInteger quality = [self.pickOptions sy_integerForKey:@"quality"];
80
80
 
81
81
  TZImagePickerController *imagePickerVc = [[TZImagePickerController alloc] initWithMaxImagesCount:imageCount delegate:self];
82
82
  imagePickerVc.iconThemeColor = [UIColor colorWithRed:255.0/255.0 green:177.0/255.0 blue:82.0/255.0 alpha:1.0];
@@ -208,12 +208,12 @@
208
208
  [tzImagePickerVc hideProgressHUD];
209
209
 
210
210
  TZAssetModel *assetModel = [[TZImageManager manager] createModelWithAsset:asset];
211
- BOOL isCrop = self->_cameraOptions->isCrop();
212
- BOOL showCropCircle = self->_cameraOptions->showCropCircle();
213
- NSInteger CropW = self->_cameraOptions->CropW();
214
- NSInteger CropH = self->_cameraOptions->CropH();
215
- NSInteger circleCropRadius = self->_cameraOptions->circleCropRadius();
216
- NSInteger quality = self->_cameraOptions->quality();
211
+ BOOL isCrop = [self.pickOptions sy_boolForKey:@"isCrop"];
212
+ BOOL showCropCircle = [self.pickOptions sy_boolForKey:@"showCropCircle"];
213
+ NSInteger CropW = [self.pickOptions sy_integerForKey:@"CropW"];
214
+ NSInteger CropH = [self.pickOptions sy_integerForKey:@"CropH"];
215
+ NSInteger circleCropRadius = [self.pickOptions sy_integerForKey:@"circleCropRadius"];
216
+ NSInteger quality = [self.pickOptions sy_integerForKey:@"quality"];
217
217
 
218
218
  if (isCrop) {
219
219
  TZImagePickerController *imagePicker = [[TZImagePickerController alloc] initCropTypeWithAsset:assetModel.asset photo:image completion:^(UIImage *cropImage, id asset) {
@@ -253,7 +253,7 @@
253
253
  }
254
254
 
255
255
  - (BOOL)isAssetCanSelect:(PHAsset *)asset {
256
- BOOL allowPickingGif = _cameraOptions->isGif();
256
+ BOOL allowPickingGif = [self.pickOptions sy_boolForKey:@"isGif"];
257
257
  BOOL isGIF = [[TZImageManager manager] getAssetType:asset] == TZAssetModelMediaTypePhotoGif;
258
258
  if (!allowPickingGif && isGIF) {
259
259
  return NO;
@@ -311,7 +311,7 @@
311
311
  NSString *fileExtension = [filename pathExtension];
312
312
  NSMutableString *filePath = [NSMutableString string];
313
313
  BOOL isPNG = [fileExtension hasSuffix:@"PNG"] || [fileExtension hasSuffix:@"png"];
314
- BOOL compressFocusAlpha = _cameraOptions->compressFocusAlpha();
314
+ BOOL compressFocusAlpha = [self.pickOptions sy_boolForKey:@"compressFocusAlpha"];
315
315
 
316
316
  if (isPNG) {
317
317
  [filePath appendString:[NSString stringWithFormat:@"%@SyanImageCaches/%@", NSTemporaryDirectory(), filename]];
@@ -328,7 +328,7 @@
328
328
  NSInteger size = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil].fileSize;
329
329
  photo[@"size"] = @(size);
330
330
  photo[@"mediaType"] = @(phAsset.mediaType);
331
- if (_cameraOptions->enableBase64()) {
331
+ if ([self.pickOptions sy_boolForKey:@"enableBase64"]) {
332
332
  if(isPNG){
333
333
  photo[@"base64"] = [NSString stringWithFormat:@"data:image/png;base64,%@", [writeData base64EncodedStringWithOptions:0]];
334
334
  }else{
@@ -350,7 +350,7 @@
350
350
  NSData *writeData = nil;
351
351
  NSMutableString *filePath = [NSMutableString string];
352
352
  BOOL isPNG = [fileExtension hasSuffix:@"PNG"] || [fileExtension hasSuffix:@"png"];
353
- BOOL compressFocusAlpha = _cameraOptions->compressFocusAlpha();
353
+ BOOL compressFocusAlpha = [self.pickOptions sy_boolForKey:@"compressFocusAlpha"];
354
354
 
355
355
  if (isGIF) {
356
356
  image = [UIImage sd_tz_animatedGIFWithData:data];
@@ -374,7 +374,7 @@
374
374
  NSInteger size = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil].fileSize;
375
375
  photo[@"size"] = @(size);
376
376
  photo[@"mediaType"] = @(phAsset.mediaType);
377
- if (_cameraOptions->enableBase64() && !isGIF) {
377
+ if ([self.pickOptions sy_boolForKey:@"enableBase64"] && !isGIF) {
378
378
  if(isPNG){
379
379
  photo[@"base64"] = [NSString stringWithFormat:@"data:image/png;base64,%@", [writeData base64EncodedStringWithOptions:0]];
380
380
  }else{
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import NativeImagePicker from "./NativeImagePicker.js";
3
+ import NativeImagePicker, { defaultOptions } from "./NativeImagePicker.js";
4
4
  const HTNativeImagePicker = (() => {
5
5
  return {
6
- asyncShowImagePicker: NativeImagePicker.asyncShowImagePicker
6
+ asyncShowImagePicker: options => {
7
+ const _options = {
8
+ ...defaultOptions,
9
+ ...options
10
+ };
11
+ return NativeImagePicker.asyncShowImagePicker(_options);
12
+ }
7
13
  };
8
14
  })();
9
15
  export default HTNativeImagePicker;
@@ -1 +1 @@
1
- {"version":3,"names":["NativeImagePicker","HTNativeImagePicker","asyncShowImagePicker"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,iBAAiB,MAAM,wBAAqB;AAEnD,MAAMC,mBAAmB,GAAG,CAAC,MAAM;EACjC,OAAO;IACLC,oBAAoB,EAAEF,iBAAiB,CAACE;EAC1C,CAAC;AACH,CAAC,EAAE,CAAC;AAEJ,eAAeD,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["NativeImagePicker","defaultOptions","HTNativeImagePicker","asyncShowImagePicker","options","_options"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAOA,iBAAiB,IAAIC,cAAc,QAAoD,wBAAqB;AAEnH,MAAMC,mBAAmB,GAAG,CAAC,MAAM;EACjC,OAAO;IACLC,oBAAoB,EAAGC,OAA0B,IAAM;MACrD,MAAMC,QAAQ,GAAG;QAAE,GAAGJ,cAAc;QAAE,GAAGG;MAAQ,CAAC;MAClD,OAAOJ,iBAAiB,CAACG,oBAAoB,CAACE,QAAQ,CAAC;IACzD;EACF,CAAC;AACH,CAAC,EAAE,CAAC;AAEJ,eAAeH,mBAAmB","ignoreList":[]}
@@ -69,7 +69,7 @@ export declare const defaultOptions: {
69
69
  showSelectedIndex: boolean;
70
70
  };
71
71
  export interface Spec extends TurboModule {
72
- asyncShowImagePicker(options: ImagePickerOption): Promise<Array<SelectedPhoto>>;
72
+ asyncShowImagePicker(options: Object): Promise<Array<SelectedPhoto>>;
73
73
  }
74
74
  declare const _default: Spec;
75
75
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeImagePicker.d.ts","sourceRoot":"","sources":["../../../src/NativeImagePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAC,OAAO,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,+BAA+B,EAAE,OAAO,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAC,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAC,MAAM,CAAC;IACZ,MAAM,EAAC,MAAM,CAAA;CACd;AAGH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC;AACF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,oBAAoB,CAAC,OAAO,EAAC,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;CAChF;;AAED,wBAA2E"}
1
+ {"version":3,"file":"NativeImagePicker.d.ts","sourceRoot":"","sources":["../../../src/NativeImagePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAC,OAAO,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,+BAA+B,EAAE,OAAO,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAC,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAC,MAAM,CAAC;IACZ,MAAM,EAAC,MAAM,CAAA;CACd;AAGH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC;AACF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,oBAAoB,CAAC,OAAO,EAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;CACrE;;AAED,wBAA2E"}
@@ -1,5 +1,7 @@
1
+ import { type ImagePickerOption, type SelectedPhoto } from './NativeImagePicker';
2
+ export type { SelectedPhoto, ImagePickerOption };
1
3
  declare const HTNativeImagePicker: {
2
- asyncShowImagePicker: (options: import("./NativeImagePicker").ImagePickerOption) => Promise<Array<import("./NativeImagePicker").SelectedPhoto>>;
4
+ asyncShowImagePicker: (options: ImagePickerOption) => Promise<SelectedPhoto[]>;
3
5
  };
4
6
  export default HTNativeImagePicker;
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB;;CAIrB,CAAA;AAEJ,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAA0B,EAAkB,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpH,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AACjD,QAAA,MAAM,mBAAmB;oCAEW,iBAAiB;CAKjD,CAAA;AAEJ,eAAe,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hotta/react-native-imagepicker",
3
- "version": "0.1.2",
4
- "description": "@ht/react-native-imagepicker",
3
+ "version": "0.1.4",
4
+ "description": "@hotta/react-native-imagepicker",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
7
7
  "exports": {
@@ -73,7 +73,7 @@ export const defaultOptions = {
73
73
  showSelectedIndex: false, // 是否显示序号, 默认不显示
74
74
  };
75
75
  export interface Spec extends TurboModule {
76
- asyncShowImagePicker(options:ImagePickerOption): Promise<Array<SelectedPhoto>>;
76
+ asyncShowImagePicker(options:Object): Promise<Array<SelectedPhoto>>;
77
77
  }
78
78
 
79
79
  export default TurboModuleRegistry.getEnforcing<Spec>('NativeImagePicker');
package/src/index.ts ADDED
@@ -0,0 +1,12 @@
1
+ import NativeImagePicker, { defaultOptions, type ImagePickerOption, type SelectedPhoto } from './NativeImagePicker';
2
+ export type { SelectedPhoto, ImagePickerOption };
3
+ const HTNativeImagePicker = (() => {
4
+ return {
5
+ asyncShowImagePicker: (options: ImagePickerOption ) => {
6
+ const _options = { ...defaultOptions, ...options }
7
+ return NativeImagePicker.asyncShowImagePicker(_options)
8
+ }
9
+ };
10
+ })()
11
+
12
+ export default HTNativeImagePicker
package/src/index.tsx DELETED
@@ -1,9 +0,0 @@
1
- import NativeImagePicker from './NativeImagePicker';
2
-
3
- const HTNativeImagePicker = (() => {
4
- return {
5
- asyncShowImagePicker: NativeImagePicker.asyncShowImagePicker
6
- };
7
- })()
8
-
9
- export default HTNativeImagePicker