You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
8.9 KiB

{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/codewhy/src/components/content/moments/MomentListItem.vue?vue&type=style&index=0&id=5519b321&scoped=true&lang=css&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/src/components/content/moments/MomentListItem.vue","mtime":1616418376616},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/css-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/postcss-loader/src/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKbGkgewogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi5tb21lbnQtaXRlbXMgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgd2lkdGg6IDEwMCU7CiAgZm9udC1zaXplOiA1cHg7Cn0KLmF2YXRhciB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiA1MHB4OwogIGJvcmRlci1yYWRpdXM6IDI1cHg7Cn0KLm5hbWUgewogIGZsb2F0OiBsZWZ0OwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgbWFyZ2luLXRvcDogNXB4OwogIG1hcmdpbi1sZWZ0OiAxMHB4OwogIGZvbnQtc2l6ZTogMTVweDsKfQoudGltZSB7CiAgbWFyZ2luLWxlZnQ6IDcwcHg7CiAgbWFyZ2luLXRvcDogMzBweDsKICBmb250LXNpemU6IDZweDsKfQouY29udGVudCB7CiAgbWFyZ2luLXRvcDogMTVweDsKICBtYXJnaW4tbGVmdDogNXB4OwogIGZvbnQtc2l6ZTogMTVweDsKICBtYXJnaW4tYm90dG9tOiAxNXB4Owp9Ci5pY29uIHsKICBtYXJnaW4tdG9wOiAxNXB4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OwogIGRpc3BsYXk6IGZsZXg7CiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7CiAgYm9yZGVyLXdpZHRoOiAwLjFweDsKICBib3JkZXItY29sb3I6IHJnYigyMzAsIDIyMCwgMjIwKTsKfQoKLmljb24xewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6LTExcHggIWltcG9ydGFudDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgouaWNvbiBkaXZ7CiAgaGVpZ2h0OiAyM3B4OwogIHdpZHRoOiAzMHB4Owp9CgouaWNvbiBpbWd7CiAgd2lkdGg6IDIwcHg7CiAgaGVpZ2h0OiAyMXB4Owp9CgouaWNvbiBzcGFuewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6LThweDsKICBmb250LXNpemU6IDJweCAhaW1wb3J0YW50OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCiNkZWxldGUgewogIGZsb2F0OiByaWdodDsKICBtYXJnaW4tdG9wOjVweDsKICBtYXJnaW4tcmlnaHQ6NXB4Owp9Ci5lbC1pY29uLWRlbGV0ZSB7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KLnJlbW92ZSB7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KCi50ZXh0IHsKICBtYXJnaW46IDIwcHggNXB4Owp9Ci5pbWFnZSB7CiAgbWFyZ2luLXRvcDogMTVweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5Owp9Cg=="},{"version":3,"sources":["MomentListItem.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4JA;AACA;AACA;;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"MomentListItem.vue","sourceRoot":"src/components/content/moments","sourcesContent":["<template>\n <div class=\"moment-items\" v-if=\"isExist\">\n <div>\n <img class=\"avatar\" @load=\"uploadavatar\" v-lazy=\"showImage\" />\n </div>\n <div class=\"name\">{{ moments.author.name }}</div>\n\n <i\n @click=\"remove\"\n id=\"delete\"\n class=\"el-icon-delete\"\n style=\"font-size: 20px\"\n ></i>\n\n <div class=\"time\">\n {{ this.$moment(moments.createAT).fromNow() }}\n </div>\n\n <div class=\"text\">{{ moments.content }}</div>\n <div class=\"image\">\n <li v-for=\"(item, index) in moments.images\" :key=\"index\">\n <img\n @load=\"uploadavatar\"\n width=\"100px\"\n height=\"100px\"\n :preview=\"index\"\n :src=\"item + '?type=small'\"\n />\n <!-- v-lazy=\"item+'?type=small'\" -->\n </li>\n </div>\n\n <div class=\"icon\" v-if=\"this.isdisplay\">\n <div>\n <i @click=\"clickpraise\"> <img src=\"@/assets/img/moment/praise.svg\"/></i\n ><span class=\"icon1\">{{ this.praise.promiseCount }}</span>\n </div>\n <div>\n <i\n class=\"el-icon-chat-dot-square\"\n style=\"font-size: 20px\"\n @click=\"comment\"\n ></i>\n <span>{{moments.commentCount}}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n name: \"MomentListItem\",\n props: {\n moments: {\n type: Object,\n default() {\n return {};\n }\n }\n },\n data() {\n return {\n id: this.moments.id,\n isExist: true,\n images: [],\n praise: {},\n isdisplay: true,\n number: \"\",\n isfrist: true,\n token: \"\"\n };\n },\n created() {\n this.getAllPraise();\n window.sessionStorage.setItem(\"number\", \"0\");\n this.token = window.sessionStorage.getItem(\"token\");\n },\n computed: {\n showImage() {\n return this.moments.author.avatarUrl;\n }\n },\n methods: {\n uploadavatar() {\n this.$bus.$emit(\"upload\");\n },\n async remove() {\n if (!this.token) {\n this.$router.push(\"/login\");\n } else {\n try {\n await this.$http.delete(\"/moment/\" + this.id);\n this.isExist = !this.isExist;\n this.$message.success(\"删除成功\");\n this.$bus.$emit(\"upload\");\n } catch {\n this.$message.error(\"你不具备删除该动态权限\");\n }\n }\n },\n comment() {\n this.$router.push(\"detailcomment/\" + this.moments.id);\n },\n async getAllPraise() {\n const { data: res } = await this.$http.get(\"/praise/\" + this.moments.id);\n this.praise = res;\n },\n refresh() {\n this.isdisplay = false;\n this.$nextTick(() => {\n this.isdisplay = true;\n }, 100);\n this.getAllPraise();\n },\n //发表成功评论\n async clickpraise() {\n if (!this.token) {\n this.$router.push(\"/login\");\n } else {\n const { data: res } = await this.$http.post(\n \"/praise/ispraise/\" + this.moments.id\n );\n if (res.status != \"200\") {\n this.number = window.sessionStorage.getItem(\"number\");\n if (this.number === \"1\") window.sessionStorage.setItem(\"number\", \"0\");\n else {\n window.sessionStorage.setItem(\"number\", \"1\");\n }\n }\n if (res.status == \"200\") {\n await this.$http.post(\"/praise/\" + this.moments.id);\n this.$nextTick(() => {\n this.refresh();\n }, 100);\n } else {\n this.number = window.sessionStorage.getItem(\"number\");\n const content = {\n ispraise: \"\"\n };\n content.ispraise = this.number;\n await this.$http.post(\"/praise/update/\" + this.moments.id, content);\n this.$nextTick(() => {\n this.refresh();\n }, 100);\n }\n }\n },\n isclickpraise() {}\n },\n mounted() {\n this.$bus.$on(\"aaispraise\", this.isclickpraise);\n }\n};\n</script>\n\n<style scoped>\nli {\n list-style: none;\n}\n\n.moment-items {\n position: relative;\n background-color: rgb(255, 255, 255);\n width: 100%;\n font-size: 5px;\n}\n.avatar {\n float: left;\n margin-left: 10px;\n width: 50px;\n height: 50px;\n border-radius: 25px;\n}\n.name {\n float: left;\n font-weight: 600;\n margin-top: 5px;\n margin-left: 10px;\n font-size: 15px;\n}\n.time {\n margin-left: 70px;\n margin-top: 30px;\n font-size: 6px;\n}\n.content {\n margin-top: 15px;\n margin-left: 5px;\n font-size: 15px;\n margin-bottom: 15px;\n}\n.icon {\n margin-top: 15px;\n justify-content: space-evenly;\n display: flex;\n border-top-style: solid;\n border-width: 0.1px;\n border-color: rgb(230, 220, 220);\n}\n\n.icon1{\n position: relative;\n top:-11px !important;\n vertical-align: middle;\n}\n\n.icon div{\n height: 23px;\n width: 30px;\n}\n\n.icon img{\n width: 20px;\n height: 21px;\n}\n\n.icon span{\n position: relative;\n top:-8px;\n font-size: 2px !important;\n vertical-align: middle;\n}\n\n#delete {\n float: right;\n margin-top:5px;\n margin-right:5px;\n}\n.el-icon-delete {\n margin-left: 20px;\n}\n.remove {\n margin-left: 20px;\n}\n\n.text {\n margin: 20px 5px;\n}\n.image {\n margin-top: 15px;\n display: flex;\n justify-content: space-evenly;\n}\n</style>\n"]}]}