2f01914b8189367f9bdc23a194492b3e.json 12 KB

1
  1. {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\user\\profile\\userAvatar.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\user\\profile\\userAvatar.vue","mtime":1619333322883},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7Cgp2YXIgX3N0b3JlID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJAL3N0b3JlIikpOwoKdmFyIF92dWVDcm9wcGVyID0gcmVxdWlyZSgidnVlLWNyb3BwZXIiKTsKCnZhciBfdXNlciA9IHJlcXVpcmUoIkAvYXBpL3N5c3RlbS91c2VyIik7CgovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSB7CiAgY29tcG9uZW50czogewogICAgVnVlQ3JvcHBlcjogX3Z1ZUNyb3BwZXIuVnVlQ3JvcHBlcgogIH0sCiAgcHJvcHM6IHsKICAgIHVzZXI6IHsKICAgICAgdHlwZTogT2JqZWN0CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmmK/lkKbmmL7npLpjcm9wcGVyCiAgICAgIHZpc2libGU6IGZhbHNlLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICLkv67mlLnlpLTlg48iLAogICAgICBvcHRpb25zOiB7CiAgICAgICAgaW1nOiBfc3RvcmUuZGVmYXVsdC5nZXR0ZXJzLmF2YXRhciwKICAgICAgICAvL+ijgeWJquWbvueJh+eahOWcsOWdgAogICAgICAgIGF1dG9Dcm9wOiB0cnVlLAogICAgICAgIC8vIOaYr+WQpum7mOiupOeUn+aIkOaIquWbvuahhgogICAgICAgIGF1dG9Dcm9wV2lkdGg6IDIwMCwKICAgICAgICAvLyDpu5jorqTnlJ/miJDmiKrlm77moYblrr3luqYKICAgICAgICBhdXRvQ3JvcEhlaWdodDogMjAwLAogICAgICAgIC8vIOm7mOiupOeUn+aIkOaIquWbvuahhumrmOW6pgogICAgICAgIGZpeGVkQm94OiB0cnVlIC8vIOWbuuWumuaIquWbvuahhuWkp+WwjyDkuI3lhYHorrjmlLnlj5gKCiAgICAgIH0sCiAgICAgIHByZXZpZXdzOiB7fQogICAgfTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8vIOe8lui+keWktOWDjwogICAgZWRpdENyb3BwZXI6IGZ1bmN0aW9uIGVkaXRDcm9wcGVyKCkgewogICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgfSwKICAgIC8vIOaJk+W8gOW8ueWHuuWxgue7k+adn+aXtueahOWbnuiwgwogICAgbW9kYWxPcGVuZWQ6IGZ1bmN0aW9uIG1vZGFsT3BlbmVkKCkgewogICAgICB0aGlzLnZpc2libGUgPSB0cnVlOwogICAgfSwKICAgIC8vIOimhueblum7mOiupOeahOS4iuS8oOihjOS4ugogICAgcmVxdWVzdFVwbG9hZDogZnVuY3Rpb24gcmVxdWVzdFVwbG9hZCgpIHt9LAogICAgLy8g5ZCR5bem5peL6L2sCiAgICByb3RhdGVMZWZ0OiBmdW5jdGlvbiByb3RhdGVMZWZ0KCkgewogICAgICB0aGlzLiRyZWZzLmNyb3BwZXIucm90YXRlTGVmdCgpOwogICAgfSwKICAgIC8vIOWQkeWPs+aXi+i9rAogICAgcm90YXRlUmlnaHQ6IGZ1bmN0aW9uIHJvdGF0ZVJpZ2h0KCkgewogICAgICB0aGlzLiRyZWZzLmNyb3BwZXIucm90YXRlUmlnaHQoKTsKICAgIH0sCiAgICAvLyDlm77niYfnvKnmlL4KICAgIGNoYW5nZVNjYWxlOiBmdW5jdGlvbiBjaGFuZ2VTY2FsZShudW0pIHsKICAgICAgbnVtID0gbnVtIHx8IDE7CiAgICAgIHRoaXMuJHJlZnMuY3JvcHBlci5jaGFuZ2VTY2FsZShudW0pOwogICAgfSwKICAgIC8vIOS4iuS8oOmihOWkhOeQhgogICAgYmVmb3JlVXBsb2FkOiBmdW5jdGlvbiBiZWZvcmVVcGxvYWQoZmlsZSkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgaWYgKGZpbGUudHlwZS5pbmRleE9mKCJpbWFnZS8iKSA9PSAtMSkgewogICAgICAgIHRoaXMubXNnRXJyb3IoIuaWh+S7tuagvOW8j+mUmeivr++8jOivt+S4iuS8oOWbvueJh+exu+WeiyzlpoLvvJpKUEfvvIxQTkflkI7nvIDnmoTmlofku7bjgIIiKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTsKCiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzLm9wdGlvbnMuaW1nID0gcmVhZGVyLnJlc3VsdDsKICAgICAgICB9OwogICAgICB9CiAgICB9LAogICAgLy8g5LiK5Lyg5Zu+54mHCiAgICB1cGxvYWRJbWc6IGZ1bmN0aW9uIHVwbG9hZEltZygpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICB0aGlzLiRyZWZzLmNyb3BwZXIuZ2V0Q3JvcEJsb2IoZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICB2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTsKICAgICAgICBmb3JtRGF0YS5hcHBlbmQoImF2YXRhcmZpbGUiLCBkYXRhKTsKICAgICAgICAoMCwgX3VzZXIudXBsb2FkQXZhdGFyKShmb3JtRGF0YSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgIF90aGlzMi5vcGVuID0gZmFsc2U7CiAgICAgICAgICBfdGhpczIub3B0aW9ucy5pbWcgPSByZXNwb25zZS5pbWdVcmw7CgogICAgICAgICAgX3N0b3JlLmRlZmF1bHQuY29tbWl0KCdTRVRfQVZBVEFSJywgX3RoaXMyLm9wdGlvbnMuaW1nKTsKCiAgICAgICAgICBfdGhpczIubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CgogICAgICAgICAgX3RoaXMyLnZpc2libGUgPSBmYWxzZTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5a6e5pe26aKE6KeICiAgICByZWFsVGltZTogZnVuY3Rpb24gcmVhbFRpbWUoZGF0YSkgewogICAgICB0aGlzLnByZXZpZXdzID0gZGF0YTsKICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["userAvatar.vue"],"names":[],"mappings":";;;;;;;;;AAuDA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAEA;AACA,EAAA,UAAA,EAAA;AAAA,IAAA,UAAA,EAAA;AAAA,GADA;AAEA,EAAA,KAAA,EAAA;AACA,IAAA,IAAA,EAAA;AACA,MAAA,IAAA,EAAA;AADA;AADA,GAFA;AAOA,EAAA,IAPA,kBAOA;AACA,WAAA;AACA;AACA,MAAA,IAAA,EAAA,KAFA;AAGA;AACA,MAAA,OAAA,EAAA,KAJA;AAKA;AACA,MAAA,KAAA,EAAA,MANA;AAOA,MAAA,OAAA,EAAA;AACA,QAAA,GAAA,EAAA,eAAA,OAAA,CAAA,MADA;AACA;AACA,QAAA,QAAA,EAAA,IAFA;AAEA;AACA,QAAA,aAAA,EAAA,GAHA;AAGA;AACA,QAAA,cAAA,EAAA,GAJA;AAIA;AACA,QAAA,QAAA,EAAA,IALA,CAKA;;AALA,OAPA;AAcA,MAAA,QAAA,EAAA;AAdA,KAAA;AAgBA,GAxBA;AAyBA,EAAA,OAAA,EAAA;AACA;AACA,IAAA,WAFA,yBAEA;AACA,WAAA,IAAA,GAAA,IAAA;AACA,KAJA;AAKA;AACA,IAAA,WANA,yBAMA;AACA,WAAA,OAAA,GAAA,IAAA;AACA,KARA;AASA;AACA,IAAA,aAVA,2BAUA,CACA,CAXA;AAYA;AACA,IAAA,UAbA,wBAaA;AACA,WAAA,KAAA,CAAA,OAAA,CAAA,UAAA;AACA,KAfA;AAgBA;AACA,IAAA,WAjBA,yBAiBA;AACA,WAAA,KAAA,CAAA,OAAA,CAAA,WAAA;AACA,KAnBA;AAoBA;AACA,IAAA,WArBA,uBAqBA,GArBA,EAqBA;AACA,MAAA,GAAA,GAAA,GAAA,IAAA,CAAA;AACA,WAAA,KAAA,CAAA,OAAA,CAAA,WAAA,CAAA,GAAA;AACA,KAxBA;AAyBA;AACA,IAAA,YA1BA,wBA0BA,IA1BA,EA0BA;AAAA;;AACA,UAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,QAAA,KAAA,CAAA,CAAA,EAAA;AACA,aAAA,QAAA,CAAA,gCAAA;AACA,OAFA,MAEA;AACA,YAAA,MAAA,GAAA,IAAA,UAAA,EAAA;AACA,QAAA,MAAA,CAAA,aAAA,CAAA,IAAA;;AACA,QAAA,MAAA,CAAA,MAAA,GAAA,YAAA;AACA,UAAA,KAAA,CAAA,OAAA,CAAA,GAAA,GAAA,MAAA,CAAA,MAAA;AACA,SAFA;AAGA;AACA,KApCA;AAqCA;AACA,IAAA,SAtCA,uBAsCA;AAAA;;AACA,WAAA,KAAA,CAAA,OAAA,CAAA,WAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,QAAA,GAAA,IAAA,QAAA,EAAA;AACA,QAAA,QAAA,CAAA,MAAA,CAAA,YAAA,EAAA,IAAA;AACA,gCAAA,QAAA,EAAA,IAAA,CAAA,UAAA,QAAA,EAAA;AACA,UAAA,MAAA,CAAA,IAAA,GAAA,KAAA;AACA,UAAA,MAAA,CAAA,OAAA,CAAA,GAAA,GAAA,QAAA,CAAA,MAAA;;AACA,yBAAA,MAAA,CAAA,YAAA,EAAA,MAAA,CAAA,OAAA,CAAA,GAAA;;AACA,UAAA,MAAA,CAAA,UAAA,CAAA,MAAA;;AACA,UAAA,MAAA,CAAA,OAAA,GAAA,KAAA;AACA,SANA;AAOA,OAVA;AAWA,KAlDA;AAmDA;AACA,IAAA,QApDA,oBAoDA,IApDA,EAoDA;AACA,WAAA,QAAA,GAAA,IAAA;AACA;AAtDA;AAzBA,C","sourcesContent":["<template>\r\n <div>\r\n <div class=\"user-info-head\" @click=\"editCropper()\"><img v-bind:src=\"options.img\" title=\"点击上传头像\" class=\"img-circle img-lg\" /></div>\r\n <el-dialog :close-on-click-modal=\"false\" :title=\"title\" :visible.sync=\"open\" width=\"800px\" append-to-body @opened=\"modalOpened\">\r\n <el-row>\r\n <el-col :xs=\"24\" :md=\"12\" :style=\"{height: '350px'}\">\r\n <vue-cropper\r\n ref=\"cropper\"\r\n :img=\"options.img\"\r\n :info=\"true\"\r\n :autoCrop=\"options.autoCrop\"\r\n :autoCropWidth=\"options.autoCropWidth\"\r\n :autoCropHeight=\"options.autoCropHeight\"\r\n :fixedBox=\"options.fixedBox\"\r\n @realTime=\"realTime\"\r\n v-if=\"visible\"\r\n />\r\n </el-col>\r\n <el-col :xs=\"24\" :md=\"12\" :style=\"{height: '350px'}\">\r\n <div class=\"avatar-upload-preview\">\r\n <img :src=\"previews.url\" :style=\"previews.img\" />\r\n </div>\r\n </el-col>\r\n </el-row>\r\n <br />\r\n <el-row>\r\n <el-col :lg=\"2\" :md=\"2\">\r\n <el-upload action=\"#\" :http-request=\"requestUpload\" :show-file-list=\"false\" :before-upload=\"beforeUpload\">\r\n <el-button size=\"small\">\r\n 选择\r\n <i class=\"el-icon-upload el-icon--right\"></i>\r\n </el-button>\r\n </el-upload>\r\n </el-col>\r\n <el-col :lg=\"{span: 1, offset: 2}\" :md=\"2\">\r\n <el-button icon=\"el-icon-plus\" size=\"small\" @click=\"changeScale(1)\"></el-button>\r\n </el-col>\r\n <el-col :lg=\"{span: 1, offset: 1}\" :md=\"2\">\r\n <el-button icon=\"el-icon-minus\" size=\"small\" @click=\"changeScale(-1)\"></el-button>\r\n </el-col>\r\n <el-col :lg=\"{span: 1, offset: 1}\" :md=\"2\">\r\n <el-button icon=\"el-icon-refresh-left\" size=\"small\" @click=\"rotateLeft()\"></el-button>\r\n </el-col>\r\n <el-col :lg=\"{span: 1, offset: 1}\" :md=\"2\">\r\n <el-button icon=\"el-icon-refresh-right\" size=\"small\" @click=\"rotateRight()\"></el-button>\r\n </el-col>\r\n <el-col :lg=\"{span: 2, offset: 6}\" :md=\"2\">\r\n <el-button type=\"primary\" size=\"small\" @click=\"uploadImg()\">提 交</el-button>\r\n </el-col>\r\n </el-row>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport store from \"@/store\";\r\nimport { VueCropper } from \"vue-cropper\";\r\nimport { uploadAvatar } from \"@/api/system/user\";\r\n\r\nexport default {\r\n components: { VueCropper },\r\n props: {\r\n user: {\r\n type: Object\r\n }\r\n },\r\n data() {\r\n return {\r\n // 是否显示弹出层\r\n open: false,\r\n // 是否显示cropper\r\n visible: false,\r\n // 弹出层标题\r\n title: \"修改头像\",\r\n options: {\r\n img: store.getters.avatar, //裁剪图片的地址\r\n autoCrop: true, // 是否默认生成截图框\r\n autoCropWidth: 200, // 默认生成截图框宽度\r\n autoCropHeight: 200, // 默认生成截图框高度\r\n fixedBox: true // 固定截图框大小 不允许改变\r\n },\r\n previews: {}\r\n };\r\n },\r\n methods: {\r\n // 编辑头像\r\n editCropper() {\r\n this.open = true;\r\n },\r\n // 打开弹出层结束时的回调\r\n modalOpened() {\r\n this.visible = true;\r\n },\r\n // 覆盖默认的上传行为\r\n requestUpload() {\r\n },\r\n // 向左旋转\r\n rotateLeft() {\r\n this.$refs.cropper.rotateLeft();\r\n },\r\n // 向右旋转\r\n rotateRight() {\r\n this.$refs.cropper.rotateRight();\r\n },\r\n // 图片缩放\r\n changeScale(num) {\r\n num = num || 1;\r\n this.$refs.cropper.changeScale(num);\r\n },\r\n // 上传预处理\r\n beforeUpload(file) {\r\n if (file.type.indexOf(\"image/\") == -1) {\r\n this.msgError(\"文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。\");\r\n } else {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n this.options.img = reader.result;\r\n };\r\n }\r\n },\r\n // 上传图片\r\n uploadImg() {\r\n this.$refs.cropper.getCropBlob(data => {\r\n let formData = new FormData();\r\n formData.append(\"avatarfile\", data);\r\n uploadAvatar(formData).then(response => {\r\n this.open = false;\r\n this.options.img = response.imgUrl;\r\n store.commit('SET_AVATAR', this.options.img);\r\n this.msgSuccess(\"修改成功\");\r\n this.visible = false;\r\n });\r\n });\r\n },\r\n // 实时预览\r\n realTime(data) {\r\n this.previews = data;\r\n }\r\n }\r\n};\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.user-info-head {\r\n position: relative;\r\n display: inline-block;\r\n height: 120px;\r\n}\r\n\r\n.user-info-head:hover:after {\r\n content: '+';\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n color: #eee;\r\n background: rgba(0, 0, 0, 0.5);\r\n font-size: 24px;\r\n font-style: normal;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n cursor: pointer;\r\n line-height: 110px;\r\n border-radius: 50%;\r\n}\r\n</style>"],"sourceRoot":"src/views/system/user/profile"}]}