UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

60 lines (56 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _utils = require("../utils"); // 仅支持单个文件(多文件待扩展) const useCoreOptions = ({ state, dispatch, props }) => { const { file } = props; // 本地文件URL const imgURL = (0, _react.useMemo)(() => file && window.URL.createObjectURL(file), [file]); // 设置transform参数 const setTransform = (0, _react.useCallback)(obj => { dispatch({ type: 'changeResult', result: obj }); }, [dispatch]); // 获取裁剪后的图片 const getCropImageAsync = (0, _react.useCallback)(() => { try { return (0, _utils.getCroppedImg)(imgURL, state.croppedAreaPixels, state.rotation); } catch (e) { console.error('getCropImageAsync图片获取失败!', e); return null; } }, [imgURL, state.croppedAreaPixels, state.rotation]); (0, _react.useEffect)(() => { dispatch({ type: 'changeInit', init: { visible: !!file } }); }, [file]); const CoreMethds = { setTransform, getCropImageAsync }; const RefMethods = { imgURL }; return { CoreMethds, RefMethods }; }; var _default = useCoreOptions; exports.default = _default;