@tarojs/taro-rn 4.0.0-beta.7 → 4.0.0-beta.9
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/dist/lib/chooseImage/index.js +1 -39
- package/dist/lib/chooseImage/index.js.map +1 -1
- package/dist/lib/chooseMedia/index.js +19 -0
- package/dist/lib/chooseMedia/index.js.map +1 -0
- package/dist/lib/chooseVideo/index.js +1 -40
- package/dist/lib/chooseVideo/index.js.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/media.js +52 -20
- package/dist/lib/media.js.map +1 -1
- package/dist/lib/request/index.js +1 -1
- package/dist/lib/request/index.js.map +1 -1
- package/dist/lib/scanCode/index.js +1 -1
- package/libList.js +1 -0
- package/package.json +2 -2
- package/src/lib/chooseImage/index.ts +1 -29
- package/src/lib/chooseMedia/index.ts +15 -0
- package/src/lib/chooseVideo/index.ts +1 -31
- package/src/lib/index.ts +1 -0
- package/src/lib/media.ts +64 -19
- package/src/lib/request/index.ts +1 -1
- package/src/lib/scanCode/index.tsx +1 -1
- package/types/runtime.d.ts +3 -0
|
@@ -1,43 +1,5 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { chooseMedia, MEDIA_TYPE } from '../media';
|
|
11
|
-
import { showActionSheet } from '../showActionSheet';
|
|
12
2
|
export function chooseImage(opts) {
|
|
13
|
-
|
|
14
|
-
if ((sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) && (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('album'))) {
|
|
15
|
-
return showImagePicker(opts);
|
|
16
|
-
}
|
|
17
|
-
else if (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) {
|
|
18
|
-
return chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['camera'] }), MEDIA_TYPE.IMAGES);
|
|
19
|
-
}
|
|
20
|
-
return chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['album'] }), MEDIA_TYPE.IMAGES);
|
|
21
|
-
}
|
|
22
|
-
function showImagePicker(options) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const { fail, complete } = options;
|
|
25
|
-
try {
|
|
26
|
-
const res = yield showActionSheet({
|
|
27
|
-
itemList: ['拍照', '从手机相册选择'],
|
|
28
|
-
});
|
|
29
|
-
if (res.tapIndex === 0) {
|
|
30
|
-
return chooseMedia(Object.assign(Object.assign({}, options), { sourceType: ['camera'] }), MEDIA_TYPE.IMAGES);
|
|
31
|
-
}
|
|
32
|
-
if (res.tapIndex === 1) {
|
|
33
|
-
return chooseMedia(Object.assign(Object.assign({}, options), { sourceType: ['album'] }), MEDIA_TYPE.IMAGES);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
const res = { errMsg: 'chooseImage: fail' };
|
|
38
|
-
fail === null || fail === void 0 ? void 0 : fail(res);
|
|
39
|
-
complete === null || complete === void 0 ? void 0 : complete(res);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
3
|
+
return chooseMedia(opts, MEDIA_TYPE.Images);
|
|
42
4
|
}
|
|
43
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/chooseImage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/chooseImage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,UAAU,WAAW,CAAC,IAA6B;IACvD,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { chooseMedia as _chooseMedia, MEDIA_TYPE } from '../media';
|
|
2
|
+
export function chooseMedia(opts) {
|
|
3
|
+
var _a;
|
|
4
|
+
if (((_a = opts.mediaType) === null || _a === void 0 ? void 0 : _a.length) === 1) {
|
|
5
|
+
if (opts.mediaType[0] === 'video') {
|
|
6
|
+
return _chooseMedia(opts, MEDIA_TYPE.Videos);
|
|
7
|
+
}
|
|
8
|
+
else if (opts.mediaType[0] === 'image') {
|
|
9
|
+
return _chooseMedia(opts, MEDIA_TYPE.Images);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return _chooseMedia(opts, MEDIA_TYPE.All);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return _chooseMedia(opts, MEDIA_TYPE.All);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/chooseMedia/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElE,MAAM,UAAU,WAAW,CAAE,IAA6B;;IACxD,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,MAAK,CAAC,EAAE;QAChC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACjC,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;SAC7C;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACxC,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;SAC7C;aAAM;YACL,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;SAC1C;KACF;SAAM;QACL,OAAO,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;KAC1C;AACH,CAAC"}
|
|
@@ -1,44 +1,5 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { chooseMedia, MEDIA_TYPE } from '../media';
|
|
11
|
-
import { showActionSheet } from '../showActionSheet';
|
|
12
2
|
export function chooseVideo(opts) {
|
|
13
|
-
|
|
14
|
-
opts = Object.assign(opts, { sizeType: compressed ? ['compressed'] : [] });
|
|
15
|
-
if ((sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) && (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('album'))) {
|
|
16
|
-
return showVideoPicker(opts);
|
|
17
|
-
}
|
|
18
|
-
else if (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) {
|
|
19
|
-
return chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['camera'] }), MEDIA_TYPE.VIDEOS);
|
|
20
|
-
}
|
|
21
|
-
return chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['album'] }), MEDIA_TYPE.VIDEOS);
|
|
22
|
-
}
|
|
23
|
-
function showVideoPicker(options) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const { fail, complete } = options;
|
|
26
|
-
try {
|
|
27
|
-
const res = yield showActionSheet({
|
|
28
|
-
itemList: ['拍摄', '从手机相册选择'],
|
|
29
|
-
});
|
|
30
|
-
if (res.tapIndex === 0) {
|
|
31
|
-
return chooseMedia(Object.assign(Object.assign({}, options), { sourceType: ['camera'] }), MEDIA_TYPE.VIDEOS);
|
|
32
|
-
}
|
|
33
|
-
if (res.tapIndex === 1) {
|
|
34
|
-
return chooseMedia(Object.assign(Object.assign({}, options), { sourceType: ['album'] }), MEDIA_TYPE.VIDEOS);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
const res = { errMsg: 'chooseVideo: fail' };
|
|
39
|
-
fail === null || fail === void 0 ? void 0 : fail(res);
|
|
40
|
-
complete === null || complete === void 0 ? void 0 : complete(res);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
3
|
+
return chooseMedia(opts, MEDIA_TYPE.Videos);
|
|
43
4
|
}
|
|
44
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/chooseVideo/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/chooseVideo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,UAAU,WAAW,CAAC,IAA6B;IACvD,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC"}
|
package/dist/lib/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from './authorize';
|
|
|
5
5
|
export * from './base64ToArrayBuffer';
|
|
6
6
|
export * from './canIUse';
|
|
7
7
|
export * from './chooseImage';
|
|
8
|
+
export * from './chooseMedia';
|
|
8
9
|
export * from './chooseVideo';
|
|
9
10
|
export * from './clearStorage';
|
|
10
11
|
export * from './clearStorageSync';
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA"}
|
package/dist/lib/media.js
CHANGED
|
@@ -9,16 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { CameraRoll } from "@react-native-camera-roll/camera-roll";
|
|
11
11
|
import { requestCameraPermissionsAsync } from 'expo-camera';
|
|
12
|
-
import
|
|
12
|
+
import { requestMediaLibraryPermissionsAsync, launchImageLibraryAsync, launchCameraAsync, MediaTypeOptions, } from 'expo-image-picker';
|
|
13
13
|
import { successHandler, errorHandler } from '../utils';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
IMAGES: 'Images'
|
|
17
|
-
};
|
|
14
|
+
import { showActionSheet } from "./showActionSheet";
|
|
15
|
+
export const MEDIA_TYPE = MediaTypeOptions;
|
|
18
16
|
export function saveMedia(opts, type, API) {
|
|
19
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
18
|
const { filePath, success, fail, complete } = opts;
|
|
21
|
-
const { granted } = yield
|
|
19
|
+
const { granted } = yield requestMediaLibraryPermissionsAsync();
|
|
22
20
|
if (!granted) {
|
|
23
21
|
const res = { errMsg: 'Permissions denied!' };
|
|
24
22
|
return errorHandler(fail, complete)(res);
|
|
@@ -36,38 +34,72 @@ export function saveMedia(opts, type, API) {
|
|
|
36
34
|
}
|
|
37
35
|
});
|
|
38
36
|
}
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
function showPicker(opts, mediaTypes) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const { fail, complete } = opts;
|
|
40
|
+
try {
|
|
41
|
+
const res = yield showActionSheet({
|
|
42
|
+
itemList: ['拍摄', '从手机相册选择'],
|
|
43
|
+
});
|
|
44
|
+
if (res.tapIndex === 0) {
|
|
45
|
+
return _chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['camera'] }), mediaTypes);
|
|
46
|
+
}
|
|
47
|
+
if (res.tapIndex === 1) {
|
|
48
|
+
return _chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['album'] }), mediaTypes);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const res = { errMsg: `choose${mediaTypes === MediaTypeOptions.Images ? 'Image' : mediaTypes === MediaTypeOptions.Videos ? 'Video' : 'Media'} fail` };
|
|
53
|
+
fail === null || fail === void 0 ? void 0 : fail(res);
|
|
54
|
+
complete === null || complete === void 0 ? void 0 : complete(res);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function chooseMedia(opts = {}, mediaTypes) {
|
|
41
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
|
|
43
|
-
|
|
60
|
+
const { sourceType = ['album', 'camera'], } = opts;
|
|
61
|
+
if ((sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) && (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('album'))) {
|
|
62
|
+
return showPicker(opts, mediaTypes);
|
|
63
|
+
}
|
|
64
|
+
else if (sourceType === null || sourceType === void 0 ? void 0 : sourceType.includes('camera')) {
|
|
65
|
+
return _chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['camera'] }), mediaTypes);
|
|
44
66
|
}
|
|
45
|
-
|
|
67
|
+
return _chooseMedia(Object.assign(Object.assign({}, opts), { sourceType: ['album'] }), mediaTypes);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function _chooseMedia(opts = {}, mediaTypes) {
|
|
71
|
+
var _a, _b, _c;
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const { sizeType = [], sourceType = [], success, fail, complete, maxDuration, count = (mediaTypes === MEDIA_TYPE.Videos ? 1 : 9), compressed } = opts;
|
|
46
74
|
const options = {
|
|
47
75
|
mediaTypes,
|
|
48
|
-
quality: sizeType[0] === 'compressed' ? 0.7 : 1,
|
|
76
|
+
quality: (sizeType[0] === 'compressed' || compressed) ? 0.7 : 1,
|
|
49
77
|
videoMaxDuration: maxDuration,
|
|
50
|
-
allowsMultipleSelection:
|
|
51
|
-
selectionLimit:
|
|
78
|
+
allowsMultipleSelection: count > 1,
|
|
79
|
+
selectionLimit: count,
|
|
52
80
|
};
|
|
81
|
+
const messString = mediaTypes === MediaTypeOptions.Images ? 'Image' : mediaTypes === MediaTypeOptions.Videos ? 'Video' : 'Media';
|
|
53
82
|
const isCamera = sourceType[0] === 'camera';
|
|
54
|
-
const { granted } = isCamera ? yield requestCameraPermissionsAsync() : yield
|
|
83
|
+
const { granted } = isCamera ? yield requestCameraPermissionsAsync() : yield requestMediaLibraryPermissionsAsync();
|
|
55
84
|
if (!granted) {
|
|
56
85
|
const res = { errMsg: 'Permissions denied!' };
|
|
57
86
|
return errorHandler(fail, complete)(res);
|
|
58
87
|
}
|
|
59
|
-
let launchMediaAsync = isCamera ?
|
|
88
|
+
let launchMediaAsync = isCamera ? launchCameraAsync : launchImageLibraryAsync;
|
|
60
89
|
try {
|
|
61
90
|
const resp = yield launchMediaAsync(options);
|
|
62
91
|
let res = {};
|
|
63
|
-
if (mediaTypes === MEDIA_TYPE.
|
|
92
|
+
if (mediaTypes === MEDIA_TYPE.Videos) {
|
|
64
93
|
const asset = (_a = resp.assets) === null || _a === void 0 ? void 0 : _a[0];
|
|
65
94
|
res = Object.assign(Object.assign({}, asset), { tempFilePath: asset === null || asset === void 0 ? void 0 : asset.uri, size: asset === null || asset === void 0 ? void 0 : asset.fileSize });
|
|
66
95
|
}
|
|
67
96
|
else {
|
|
68
97
|
res = {
|
|
69
98
|
tempFilePaths: (_b = resp.assets) === null || _b === void 0 ? void 0 : _b.map((item) => item.uri),
|
|
70
|
-
tempFiles: (_c = resp.assets) === null || _c === void 0 ? void 0 : _c.map((item) =>
|
|
99
|
+
tempFiles: (_c = resp.assets) === null || _c === void 0 ? void 0 : _c.map((item) => {
|
|
100
|
+
var _a;
|
|
101
|
+
return (Object.assign(Object.assign({}, item), { path: item.uri, size: item.fileSize, type: item.mimeType, fileType: ((_a = item.mimeType) === null || _a === void 0 ? void 0 : _a.startsWith('video')) ? 'video' : 'image' }));
|
|
102
|
+
})
|
|
71
103
|
};
|
|
72
104
|
}
|
|
73
105
|
if (res.tempFilePath || (!!res.tempFilePaths && res.tempFilePaths.length > 0)) {
|
|
@@ -75,14 +107,14 @@ export function chooseMedia(opts, mediaTypes) {
|
|
|
75
107
|
}
|
|
76
108
|
else {
|
|
77
109
|
const res = {
|
|
78
|
-
errMsg:
|
|
110
|
+
errMsg: `choose${messString}:fail cancel`
|
|
79
111
|
};
|
|
80
112
|
return errorHandler(fail, complete)(res);
|
|
81
113
|
}
|
|
82
114
|
}
|
|
83
115
|
catch (err) {
|
|
84
116
|
const res = {
|
|
85
|
-
errMsg:
|
|
117
|
+
errMsg: `choose${messString}:fail`,
|
|
86
118
|
err
|
|
87
119
|
};
|
|
88
120
|
return errorHandler(fail, complete)(res);
|
package/dist/lib/media.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/lib/media.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/lib/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ function _request(options) {
|
|
|
77
77
|
controller === null || controller === void 0 ? void 0 : controller.abort();
|
|
78
78
|
reject(Error('request:fail timeout'));
|
|
79
79
|
clearTimeout === null || clearTimeout === void 0 ? void 0 : clearTimeout(timer);
|
|
80
|
-
}, (_a = options.timeout) !== null && _a !== void 0 ? _a :
|
|
80
|
+
}, (_a = options.timeout) !== null && _a !== void 0 ? _a : 60000);
|
|
81
81
|
});
|
|
82
82
|
const p = Promise.race([fetchPromise, timeoutPromise]).then(resData => {
|
|
83
83
|
res.data = resData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/request/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/request/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,7 +138,7 @@ function scanFromPhoto(callback, errorCallBack) {
|
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
}, MEDIA_TYPE.
|
|
141
|
+
}, MEDIA_TYPE.Images).catch(errorCallBack);
|
|
142
142
|
}
|
|
143
143
|
export function scanCode(option = {}) {
|
|
144
144
|
return __awaiter(this, void 0, void 0, function* () {
|
package/libList.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/taro-rn",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.9",
|
|
4
4
|
"description": "Taro RN framework",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "types/index.d.ts",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"react-native-root-toast": "^3.5.1",
|
|
48
48
|
"react-native-safe-area-context": "~4.8.0",
|
|
49
49
|
"react-native-stylekit": "^1.0.0",
|
|
50
|
-
"@tarojs/runtime-rn": "4.0.0-beta.
|
|
50
|
+
"@tarojs/runtime-rn": "4.0.0-beta.9"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@babel/core": "^7.14.5",
|
|
@@ -1,33 +1,5 @@
|
|
|
1
1
|
import { chooseMedia, MEDIA_TYPE } from '../media'
|
|
2
|
-
import { showActionSheet } from '../showActionSheet'
|
|
3
2
|
|
|
4
3
|
export function chooseImage(opts: Taro.chooseImage.Option): Promise<any> {
|
|
5
|
-
|
|
6
|
-
sourceType = ['album', 'camera'],
|
|
7
|
-
} = opts
|
|
8
|
-
if(sourceType?.includes('camera') && sourceType?.includes('album')) {
|
|
9
|
-
return showImagePicker(opts)
|
|
10
|
-
} else if (sourceType?.includes('camera')) {
|
|
11
|
-
return chooseMedia({...opts, sourceType: ['camera']}, MEDIA_TYPE.IMAGES)
|
|
12
|
-
}
|
|
13
|
-
return chooseMedia({...opts, sourceType: ['album']}, MEDIA_TYPE.IMAGES)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async function showImagePicker(options: Taro.chooseImage.Option):Promise<any> {
|
|
17
|
-
const { fail, complete } = options
|
|
18
|
-
try {
|
|
19
|
-
const res = await showActionSheet({
|
|
20
|
-
itemList: ['拍照', '从手机相册选择'],
|
|
21
|
-
})
|
|
22
|
-
if (res.tapIndex === 0) {
|
|
23
|
-
return chooseMedia({...options, sourceType: ['camera']}, MEDIA_TYPE.IMAGES)
|
|
24
|
-
}
|
|
25
|
-
if (res.tapIndex === 1) {
|
|
26
|
-
return chooseMedia({...options, sourceType: ['album']}, MEDIA_TYPE.IMAGES)
|
|
27
|
-
}
|
|
28
|
-
} catch (err) {
|
|
29
|
-
const res = { errMsg: 'chooseImage: fail' }
|
|
30
|
-
fail?.(res)
|
|
31
|
-
complete?.(res)
|
|
32
|
-
}
|
|
4
|
+
return chooseMedia(opts, MEDIA_TYPE.Images)
|
|
33
5
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { chooseMedia as _chooseMedia, MEDIA_TYPE } from '../media'
|
|
2
|
+
|
|
3
|
+
export function chooseMedia (opts: Taro.chooseMedia.Option): Promise<any> {
|
|
4
|
+
if (opts.mediaType?.length === 1) {
|
|
5
|
+
if (opts.mediaType[0] === 'video') {
|
|
6
|
+
return _chooseMedia(opts, MEDIA_TYPE.Videos)
|
|
7
|
+
} else if (opts.mediaType[0] === 'image') {
|
|
8
|
+
return _chooseMedia(opts, MEDIA_TYPE.Images)
|
|
9
|
+
} else {
|
|
10
|
+
return _chooseMedia(opts, MEDIA_TYPE.All)
|
|
11
|
+
}
|
|
12
|
+
} else {
|
|
13
|
+
return _chooseMedia(opts, MEDIA_TYPE.All)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,35 +1,5 @@
|
|
|
1
1
|
import { chooseMedia, MEDIA_TYPE } from '../media'
|
|
2
|
-
import { showActionSheet } from '../showActionSheet'
|
|
3
2
|
|
|
4
3
|
export function chooseVideo(opts: Taro.chooseVideo.Option): Promise<any> {
|
|
5
|
-
|
|
6
|
-
sourceType = ['album', 'camera'],
|
|
7
|
-
compressed
|
|
8
|
-
} = opts
|
|
9
|
-
opts = Object.assign(opts, { sizeType: compressed ? ['compressed'] : [] })
|
|
10
|
-
if(sourceType?.includes('camera') && sourceType?.includes('album')) {
|
|
11
|
-
return showVideoPicker(opts)
|
|
12
|
-
} else if (sourceType?.includes('camera')) {
|
|
13
|
-
return chooseMedia({...opts, sourceType: ['camera']}, MEDIA_TYPE.VIDEOS)
|
|
14
|
-
}
|
|
15
|
-
return chooseMedia({...opts, sourceType: ['album']}, MEDIA_TYPE.VIDEOS)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async function showVideoPicker(options: Taro.chooseVideo.Option):Promise<any> {
|
|
19
|
-
const { fail, complete } = options
|
|
20
|
-
try {
|
|
21
|
-
const res = await showActionSheet({
|
|
22
|
-
itemList: ['拍摄', '从手机相册选择'],
|
|
23
|
-
})
|
|
24
|
-
if (res.tapIndex === 0) {
|
|
25
|
-
return chooseMedia({...options, sourceType: ['camera']}, MEDIA_TYPE.VIDEOS)
|
|
26
|
-
}
|
|
27
|
-
if (res.tapIndex === 1) {
|
|
28
|
-
return chooseMedia({...options, sourceType: ['album']}, MEDIA_TYPE.VIDEOS)
|
|
29
|
-
}
|
|
30
|
-
} catch (err) {
|
|
31
|
-
const res = { errMsg: 'chooseVideo: fail' }
|
|
32
|
-
fail?.(res)
|
|
33
|
-
complete?.(res)
|
|
34
|
-
}
|
|
4
|
+
return chooseMedia(opts, MEDIA_TYPE.Videos)
|
|
35
5
|
}
|
package/src/lib/index.ts
CHANGED
package/src/lib/media.ts
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { CameraRoll } from "@react-native-camera-roll/camera-roll"
|
|
2
2
|
import { requestCameraPermissionsAsync } from 'expo-camera'
|
|
3
|
-
import
|
|
3
|
+
import {
|
|
4
|
+
requestMediaLibraryPermissionsAsync,
|
|
5
|
+
launchImageLibraryAsync,
|
|
6
|
+
launchCameraAsync,
|
|
7
|
+
MediaTypeOptions,
|
|
8
|
+
ImagePickerAsset,
|
|
9
|
+
} from 'expo-image-picker'
|
|
4
10
|
import { successHandler, errorHandler } from '../utils'
|
|
11
|
+
import { showActionSheet } from "./showActionSheet"
|
|
5
12
|
|
|
6
|
-
export const MEDIA_TYPE =
|
|
7
|
-
VIDEOS: 'Videos',
|
|
8
|
-
IMAGES: 'Images'
|
|
9
|
-
}
|
|
13
|
+
export const MEDIA_TYPE = MediaTypeOptions
|
|
10
14
|
|
|
11
15
|
export async function saveMedia(opts: Taro.saveImageToPhotosAlbum.Option | Taro.saveVideoToPhotosAlbum.Option, type:string, API:string):Promise<TaroGeneral.CallbackResult> {
|
|
12
16
|
const { filePath, success, fail, complete } = opts
|
|
13
|
-
const { granted } = await
|
|
17
|
+
const { granted } = await requestMediaLibraryPermissionsAsync()
|
|
14
18
|
if (!granted) {
|
|
15
19
|
const res = { errMsg: 'Permissions denied!' }
|
|
16
20
|
return errorHandler(fail, complete)(res)
|
|
@@ -28,30 +32,70 @@ export async function saveMedia(opts: Taro.saveImageToPhotosAlbum.Option | Taro.
|
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
async function showPicker(opts: Taro.chooseImage.Option | Taro.chooseVideo.Option | Taro.chooseMedia.Option, mediaTypes: MediaTypeOptions):Promise<any> {
|
|
36
|
+
const { fail, complete } = opts
|
|
37
|
+
try {
|
|
38
|
+
const res = await showActionSheet({
|
|
39
|
+
itemList: ['拍摄', '从手机相册选择'],
|
|
40
|
+
})
|
|
41
|
+
if (res.tapIndex === 0) {
|
|
42
|
+
return _chooseMedia({...opts, sourceType: ['camera']}, mediaTypes)
|
|
43
|
+
}
|
|
44
|
+
if (res.tapIndex === 1) {
|
|
45
|
+
return _chooseMedia({...opts, sourceType: ['album']}, mediaTypes)
|
|
46
|
+
}
|
|
47
|
+
} catch (err) {
|
|
48
|
+
const res = { errMsg: `choose${
|
|
49
|
+
mediaTypes === MediaTypeOptions.Images ? 'Image' : mediaTypes === MediaTypeOptions.Videos ? 'Video' : 'Media'
|
|
50
|
+
} fail` }
|
|
51
|
+
fail?.(res)
|
|
52
|
+
complete?.(res)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export async function chooseMedia(opts: Taro.chooseImage.Option | Taro.chooseVideo.Option | Taro.chooseMedia.Option = {}, mediaTypes: MediaTypeOptions): Promise<TaroGeneral.CallbackResult> {
|
|
57
|
+
const {
|
|
58
|
+
sourceType = ['album', 'camera'],
|
|
59
|
+
} = opts
|
|
60
|
+
if(sourceType?.includes('camera') && sourceType?.includes('album')) {
|
|
61
|
+
return showPicker(opts, mediaTypes)
|
|
62
|
+
} else if (sourceType?.includes('camera')) {
|
|
63
|
+
return _chooseMedia({...opts, sourceType: ['camera']}, mediaTypes)
|
|
34
64
|
}
|
|
35
|
-
|
|
65
|
+
return _chooseMedia({...opts, sourceType: ['album']}, mediaTypes)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export async function _chooseMedia(opts: Taro.chooseImage.Option | Taro.chooseVideo.Option | Taro.chooseMedia.Option = {}, mediaTypes: MediaTypeOptions): Promise<TaroGeneral.CallbackResult> {
|
|
69
|
+
const {
|
|
70
|
+
sizeType = [],
|
|
71
|
+
sourceType = [],
|
|
72
|
+
success,
|
|
73
|
+
fail,
|
|
74
|
+
complete,
|
|
75
|
+
maxDuration,
|
|
76
|
+
count = (mediaTypes === MEDIA_TYPE.Videos ? 1 : 9),
|
|
77
|
+
compressed
|
|
78
|
+
} = opts as any
|
|
36
79
|
const options = {
|
|
37
80
|
mediaTypes,
|
|
38
|
-
quality: sizeType[0] === 'compressed' ? 0.7 : 1,
|
|
81
|
+
quality: (sizeType[0] === 'compressed' || compressed) ? 0.7 : 1,
|
|
39
82
|
videoMaxDuration: maxDuration,
|
|
40
|
-
allowsMultipleSelection:
|
|
41
|
-
selectionLimit:
|
|
83
|
+
allowsMultipleSelection: count > 1,
|
|
84
|
+
selectionLimit: count,
|
|
42
85
|
}
|
|
86
|
+
const messString = mediaTypes === MediaTypeOptions.Images ? 'Image' : mediaTypes === MediaTypeOptions.Videos ? 'Video' : 'Media'
|
|
43
87
|
const isCamera = sourceType[0] === 'camera'
|
|
44
|
-
const { granted } = isCamera ? await requestCameraPermissionsAsync() : await
|
|
88
|
+
const { granted } = isCamera ? await requestCameraPermissionsAsync() : await requestMediaLibraryPermissionsAsync()
|
|
45
89
|
if (!granted) {
|
|
46
90
|
const res = { errMsg: 'Permissions denied!' }
|
|
47
91
|
return errorHandler(fail, complete)(res)
|
|
48
92
|
}
|
|
49
93
|
|
|
50
|
-
let launchMediaAsync = isCamera ?
|
|
94
|
+
let launchMediaAsync = isCamera ? launchCameraAsync : launchImageLibraryAsync
|
|
51
95
|
try {
|
|
52
96
|
const resp = await launchMediaAsync(options)
|
|
53
97
|
let res: any = {}
|
|
54
|
-
if (mediaTypes === MEDIA_TYPE.
|
|
98
|
+
if (mediaTypes === MEDIA_TYPE.Videos) {
|
|
55
99
|
const asset = resp.assets?.[0]
|
|
56
100
|
res = {
|
|
57
101
|
...asset,
|
|
@@ -61,11 +105,12 @@ export async function chooseMedia(opts: Taro.chooseImage.Option | Taro.chooseVid
|
|
|
61
105
|
} else {
|
|
62
106
|
res = {
|
|
63
107
|
tempFilePaths: resp.assets?.map((item) => item.uri),
|
|
64
|
-
tempFiles: resp.assets?.map((item) => ({
|
|
108
|
+
tempFiles: resp.assets?.map((item: ImagePickerAsset) => ({
|
|
65
109
|
...item,
|
|
66
110
|
path: item.uri,
|
|
67
111
|
size: item.fileSize,
|
|
68
112
|
type: item.mimeType,
|
|
113
|
+
fileType: item.mimeType?.startsWith('video') ? 'video' : 'image',
|
|
69
114
|
}))
|
|
70
115
|
}
|
|
71
116
|
}
|
|
@@ -73,13 +118,13 @@ export async function chooseMedia(opts: Taro.chooseImage.Option | Taro.chooseVid
|
|
|
73
118
|
return successHandler(success, complete)(res)
|
|
74
119
|
} else {
|
|
75
120
|
const res = {
|
|
76
|
-
errMsg:
|
|
121
|
+
errMsg: `choose${messString}:fail cancel`
|
|
77
122
|
}
|
|
78
123
|
return errorHandler(fail, complete)(res)
|
|
79
124
|
}
|
|
80
125
|
} catch (err) {
|
|
81
126
|
const res = {
|
|
82
|
-
errMsg:
|
|
127
|
+
errMsg: `choose${messString}:fail`,
|
|
83
128
|
err
|
|
84
129
|
}
|
|
85
130
|
return errorHandler(fail, complete)(res)
|
package/src/lib/request/index.ts
CHANGED
|
@@ -83,7 +83,7 @@ function _request<T = any>(options: Taro.request.Option): Taro.RequestTask<T> {
|
|
|
83
83
|
controller?.abort()
|
|
84
84
|
reject(Error('request:fail timeout'))
|
|
85
85
|
clearTimeout?.(timer)
|
|
86
|
-
}, options.timeout ??
|
|
86
|
+
}, options.timeout ?? 60000)
|
|
87
87
|
})
|
|
88
88
|
|
|
89
89
|
const p: any = Promise.race([fetchPromise, timeoutPromise]).then(resData => {
|
|
@@ -143,7 +143,7 @@ function scanFromPhoto(callback, errorCallBack) {
|
|
|
143
143
|
})
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
}, MEDIA_TYPE.
|
|
146
|
+
}, MEDIA_TYPE.Images).catch(errorCallBack)
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
export async function scanCode(option: Taro.scanCode.Option = {}): Promise<Taro.scanCode.SuccessCallbackResult> {
|