执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\components\\Dropzone\\index.vue?vue&type=style&index=0&id=0248200e&scoped=true&lang=css&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\Dropzone\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCi5kcm9wem9uZSB7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTVFNUU1OwogICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgY29sb3I6ICM3Nzc7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXI7CiAgICBwYWRkaW5nOiA1cHg7Cn0KCi5kcm9wem9uZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2Owp9CgppIHsKICAgIGNvbG9yOiAjQ0NDOwp9CgouZHJvcHpvbmUgLmR6LWltYWdlIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKfQoKLmRyb3B6b25lIGlucHV0W25hbWU9J2ZpbGUnXSB7CiAgICBkaXNwbGF5OiBub25lOwp9CgouZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWltYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IDBweDsKfQoKLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1pbWFnZSBpbWcgewogICAgdHJhbnNmb3JtOiBub25lOwogICAgZmlsdGVyOiBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyB7CiAgICBib3R0b206IDBweDsKICAgIHRvcDogMHB4OwogICAgY29sb3I6IHdoaXRlOwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMTUwLCAyNDMsIDAuOCk7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgouZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lIHNwYW4sIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotc2l6ZSBzcGFuIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgouZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHNwYW4gewogICAgYm9yZGVyOiBub25lOwp9CgouZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOmhvdmVyIHNwYW4gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IG5vbmU7Cn0KCi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcmVtb3ZlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHotaW5kZXg6IDMwOwogICAgY29sb3I6IHdoaXRlOwogICAgbWFyZ2luLWxlZnQ6IDE1cHg7CiAgICBwYWRkaW5nOiAxMHB4OwogICAgdG9wOiBpbmhlcml0OwogICAgYm90dG9tOiAxNXB4OwogICAgYm9yZGVyOiAycHggd2hpdGUgc29saWQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgZm9udC1zaXplOiAwLjhyZW07CiAgICBmb250LXdlaWdodDogODAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDEuMXB4OwogICAgb3BhY2l0eTogMDsKfQoKLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1yZW1vdmUgewogICAgb3BhY2l0eTogMTsKfQoKLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmssIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayB7CiAgICBtYXJnaW4tbGVmdDogLTQwcHg7CiAgICBtYXJnaW4tdG9wOiAtNTBweDsKfQoKLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmsgaSwgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIGkgewogICAgY29sb3I6IHdoaXRlOwogICAgZm9udC1zaXplOiA1cmVtOwp9Cg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/Dropzone","sourcesContent":["<template>\n  <div :id=\"id\" :ref=\"id\" :action=\"url\" class=\"dropzone\">\n    <input type=\"file\" name=\"file\">\n  </div>\n</template>\n\n<script>\nimport Dropzone from 'dropzone'\nimport 'dropzone/dist/dropzone.css'\n// import { getToken } from 'api/qiniu';\n\nDropzone.autoDiscover = false\n\nexport default {\n  props: {\n    id: {\n      type: String,\n      required: true\n    },\n    url: {\n      type: String,\n      required: true\n    },\n    clickable: {\n      type: Boolean,\n      default: true\n    },\n    defaultMsg: {\n      type: String,\n      default: '上传图片'\n    },\n    acceptedFiles: {\n      type: String,\n      default: ''\n    },\n    thumbnailHeight: {\n      type: Number,\n      default: 200\n    },\n    thumbnailWidth: {\n      type: Number,\n      default: 200\n    },\n    showRemoveLink: {\n      type: Boolean,\n      default: true\n    },\n    maxFilesize: {\n      type: Number,\n      default: 2\n    },\n    maxFiles: {\n      type: Number,\n      default: 3\n    },\n    autoProcessQueue: {\n      type: Boolean,\n      default: true\n    },\n    useCustomDropzoneOptions: {\n      type: Boolean,\n      default: false\n    },\n    defaultImg: {\n      default: '',\n      type: [String, Array]\n    },\n    couldPaste: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data() {\n    return {\n      dropzone: '',\n      initOnce: true\n    }\n  },\n  watch: {\n    defaultImg(val) {\n      if (val.length === 0) {\n        this.initOnce = false\n        return\n      }\n      if (!this.initOnce) return\n      this.initImages(val)\n      this.initOnce = false\n    }\n  },\n  mounted() {\n    const element = document.getElementById(this.id)\n    const vm = this\n    this.dropzone = new Dropzone(element, {\n      clickable: this.clickable,\n      thumbnailWidth: this.thumbnailWidth,\n      thumbnailHeight: this.thumbnailHeight,\n      maxFiles: this.maxFiles,\n      maxFilesize: this.maxFilesize,\n      dictRemoveFile: 'Remove',\n      addRemoveLinks: this.showRemoveLink,\n      acceptedFiles: this.acceptedFiles,\n      autoProcessQueue: this.autoProcessQueue,\n      dictDefaultMessage: '<i style=\"margin-top: 3em;display: inline-block\" class=\"material-icons\">' + this.defaultMsg + '</i><br>Drop files here to upload',\n      dictMaxFilesExceeded: '只能一个图',\n      previewTemplate: '<div class=\"dz-preview dz-file-preview\">  <div class=\"dz-image\" style=\"width:' + this.thumbnailWidth + 'px;height:' + this.thumbnailHeight + 'px\" ><img style=\"width:' + this.thumbnailWidth + 'px;height:' + this.thumbnailHeight + 'px\" data-dz-thumbnail /></div>  <div class=\"dz-details\"><div class=\"dz-size\"><span data-dz-size></span></div> <div class=\"dz-progress\"><span class=\"dz-upload\" data-dz-uploadprogress></span></div>  <div class=\"dz-error-message\"><span data-dz-errormessage></span></div>  <div class=\"dz-success-mark\"> <i class=\"material-icons\">done</i> </div>  <div class=\"dz-error-mark\"><i class=\"material-icons\">error</i></div></div>',\n      init() {\n        const val = vm.defaultImg\n        if (!val) return\n        if (Array.isArray(val)) {\n          if (val.length === 0) return\n          val.map((v, i) => {\n            const mockFile = { name: 'name' + i, size: 12345, url: v }\n            this.options.addedfile.call(this, mockFile)\n            this.options.thumbnail.call(this, mockFile, v)\n            mockFile.previewElement.classList.add('dz-success')\n            mockFile.previewElement.classList.add('dz-complete')\n            vm.initOnce = false\n            return true\n          })\n        } else {\n          const mockFile = { name: 'name', size: 12345, url: val }\n          this.options.addedfile.call(this, mockFile)\n          this.options.thumbnail.call(this, mockFile, val)\n          mockFile.previewElement.classList.add('dz-success')\n          mockFile.previewElement.classList.add('dz-complete')\n          vm.initOnce = false\n        }\n      },\n      accept: (file, done) => {\n        /* 七牛*/\n        // const token = this.$store.getters.token;\n        // getToken(token).then(response => {\n        //   file.token = response.data.qiniu_token;\n        //   file.key = response.data.qiniu_key;\n        //   file.url = response.data.qiniu_url;\n        //   done();\n        // })\n        done()\n      },\n      sending: (file, xhr, formData) => {\n        // formData.append('token', file.token);\n        // formData.append('key', file.key);\n        vm.initOnce = false\n      }\n    })\n\n    if (this.couldPaste) {\n      document.addEventListener('paste', this.pasteImg)\n    }\n\n    this.dropzone.on('success', file => {\n      vm.$emit('dropzone-success', file, vm.dropzone.element)\n    })\n    this.dropzone.on('addedfile', file => {\n      vm.$emit('dropzone-fileAdded', file)\n    })\n    this.dropzone.on('removedfile', file => {\n      vm.$emit('dropzone-removedFile', file)\n    })\n    this.dropzone.on('error', (file, error, xhr) => {\n      vm.$emit('dropzone-error', file, error, xhr)\n    })\n    this.dropzone.on('successmultiple', (file, error, xhr) => {\n      vm.$emit('dropzone-successmultiple', file, error, xhr)\n    })\n  },\n  destroyed() {\n    document.removeEventListener('paste', this.pasteImg)\n    this.dropzone.destroy()\n  },\n  methods: {\n    removeAllFiles() {\n      this.dropzone.removeAllFiles(true)\n    },\n    processQueue() {\n      this.dropzone.processQueue()\n    },\n    pasteImg(event) {\n      const items = (event.clipboardData || event.originalEvent.clipboardData).items\n      if (items[0].kind === 'file') {\n        this.dropzone.addFile(items[0].getAsFile())\n      }\n    },\n    initImages(val) {\n      if (!val) return\n      if (Array.isArray(val)) {\n        val.map((v, i) => {\n          const mockFile = { name: 'name' + i, size: 12345, url: v }\n          this.dropzone.options.addedfile.call(this.dropzone, mockFile)\n          this.dropzone.options.thumbnail.call(this.dropzone, mockFile, v)\n          mockFile.previewElement.classList.add('dz-success')\n          mockFile.previewElement.classList.add('dz-complete')\n          return true\n        })\n      } else {\n        const mockFile = { name: 'name', size: 12345, url: val }\n        this.dropzone.options.addedfile.call(this.dropzone, mockFile)\n        this.dropzone.options.thumbnail.call(this.dropzone, mockFile, val)\n        mockFile.previewElement.classList.add('dz-success')\n        mockFile.previewElement.classList.add('dz-complete')\n      }\n    }\n\n  }\n}\n</script>\n\n<style scoped>\n    .dropzone {\n        border: 2px solid #E5E5E5;\n        font-family: 'Roboto', sans-serif;\n        color: #777;\n        transition: background-color .2s linear;\n        padding: 5px;\n    }\n\n    .dropzone:hover {\n        background-color: #F6F6F6;\n    }\n\n    i {\n        color: #CCC;\n    }\n\n    .dropzone .dz-image img {\n        width: 100%;\n        height: 100%;\n    }\n\n    .dropzone input[name='file'] {\n        display: none;\n    }\n\n    .dropzone .dz-preview .dz-image {\n        border-radius: 0px;\n    }\n\n    .dropzone .dz-preview:hover .dz-image img {\n        transform: none;\n        filter: none;\n        width: 100%;\n        height: 100%;\n    }\n\n    .dropzone .dz-preview .dz-details {\n        bottom: 0px;\n        top: 0px;\n        color: white;\n        background-color: rgba(33, 150, 243, 0.8);\n        transition: opacity .2s linear;\n        text-align: left;\n    }\n\n    .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {\n        background-color: transparent;\n    }\n\n    .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {\n        border: none;\n    }\n\n    .dropzone .dz-preview .dz-details .dz-filename:hover span {\n        background-color: transparent;\n        border: none;\n    }\n\n    .dropzone .dz-preview .dz-remove {\n        position: absolute;\n        z-index: 30;\n        color: white;\n        margin-left: 15px;\n        padding: 10px;\n        top: inherit;\n        bottom: 15px;\n        border: 2px white solid;\n        text-decoration: none;\n        text-transform: uppercase;\n        font-size: 0.8rem;\n        font-weight: 800;\n        letter-spacing: 1.1px;\n        opacity: 0;\n    }\n\n    .dropzone .dz-preview:hover .dz-remove {\n        opacity: 1;\n    }\n\n    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {\n        margin-left: -40px;\n        margin-top: -50px;\n    }\n\n    .dropzone .dz-preview .dz-success-mark i, .dropzone .dz-preview .dz-error-mark i {\n        color: white;\n        font-size: 5rem;\n    }\n</style>\n"]}]}