执行过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\\Tinymce\\components\\EditorImage.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\Tinymce\\components\\EditorImage.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCi8vIGltcG9ydCB7IGdldFRva2VuIH0gZnJvbSAnYXBpL3Fpbml1JwoKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdFZGl0b3JTbGlkZVVwbG9hZCcsCiAgcHJvcHM6IHsKICAgIGNvbG9yOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJyMxODkwZmYnCiAgICB9CiAgfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgZGlhbG9nVmlzaWJsZTogZmFsc2UsCiAgICAgIGxpc3RPYmo6IHt9LAogICAgICBmaWxlTGlzdDogW10KICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIGNoZWNrQWxsU3VjY2VzcygpIHsKICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubGlzdE9iaikuZXZlcnkoaXRlbSA9PiB0aGlzLmxpc3RPYmpbaXRlbV0uaGFzU3VjY2VzcykKICAgIH0sCiAgICBoYW5kbGVTdWJtaXQoKSB7CiAgICAgIGNvbnN0IGFyciA9IE9iamVjdC5rZXlzKHRoaXMubGlzdE9iaikubWFwKHYgPT4gdGhpcy5saXN0T2JqW3ZdKQogICAgICBpZiAoIXRoaXMuY2hlY2tBbGxTdWNjZXNzKCkpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlKCdQbGVhc2Ugd2FpdCBmb3IgYWxsIGltYWdlcyB0byBiZSB1cGxvYWRlZCBzdWNjZXNzZnVsbHkuIElmIHRoZXJlIGlzIGEgbmV0d29yayBwcm9ibGVtLCBwbGVhc2UgcmVmcmVzaCB0aGUgcGFnZSBhbmQgdXBsb2FkIGFnYWluIScpCiAgICAgICAgcmV0dXJuCiAgICAgIH0KICAgICAgdGhpcy4kZW1pdCgnc3VjY2Vzc0NCSycsIGFycikKICAgICAgdGhpcy5saXN0T2JqID0ge30KICAgICAgdGhpcy5maWxlTGlzdCA9IFtdCiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IGZhbHNlCiAgICB9LAogICAgaGFuZGxlU3VjY2VzcyhyZXNwb25zZSwgZmlsZSkgewogICAgICBjb25zdCB1aWQgPSBmaWxlLnVpZAogICAgICBjb25zdCBvYmpLZXlBcnIgPSBPYmplY3Qua2V5cyh0aGlzLmxpc3RPYmopCiAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmpLZXlBcnIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICBpZiAodGhpcy5saXN0T2JqW29iaktleUFycltpXV0udWlkID09PSB1aWQpIHsKICAgICAgICAgIHRoaXMubGlzdE9ialtvYmpLZXlBcnJbaV1dLnVybCA9IHJlc3BvbnNlLmZpbGVzLmZpbGUKICAgICAgICAgIHRoaXMubGlzdE9ialtvYmpLZXlBcnJbaV1dLmhhc1N1Y2Nlc3MgPSB0cnVlCiAgICAgICAgICByZXR1cm4KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVSZW1vdmUoZmlsZSkgewogICAgICBjb25zdCB1aWQgPSBmaWxlLnVpZAogICAgICBjb25zdCBvYmpLZXlBcnIgPSBPYmplY3Qua2V5cyh0aGlzLmxpc3RPYmopCiAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmpLZXlBcnIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICBpZiAodGhpcy5saXN0T2JqW29iaktleUFycltpXV0udWlkID09PSB1aWQpIHsKICAgICAgICAgIGRlbGV0ZSB0aGlzLmxpc3RPYmpbb2JqS2V5QXJyW2ldXQogICAgICAgICAgcmV0dXJuCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgYmVmb3JlVXBsb2FkKGZpbGUpIHsKICAgICAgY29uc3QgX3NlbGYgPSB0aGlzCiAgICAgIGNvbnN0IF9VUkwgPSB3aW5kb3cuVVJMIHx8IHdpbmRvdy53ZWJraXRVUkwKICAgICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLnVpZAogICAgICB0aGlzLmxpc3RPYmpbZmlsZU5hbWVdID0ge30KICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKQogICAgICAgIGltZy5zcmMgPSBfVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKQogICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIF9zZWxmLmxpc3RPYmpbZmlsZU5hbWVdID0geyBoYXNTdWNjZXNzOiBmYWxzZSwgdWlkOiBmaWxlLnVpZCwgd2lkdGg6IHRoaXMud2lkdGgsIGhlaWdodDogdGhpcy5oZWlnaHQgfQogICAgICAgIH0KICAgICAgICByZXNvbHZlKHRydWUpCiAgICAgIH0pCiAgICB9CiAgfQp9Cg=="},{"version":3,"sources":["EditorImage.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"EditorImage.vue","sourceRoot":"src/components/Tinymce/components","sourcesContent":["<template>\n  <div class=\"upload-container\">\n    <el-button :style=\"{background:color,borderColor:color}\" icon=\"el-icon-upload\" size=\"mini\" type=\"primary\" @click=\" dialogVisible=true\">\n      upload\n    </el-button>\n    <el-dialog :visible.sync=\"dialogVisible\">\n      <el-upload\n        :multiple=\"true\"\n        :file-list=\"fileList\"\n        :show-file-list=\"true\"\n        :on-remove=\"handleRemove\"\n        :on-success=\"handleSuccess\"\n        :before-upload=\"beforeUpload\"\n        class=\"editor-slide-upload\"\n        action=\"https://httpbin.org/post\"\n        list-type=\"picture-card\"\n      >\n        <el-button size=\"small\" type=\"primary\">\n          Click upload\n        </el-button>\n      </el-upload>\n      <el-button @click=\"dialogVisible = false\">\n        Cancel\n      </el-button>\n      <el-button type=\"primary\" @click=\"handleSubmit\">\n        Confirm\n      </el-button>\n    </el-dialog>\n  </div>\n</template>\n\n<script>\n// import { getToken } from 'api/qiniu'\n\nexport default {\n  name: 'EditorSlideUpload',\n  props: {\n    color: {\n      type: String,\n      default: '#1890ff'\n    }\n  },\n  data() {\n    return {\n      dialogVisible: false,\n      listObj: {},\n      fileList: []\n    }\n  },\n  methods: {\n    checkAllSuccess() {\n      return Object.keys(this.listObj).every(item => this.listObj[item].hasSuccess)\n    },\n    handleSubmit() {\n      const arr = Object.keys(this.listObj).map(v => this.listObj[v])\n      if (!this.checkAllSuccess()) {\n        this.$message('Please wait for all images to be uploaded successfully. If there is a network problem, please refresh the page and upload again!')\n        return\n      }\n      this.$emit('successCBK', arr)\n      this.listObj = {}\n      this.fileList = []\n      this.dialogVisible = false\n    },\n    handleSuccess(response, file) {\n      const uid = file.uid\n      const objKeyArr = Object.keys(this.listObj)\n      for (let i = 0, len = objKeyArr.length; i < len; i++) {\n        if (this.listObj[objKeyArr[i]].uid === uid) {\n          this.listObj[objKeyArr[i]].url = response.files.file\n          this.listObj[objKeyArr[i]].hasSuccess = true\n          return\n        }\n      }\n    },\n    handleRemove(file) {\n      const uid = file.uid\n      const objKeyArr = Object.keys(this.listObj)\n      for (let i = 0, len = objKeyArr.length; i < len; i++) {\n        if (this.listObj[objKeyArr[i]].uid === uid) {\n          delete this.listObj[objKeyArr[i]]\n          return\n        }\n      }\n    },\n    beforeUpload(file) {\n      const _self = this\n      const _URL = window.URL || window.webkitURL\n      const fileName = file.uid\n      this.listObj[fileName] = {}\n      return new Promise((resolve, reject) => {\n        const img = new Image()\n        img.src = _URL.createObjectURL(file)\n        img.onload = function() {\n          _self.listObj[fileName] = { hasSuccess: false, uid: file.uid, width: this.width, height: this.height }\n        }\n        resolve(true)\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.editor-slide-upload {\n  margin-bottom: 20px;\n  ::v-deep .el-upload--picture-card {\n    width: 100%;\n  }\n}\n</style>\n"]}]}