From 859ec7a60a9a1f30c898dbf1ae05c50dccfc40e5 Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Thu, 11 Aug 2022 01:51:55 +0800
Subject: [PATCH] 优化视频模块内页

---
 src/components/mini/mdDetail.vue |  142 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 113 insertions(+), 29 deletions(-)

diff --git a/src/components/mini/mdDetail.vue b/src/components/mini/mdDetail.vue
index 4c98a31..93149d1 100644
--- a/src/components/mini/mdDetail.vue
+++ b/src/components/mini/mdDetail.vue
@@ -1,16 +1,20 @@
 <template>
-	<div class="article-meta ">
+	<div class="article-meta">
 		<div>
 			<a-button @click="back" style="position: absolute;">
 				<a-icon type="left" />
 			</a-button>
 		</div>
 
-
-		<div class="mySecret" v-if="showMsg && !myLock">
-			<h1>怎样才能让你看到我呢</h1>
-			<h1>只要你要,只要我有...</h1>
-			<span class="myTip">{{errorMsg}}</span>
+		<div v-if="showMsg && !myLock">
+			<div class="mySecretSamll" v-if="articleFileType==myConstant.fileTypeShort">
+					<p>碎碎念只有那么一点了,但是下面依旧可以碎碎念</p>
+			</div>
+			<div class="mySecret" v-else>
+				<h1>怎样才能让你看到我呢</h1>
+				<h1>只要你要,只要我有...</h1>
+				<span class="myTip">{{errorMsg}}</span>
+			</div>
 		</div>
 
 		<div v-else>
@@ -24,47 +28,74 @@
 					</a-input-password>
 				</a-auto-complete>
 				<span class="myTip">{{errorMsg}}</span>
-
-
 			</div>
 
 			<div class="markdown-body article-detail" v-else>
 				<vue-markdown :source="source"></vue-markdown>
 			</div>
 		</div>
-
+		<div class="articleInfoMiniData" >
+			<div class="smallOption" @click="articleOptionHandle('dislike')">
+				<a-icon type="dislike" style="margin-top: 2px;" />
+			</div>
+			<div>
+				<a-icon type="read" class="samllPadding" />
+				<span>{{articelMeta.readCount==null?'--':articelMeta.readCount}}</span>
+			</div>
+			<div class="smallOption" @click="articleOptionHandle('like')">
+				<a-icon type="like" class="samllPadding" />
+				<span>{{articelMeta.likeCount==null?'0':articelMeta.likeCount}}</span>
+			</div>
+			<div>
+				<!-- <a-icon type="folder-open" class="samllPadding" /> -->
+				<a-icon type="book" class="samllPadding" />
+				<span>{{articelMeta.articleTypeName==null?'--':articelMeta.articleTypeName}}</span>
+			</div>
+			<div>
+				<a-icon type="calendar" class="samllPadding" />
+				<span>{{articelMeta.publishDate==null?'--':articelMeta.publishDate}}</span>
+			</div>
+		</div>
+		<div class="articleComment">
+			<comment ref="myComment" :articleId="articleId" :isAllowedComment="isAllowedComment" />
+		</div>
 
 	</div>
 
 </template>
 
 <script>
-	// import esPath from '../../assets/es.md'
 	import VueMarkdown from 'vue-markdown'
 	import md5 from 'js-md5';
 
 	import {
 		queryBlogArticleDetail
 	} from '../../api/blogArticle.js'
-
+	import comment from "../mini/box12-comment.vue"
 
 	import axios from 'axios'
