/* eslint-disable no-underscore-dangle */ import * as React from 'react'; import { Platform, View } from 'react-native'; import { Button, Icon, Image, Div } from 'react-native-magnus'; import * as ImagePicker from 'expo-image-picker'; import useModel from 'flooks'; import request from '../Utils/RequestUtils'; import Toast from '../flooks/Toast'; const _pickImage = (aspect, loading) => { return ImagePicker.requestCameraRollPermissionsAsync() .then((res) => { if (!res.granted) { return Promise.reject('notAllod'); } else { return ImagePicker.launchImageLibraryAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images, allowsEditing: true, aspect: aspect || [1, 1], quality: 0.6, base64: true, }); } }) .then((res) => { if (!res.cancelled) { loading(); if (Platform.OS === 'web') { return Promise.resolve(res.uri); } return Promise.resolve(res.base64); } else { return Promise.reject('cancel'); } }) .then((img) => { return request.post(`/upload/base64`, { data: { base64: img }, requestType: 'form', }); }); }; export default function ImagePickerCom(props) { const { aspect, img, setImg, cancelEvent, h, w } = props; const { loading, clearLoading } = useModel(Toast, []); return (