From fa1bd95d533444d7360d1ada127b7a3279a3901f Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Fri, 26 Aug 2022 18:43:56 +0800
Subject: [PATCH] 新增图组等上传支持 新增编辑页

---
 src/components/mini/box12-comment.vue |   82 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 8 deletions(-)

diff --git a/src/components/mini/box12-comment.vue b/src/components/mini/box12-comment.vue
index 684caa2..c3d651a 100644
--- a/src/components/mini/box12-comment.vue
+++ b/src/components/mini/box12-comment.vue
@@ -10,8 +10,9 @@
 		</div>
 
 		<a-modal v-model="visible" :title="replyTaget" :footer="null"
-			:bodyStyle="{'overflow':'overlay','maxHeight': '550px','scrollbarWidth': 'none'}">
-			<replyBox ref="replyBoxId" v-bind="$attrs" @sendMsg="sendMsg()"></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" style="max-height:250px ;" v-if="commentListData.length==0">
@@ -41,7 +42,7 @@
 						<div class="samllPadding">:</div>
 					</div>
 
-					<p :id="temp.id" 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">
@@ -75,7 +76,7 @@
 								</a-tooltip>
 							</div>
 						</div>
-						<p :id="tempData.id" slot="content">{{tempData.commentContent}}</p>
+						<p :id="tempData.id" slot="content" v-html="parseContent(tempData.commentContent)"></p>
 					</a-comment>
 				</a-comment>
 
@@ -98,22 +99,51 @@
 
 <script>
 	import replyBox from "./box13-reply.vue"
-
 	import {
 		queryBlogCommentList,
 		queryBlogCommentSubList
 	} from '../../api/blogArticleComment.js'
+	import OwOjsonConfig from '../../assets/OwO.json'
 
 	export default {
 		components: {
-			replyBox
+			replyBox,
 		},
 		props: {
 			"foldReply": {
 				default: false,
 			},
 		},
+		mounted() {
+			let packages = Object.keys(OwOjsonConfig)
+			for (let i = 0; i < packages.length; i++) {
+				let opackage = OwOjsonConfig[packages[i]].container
+				let type = OwOjsonConfig[packages[i]].type
+				for (let j = 0; j < opackage.length; j++) {
+					if (type == 'image') {
+						this.myOwOConfig[opackage[j].data] = `<img loading="lazy" class="biaoqing ` + opackage[j].css +
+							`" src="` + opackage[j].icon + `">`
+					}
+				}
+			}
+		},
 		methods: {
+			parseContent(content) {
+				let tempStrArray = content.match(this.re);
+
+				if (tempStrArray == null) {
+					return content;
+				}
+
+				for (var i = 0; i < tempStrArray.length; i++) {
+					if (this.myOwOConfig[tempStrArray[i]] == undefined || this.myOwOConfig[tempStrArray[i]] == null) {
+						continue;
+					}
+					content = content.replace(tempStrArray[i], this.myOwOConfig[tempStrArray[i]])
+				}
+
+				return content;
+			},
 			updateCommentList(articleId) {
 				queryBlogCommentList({
 					pageNo: this.page.current,
@@ -174,12 +204,33 @@
 				replyTaget: "",
 				visible: false,
 				commentListData: [],
+				myOwOConfig: {},
+				re: new RegExp(":&\\(\\S*?\\)", "g"),
 			}
 		}
 	}
 </script>
 
 <style lang="less">
+	img.biaoqing.quyin {
+		margin-bottom: 0.2rem;
+		min-height: 2.5rem;
+		height: 2em;
+	}
+
+	.ant-comment img,
+	.myContent img {
+		margin-bottom: 0.2rem;
+		min-height: 2.5rem;
+		height: 2em;
+	}
+
+	.myContent {
+		* {
+			max-width: 100% !important;
+		}
+	}
+
 	.samllPadding {
 		padding: 0px 3px 5px;
 	}
@@ -219,6 +270,8 @@
 		justify-content: flex-end;
 	}
 
+
+
 	.commentList {
 		a {
 			color: black;
@@ -226,6 +279,10 @@
 
 		img {
 			user-select: none;
+		}
+
+		.ant-comment-nested {
+			margin-left: 20px;
 		}
 
 		.ant-comment-avatar {
@@ -251,9 +308,14 @@
 		}
 
 		.commentGroup {
-			border-top: 1px solid #e5e9ef;
-			margin-bottom: 5px;
 			padding-bottom: 0px;
+			border-bottom: 1px solid #e5e9ef;
+		}
+
+		.commentGroup:hover {
+			background: #e5e9ef;
+			border-radius: 14px;
+			border-bottom:none
 		}
 
 		.ant-comment-content-detail {
@@ -264,5 +326,9 @@
 				margin-bottom: 0px;
 			}
 		}
+
+
+
+
 	}
 </style>

--
Gitblit v1.9.1