-
+	import myConstant from "../../config/myConstant.js"
+	
 	export default {
 		components: {
-			VueMarkdown
+			VueMarkdown,
+			comment
 		},
 		data() {
 			return {
+				myConstant:myConstant,
+				articelMeta: "",
+				isAllowedComment: 1,
+				articleId: "",
+				articleFileType: myConstant.fileTypeMarkDown,
 				source: "",
-				acticleId: "",
 				showMsg: false,
 				myLock: false,
 				errorMsg: '',
 				secret: '',
 				search: {
 					placeholder: "",
-					autoFocus: true,
+					autoFocus: false,
 					backfill: true,
 					value: '',
 					disabled: false
@@ -72,30 +103,41 @@
 			}
 		},
 		created() {
-			this.acticleId = this.$route.query.id;
+			this.articleId = this.$route.query.id;
+			this.articleFileType = this.$route.query.articleFileType;
 		},
 		watch: {
 			'$route'(to, from) {
 				if ("mdDetail" === to.name) {
-					this.acticleId = this.$route.query.id;
+					this.articleId = this.$route.query.id;
+					this.articleFileType = this.$route.query.articleFileType;
 				}
 			},
-			acticleId: function(newValue, oldValue) {
+			articleId: function(newValue, oldValue) {
 				if (newValue == undefined || newValue == null || newValue == "") {
 					this.showMsg = true;
 					this.errorMsg = "日志id参数缺失";
 				} else {
 					this.queryDetail();
+					this.$refs.myComment.updateCommentList(this.articleId);
 				}
-			}
-
+			},
 		},
 		methods: {
+			articleOptionHandle(type) {
+				this.$message.info(type)
+			},
 			queryDetail() {
 				this.showMsg = true;
 				this.errorMsg = "加载中..";
+
+				if (this.articleFileType == myConstant.fileTypeShort) {
+					this.errorMsg = "没有更多啦..";
+					return
+				}
+
 				queryBlogArticleDetail({
-					id: this.acticleId,
+					id: this.articleId,
 					authWord: this.secret == "" ? null : md5(this.secret)
 				}).then((res) => {
 					this.showMsg = true;
@@ -119,19 +161,21 @@
 								placement: 'bottomRight'
 							});
 						}
-
 						return
 					}
+					// this.test = res.data.isAllowedComment == 1 ? true : false;
 
-
-					//获取日志资源文件
-					this.showMsg = false;
-					this.errorMsg = "";
+					this.isAllowedComment = res.data.isAllowedComment;
+					this.articelMeta = res.data;
 					this.$axios
 						.get(res.data.articleFileURL)
 						.then((res) => {
 							this.source = res.data;
 						})
+
+					//获取日志资源文件
+					this.showMsg = false;
+					this.errorMsg = "";
 				})
 			},
 			pressEnter() {
@@ -152,12 +196,40 @@
 				this.$router.go(-1);
 			}
 		},
-		
+
 	}
 </script>
 
 <style lang="less">
 	@import '../../assets/md.less';
+
+
+	.smallOption {
+		transition-function: ease-out;
+		transition-duration: 200ms;
+		-webkit-transition-function: ease-out;
+		-webkit-transition-duration: 200ms;
+		-moztransition-function: ease-out;
+		-moztransition-duration: 200ms;
+		-o-transition-function: ease-out;
+		-o-transition-duration: 200ms;
+	}
+
+	.smallOption:hover {
+		transform: scale(1.55, 1.55);
+		-webkit-transform: scale(1.55, 1.55);
+		-moz-transform: scale(1.55, 1.55);
+		-o-transform: scale(1.55, 1.55);
+	}
+
+	.articleInfoMiniData {
+		user-select: none;
+		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1), -8px -8px 18px #ffffff;
+		padding: 10px 50px;
+		display: flex;
+		justify-content: space-between;
+		flex-wrap: wrap;
+	}
 
 	.mySecret {
 		height: 715px;
@@ -168,8 +240,20 @@
 		align-items: center;
 	}
 
-	.markdown-body {
-		padding: 10px 20px 10px 20px;
+	.mySecretSamll {
+		height: 115px;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		padding-left: auto;
+		align-items: center;
+	}
+
+
+	.markdown-body,
+	.articleComment {
+		min-height: 70%;
+		padding: 35px 20px 30px 20px;
 		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1),
 			-8px -8px 18px #ffffff;
 	}

--
Gitblit v1.9.1