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
11 KiB

{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/codewhy/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/codewhy/src/views/moment/childComps/ChildDetailMoment.vue?vue&type=style&index=0&id=29a4ab0b&scoped=true&lang=css&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/codewhy/src/views/moment/childComps/ChildDetailMoment.vue","mtime":1616066885333},{"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:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoubW9tZW50LWl0ZW1zIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwdmg7CiAgZm9udC1zaXplOiA1cHg7Cn0KLmF2YXRhciB7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDYwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIGJvcmRlci1yYWRpdXM6IDMwcHg7Cn0KLm5hbWUgewogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiA0MCU7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7CiAgbWFyZ2luLXRvcDogNXB4OwogIGNvbG9yOiByZ2IoMzksIDM3LCAzNyk7CiAgZm9udC1zaXplOiAyMHB4Owp9Ci50aW1lIHsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tdG9wOiA4cHg7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7CiAgZm9udC1zaXplOiAxNHB4OwogIHdpZHRoOiA2MCU7Cn0KLmNvbnRlbnQgewogIHdpZHRoOiAxMDAlOwogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1sZWZ0OiA1cHg7CiAgZm9udC1zaXplOiAxNXB4Owp9Ci5pY29uIHsKICB3aWR0aDogMTAwJTsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tdG9wOiAxNXB4OwogIGRpc3BsYXk6IGZsZXg7CiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7CiAgYm9yZGVyLXdpZHRoOiAwLjFweDsKICBib3JkZXItY29sb3I6IHJnYigyMzAsIDIyMCwgMjIwKTsKfQoKLnBpY3R1cmUgewogIG1hcmdpbi10b3A6IDI1cHg7CiAgZGlzcGxheTogaW5saW5lOwoKfQoKLnRleHQgewogIG1hcmdpbi10b3A6IDE1cHg7CiAgbWFyZ2luLWxlZnQ6MTBweDsKfQouaW1hZ2UgewogIG1hcmdpbi10b3A6IDEwcHg7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsKfQouaW5wdXQgewogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgd2lkdGg6IDcwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEyLCAyMTIsIDIxMik7CiAgZmxvYXQ6IGxlZnQ7CiAgZm9udC1zaXplOiAxNXB4Owp9Ci5idXR0b24gewogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogIHdpZHRoOiAyNSU7CiAgZmxvYXQ6IGxlZnQ7Cn0KLmNyZWF0ZWNvbW1lbnQgewogIGRpc3BsYXk6IGlubGluZTsKICB3aWR0aDogMTAwJTsKfQouZm9vdGVyewogIGhlaWdodDogNTAlOwp9Ci5wcmFpc2V7CiAgbWFyZ2luLXJpZ2h0OjEwcHg7CiAgbWFyZ2luLXRvcDo1MHB4OwogIG1hcmdpbi1sZWZ0OjEwcHg7CiAgZmxvYXQ6IGxlZnQ7CiAgd2lkdGg6IDkwJTsKfQoubmV3bW9tZW50ewogIG1hcmdpbi1yaWdodDoxMHB4OwogIG1hcmdpbi10b3A6MjBweDsKICBtYXJnaW4tbGVmdDoxMHB4OwogIGZsb2F0OiBsZWZ0OwogIHdpZHRoOiA5MCU7Cn0K"},{"version":3,"sources":["ChildDetailMoment.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqMA;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;;AAEA;AACA;AACA;;AAEA;;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","file":"ChildDetailMoment.vue","sourceRoot":"src/views/moment/childComps","sourcesContent":["<template>\n <div class=\"moment-items\" >\n <!-- 基本内容 -->\n <div>\n <img class=\"avatar\" :src=\"comments.author && comments.author.avatarUrl\" />\n </div>\n\n <div class=\"name\" >{{ comments.author && comments.author.name }}</div>\n\n <div class=\"time\" >\n {{ this.$moment(comments.createTime).format(\"YYYY-MM-DD HH:mm:ss\") }}\n </div>\n <!-- 图片区域 -->\n <div class=\"content\" >\n <div class=\"text\">{{ comments.content }}</div>\n <div class=\"image\">\n <li\n v-for=\"(item, index) in comments.images\"\n :key=\"index\"\n class=\"picture\" \n >\n <img width=\"100px\" height=\"100px\" :preview=\"index\" :src=\"item+'?type=small'\" />\n <!-- v-lazy=\"item+'?type=small'\" -->\n </li>\n </div>\n </div>\n <!-- 小图标区域 -->\n <icon class=\"icon\" :comments=comments :praise=this.praise @clickpraise=\"clickpraise\" @Popup=Popup v-if=\"this.isdisplay\"></icon>\n <!-- 点赞 -->\n <PraiseList class=\"praise\" :praises=this.praise.praise v-if=\"this.isdisplay\"> </PraiseList>\n\n <!-- 评论 -->\n <CommentList class=\"newmoment\" :newcomments=this.allcomment :Author=comments.author></CommentList>\n \n <!-- 发表评论 -->\n <!-- show是否要显示评论 -->\n <van-popup v-model=\"show\" position=\"bottom\" :style=\"{ height: '10%' }\">\n <div class=\"createcomment\">\n <van-field\n ref=\"gain\"\n class=\"input\"\n v-model=\"comment.content\"\n rows=\"1\"\n autosize\n placeholder=\"请输入评论\"\n show-word-limit\n type=\"textarea\"\n size=\"large\"\n \n v-focus\n maxlength=\"40\"\n />\n <van-button class=\"button\" round type=\"info\" @click=\"createcomment\">评论</van-button>\n </div>\n </van-popup>\n \n \n </div>\n</template>\n\n<script>\nimport icon from '@/views/moment/childComps/icon'\nimport CommentList from '@/components/content/comments/CommentList'\nimport PraiseList from '@/components/content/praises/PraiseList'\nimport {getAllCommnet} from '@/network/comment'\nexport default {\n name:\"ChildDetailMoment\",\n components:{\n CommentList,\n PraiseList,\n icon\n }\n ,\n props: {\n comments: {\n type: Object,\n default() {\n return {};\n },\n },\n },\n data() {\n return {\n id:'',\n show: false,\n isResize: false,\n isshow:true,\n comment: {\n content: \"\",\n momentId:\"\",\n },\n iscomment: true,\n allcomment:[],\n praise:{},\n ispraise:'',\n number:'',\n isdisplay:'true'\n };\n },\n created() {\n this.momentId = this.$route.params.iid;\n getAllCommnet(this.momentId).then((res)=>{\n this.allcomment=res.data;\n })\n this.getdata()\n },\n //局部组成聚焦\n directives: {\n focus: {\n // 指令的定义\n inserted: function (el) {\n el.focus()\n }\n }\n},\n methods: {\n async getdata(){\n const {data:res} = await this.$http.get('/praise/'+this.momentId)\n this.praise=res\n },\n //是否显示评论和聚焦效果拉键盘\n Popup() {\n this.show = !this.show;\n //延迟聚焦\n this.$nextTick(() => {\n this.$refs.gain.focus();\n }, 100);\n },\n refresh(){\n this.isdisplay=false\n this.$nextTick(() => {\n this.isdisplay=true\n }, 100);\n this.getdata()\n },\n //发表成功评论\n async createcomment(){\n this.comment.momentId=this.comments.id\n if(this.iscomment){\n const { data: res } = await this.$http.post(\"comment\", this.comment);\n if(res.insertId!=0){\n this.$emit('refresh')\n this.$message.success(\"评论成功\");\n }\n }else{\n const { data: res } = await this.$http.post(\"comment/\"+this.commentId+'/reply', this.comment);\n if(res.insertId!=0){\n this.iscomment=true\n this.$emit('refresh')\n this.$message.success(\"评论成功\");\n }\n }\n },\n\n async clickpraise() {\n \n const {data:res}= await this.$http.post('/praise/ispraise/'+this.momentId)\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.momentId);\n this.$nextTick(() => {\n this.refresh();\n }, 100);\n } else {\n \n this.number = window.sessionStorage.getItem(\"number\");\n const content = {\n ispraise: \"\",\n };\n content.ispraise = this.number;\n const { data: res } = await this.$http.post(\n \"/praise/update/\" + this.momentId,\n content\n );\n this.$nextTick(() => {\n this.refresh();\n }, 100);\n }\n },\n },\n mounted(){\n this.$bus.$on(\"commentId\",(result)=>{\n this.commentId=result\n this.iscomment=false\n })\n this.$bus.$on(\"comment\", this.Popup);\n }\n};\n</script>\n\n<style scoped>\n.moment-items {\n position: fixed;\n background-color: rgb(255, 255, 255);\n width: 100%;\n height: 100vh;\n font-size: 5px;\n}\n.avatar {\n margin-left: 10px;\n float: left;\n width: 60px;\n height: 60px;\n border-radius: 30px;\n}\n.name {\n float: left;\n width: 40%;\n margin-left: 15px;\n margin-top: 5px;\n color: rgb(39, 37, 37);\n font-size: 20px;\n}\n.time {\n float: left;\n margin-top: 8px;\n margin-left: 15px;\n font-size: 14px;\n width: 60%;\n}\n.content {\n width: 100%;\n float: left;\n margin-left: 5px;\n font-size: 15px;\n}\n.icon {\n width: 100%;\n float: left;\n margin-top: 15px;\n display: flex;\n border-top-style: solid;\n border-width: 0.1px;\n border-color: rgb(230, 220, 220);\n}\n\n.picture {\n margin-top: 25px;\n display: inline;\n\n}\n\n.text {\n margin-top: 15px;\n margin-left:10px;\n}\n.image {\n margin-top: 10px;\n display: flex;\n justify-content: space-evenly;\n}\n.input {\n top: 50%;\n transform: translate(0, -50%);\n border-radius: 20px;\n width: 70%;\n background-color: rgb(212, 212, 212);\n float: left;\n font-size: 15px;\n}\n.button {\n top: 50%;\n transform: translate(0, -50%);\n width: 25%;\n float: left;\n}\n.createcomment {\n display: inline;\n width: 100%;\n}\n.footer{\n height: 50%;\n}\n.praise{\n margin-right:10px;\n margin-top:50px;\n margin-left:10px;\n float: left;\n width: 90%;\n}\n.newmoment{\n margin-right:10px;\n margin-top:20px;\n margin-left:10px;\n float: left;\n width: 90%;\n}\n</style>"]}]}