index.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { mount } from '../../utils/componentHelper'
  2. import { toRawType } from '../../utils/index'
  3. import Cropper from './cropper.vue'
  4. Cropper.use = function use(app) {
  5. const isCropper = false
  6. Cropper.open = function (config) {
  7. if (isCropper) {
  8. let tips
  9. if (config.cliping) {
  10. tips = config.cliping
  11. } else {
  12. tips = '正在裁剪'
  13. }
  14. return Promise.reject(tips)
  15. }
  16. if (toRawType(config) === 'String') {
  17. config = { img: config }
  18. }
  19. if (!config || !config.img) {
  20. let tips
  21. if (config.clipEmpty) {
  22. tips = config.clipEmpty
  23. } else {
  24. tips = '请传入裁剪图片'
  25. }
  26. return Promise.reject(tips)
  27. }
  28. return new Promise((resolve, reject) => {
  29. const { destroy } = mount(Cropper, {
  30. app,
  31. props: {
  32. ...config,
  33. cb(err, data) {
  34. destroy()
  35. if (err) {
  36. reject(err)
  37. } else {
  38. resolve(data)
  39. }
  40. },
  41. },
  42. })
  43. })
  44. }
  45. }
  46. export default Cropper