Unverified Commit d1ba0ba6 authored by 少言's avatar 少言 Committed by GitHub

Merge pull request #121 from Koppel-Zhou/master

feature: 补充遗漏的asyncOpenCamera方法
parents 1add21ce bb8f4eca
......@@ -284,7 +284,27 @@ STImagePicke.removeAllPhoto()
```
### 调用相机
相机功能调用 `openCamera` 方法,一样支持 Callback 和 Promise 两种形式,结果参数也保持一致。
相机功能调用方法,一样支持 Callback 和 Promise 两种形式,结果参数也保持一致。
```javascript
//Callback方式
SyanImagePicker.openCamera(options, (err, photos) => {
if (err) {
// 取消选择
return;
}
// 选择成功,渲染图片
// ...
})
//Promise方式
SYImagePicker.asyncOpenCamera(options)
.then(()=>{
...
})
.catch(()=>{
...
})
```
### 删除缓存
```javascript
......
......@@ -84,6 +84,14 @@ public class RNSyanImagePickerModule extends ReactContextBaseJavaModule {
this.openCamera();
}
@ReactMethod
public void asyncOpenCamera(ReadableMap options, Promise promise) {
this.cameraOptions = options;
this.mPickerCallback = null;
this.mPickerPromise = promise;
this.openCamera();
}
/**
* 缓存清除
* 包括裁剪和压缩后的缓存,要在上传成功后调用,注意:需要系统sd卡权限
......
......@@ -104,6 +104,14 @@ export default {
RNSyanImagePicker.openCamera(optionObj, callback)
},
asyncOpenCamera(options) {
const optionObj = {
...defaultOptions,
...options,
};
return RNSyanImagePicker.asyncOpenCamera(optionObj);
},
/**
* 清除缓存
*/
......
......@@ -55,7 +55,7 @@ RCT_EXPORT_METHOD(showImagePicker:(NSDictionary *)options
RCT_REMAP_METHOD(asyncShowImagePicker,
options:(NSDictionary *)options
resolver:(RCTPromiseResolveBlock)resolve
showImagePickerResolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject) {
self.cameraOptions = options;
self.resolveBlock = resolve;
......@@ -72,6 +72,17 @@ RCT_EXPORT_METHOD(openCamera:(NSDictionary *)options callback:(RCTResponseSender
[self takePhoto];
}
RCT_REMAP_METHOD(asyncOpenCamera,
options:(NSDictionary *)options
openCameraResolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject) {
self.cameraOptions = options;
self.resolveBlock = resolve;
self.rejectBlock = reject;
self.callback = nil;
[self takePhoto];
}
RCT_EXPORT_METHOD(deleteCache) {
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath: [NSString stringWithFormat:@"%@ImageCaches", NSTemporaryDirectory()] error:nil];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment