From c14e3278893b9dd1022aa488cee53a888c2a4c7e Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Tue, 16 Aug 2022 19:34:48 +0800
Subject: [PATCH] 表情组件优化

---
 src/components/mini/box12-comment.vue |  111 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 71 insertions(+), 40 deletions(-)

diff --git a/src/components/mini/box12-comment.vue b/src/components/mini/box12-comment.vue
index 22e675e..9e748ed 100644
--- a/src/components/mini/box12-comment.vue
+++ b/src/components/mini/box12-comment.vue
@@ -1,15 +1,24 @@
 <template>
 	<div>
-		<replyBox ref="commentBoxId" v-bind="$attrs"></replyBox>
+		<a-collapse v-if="foldReply">
+			<a-collapse-panel key="replyPanel" header="回复">
+				<replyBox ref="commentBoxId" v-bind="$attrs" @sendMsg="sendMsg()"></replyBox>
+			</a-collapse-panel>
+		</a-collapse>
+		<div v-else>
+			<replyBox ref="commentBoxId" v-bind="$attrs" @sendMsg="sendMsg()" ></replyBox>
+		</div>
+
 		<a-modal v-model="visible" :title="replyTaget" :footer="null"
-			:bodyStyle="{'overflow':'overlay','maxHeight': '550px','scrollbarWidth': 'none'}">
-			<replyBox ref="replyBoxId" v-bind="$attrs"></replyBox>
+			:bodyStyle="{'overflow':'overlay','height': '700px','scrollbarWidth': 'none'}">
+			<replyBox ref="replyBoxId" v-bind="$attrs" @sendMsg="sendMsg()" :parseContent="parseContent"
+				:visible="visible"></replyBox>
 		</a-modal>
-		<div class="mySecret" v-if="commentListData.length==0">
+
+		<div class="mySecret" style="max-height:250px ;" v-if="commentListData.length==0">
 			<p>空空如也..</p>
 		</div>
 		<div v-for="temp in commentListData" class="commentList">
-
 			<div class="commentGroup">
 				<a-comment>
 					<div slot="actions" key="comment-nested-reply-to" class="actionList">
@@ -30,10 +39,10 @@
 								{{temp.visitorNickName}}
 							</a-tooltip>
 						</div>
-						<div>:</div>
+						<div class="samllPadding">:</div>
 					</div>
 
-					<p slot="content">{{temp.commentContent}}</p>
+					<p :id="temp.id" slot="content" v-html="parseContent(temp.commentContent)" class="myContent"></p>
 
 					<a-comment v-for="tempData in temp.replyList">
 						<div slot="actions" key="comment-nested-reply-to" class="actionList">
@@ -54,21 +63,20 @@
 									{{tempData.visitorNickName}}
 								</a-tooltip>
 							</div>
-							<div>:</div>
-						</div>
-
-						<div slot="content" class="myTip myTextDeal" style="padding-bottom: 5px; max-width: 150px;">
-							@<a :href="tempData.replyUserHomePage" target="_blank"
-								v-if="tempData.replyUserHomePage!=''">
-								<a-tooltip placement="bottomLeft" :title="tempData.replyUserName">
+							<div class="samllPadding">:</div>
+							<div class="myTip myTextDeal" style="padding-bottom: 5px; max-width: 150px;">
+								@<a :href="tempData.replyUserHomePage" target="_blank"
+									v-if="tempData.replyUserHomePage!=''">
+									<a-tooltip placement="bottomLeft" :title="tempData.replyUserName">
+										{{tempData.replyUserName}}
+									</a-tooltip>
+								</a>
+								<a-tooltip placement="bottomLeft" :title="tempData.replyUserName" v-else>
 									{{tempData.replyUserName}}
 								</a-tooltip>
-							</a>
-							<a-tooltip placement="bottomLeft" :title="tempData.replyUserName" v-else>
-								{{tempData.replyUserName}}
-							</a-tooltip>
+							</div>
 						</div>
-						<p slot="content">{{tempData.commentContent}}</p>
+						<p :id="tempData.id" slot="content" v-html="parseContent(tempData.commentContent)"></p>
 					</a-comment>
 				</a-comment>
 
@@ -79,7 +87,6 @@
 				</div>
 			</div>
 		</div>
-
 		<a-row type="flex" justify="center">
 			<div>
 				<a-pagination @change="onChange" :showQuickJumper="true" :size="page.size" v-model="page.current"
@@ -92,41 +99,50 @@
 
 <script>
 	import replyBox from "./box13-reply.vue"
-
 	import {
 		queryBlogCommentList,
 		queryBlogCommentSubList
 	} from '../../api/blogArticleComment.js'
+	import OwOjsonConfig from '../../assets/OwO.json'
 
 	export default {
-		props: ["articleId"],
 		components: {
-			replyBox
+			replyBox,
 		},
-		beforeMount() {
-			queryBlogCommentList({
-				pageNo: this.page.current,
-				pageSize: this.page.pageSize,
-				articleId: this.$attrs.acticleId
-			}).then((res) => {
-				this.page.total = Number(res.data.total)
-				this.page.pageSize = Number(res.data.size);
-				this.commentListData = res.data.records;
-				return res
-			})
+		props: {
+			"foldReply": {
+				default: false,
+			},
 		},
 		methods: {
-			onChange(current) {
-				this.page.current = current;
+			parseContent(content) {
+				let  tempStrArray=content.match("\:\&\(.*\)");
+				
+				console.log(OwOjsonConfig);
+				console.log(333);
+				return content;
+			},
+			updateCommentList(articleId) {
 				queryBlogCommentList({
 					pageNo: this.page.current,
 					pageSize: this.page.pageSize,
-					articleId: this.$attrs.articleId
+					articleId: articleId
 				}).then((res) => {
 					this.page.total = Number(res.data.total)
 					this.page.pageSize = Number(res.data.size);
 					this.commentListData = res.data.records;
 				})
+			},
+			sendMsg() {
+				this.visible = false;
+				this.$message.info("列表刷新中..")
+				setTimeout(() => {
+					this.updateCommentList(this.$attrs.articleId);
+				}, 1000);
+			},
+			onChange(current) {
+				this.page.current = current;
+				this.updateCommentList();
 			},
 			loadMore(temp) {
 				temp.isHasNext = 0;
@@ -156,8 +172,6 @@
 		},
 		data() {
 			return {
-				// articleId: null,
-				isAllowedComment: true,
 				page: {
 					size: "small",
 					total: 1,
@@ -168,13 +182,22 @@
 				replyTaget: "",
 				visible: false,
 				commentListData: [],
-
 			}
 		}
 	}
 </script>
 
 <style lang="less">
+	.myContent img {
+		margin-bottom: -0.125rem;
+		img min-height: 3.5rem;
+		height: 2em;
+	}
+
+	.samllPadding {
+		padding: 0px 3px 5px;
+	}
+
 	.visitInfo {
 		user-select: none;
 	}
@@ -219,6 +242,10 @@
 			user-select: none;
 		}
 
+		.ant-comment-nested {
+			margin-left: 20px;
+		}
+
 		.ant-comment-avatar {
 			cursor: default;
 		}
@@ -238,6 +265,7 @@
 
 		.ant-comment-inner {
 			padding: 10px 10px 0px;
+			flex-direction: column;
 		}
 
 		.commentGroup {
@@ -247,6 +275,9 @@
 		}
 
 		.ant-comment-content-detail {
+			padding-left: 50px;
+			padding-top: 5px;
+
 			p {
 				margin-bottom: 0px;
 			}

--
Gitblit v1.9.1