From 5dfef883049e7f0670f6c6b1b225b233aee41eea Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Thu, 03 Mar 2022 01:30:11 +0800
Subject: [PATCH] 评论页刷新策略调整

---
 src/components/mini/mdDetail.vue |  141 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 99 insertions(+), 42 deletions(-)

diff --git a/src/components/mini/mdDetail.vue b/src/components/mini/mdDetail.vue
index 73394c8..54ac32a 100644
--- a/src/components/mini/mdDetail.vue
+++ b/src/components/mini/mdDetail.vue
@@ -7,45 +7,62 @@
 		</div>
 
 
-		<div class="mySecret" v-if="!isHasId">
-			<h1>天长地久有时尽,此爱绵绵无绝期..</h1>
-			<h3>日志id参数缺失</h3>
-
+		<div class="mySecret" v-if="showMsg && !myLock">
+			<h1>怎样才能让你看到我呢</h1>
+			<h1>只要你要,只要我有...</h1>
+			<span class="myTip">{{errorMsg}}</span>
 		</div>
+
 		<div v-else>
 			<div class="mySecret" v-if="myLock">
-
 				<h1>越不正经的人越深情..</h1>
-				
 				<h3>受庇护的文字..输入神秘代码以解除封印</h3>
-				<a-auto-complete v-model="secret" ref="mySearch" v-bind="search" @blur="pass">
-					<a-input-password @pressEnter="pass">
+
+				<a-auto-complete v-model="secret" ref="mySearch" v-bind="search" @blur="pressEnter">
+					<a-input-password @pressEnter="pressEnter">
 						<a-icon slot="prefix" type="lock" style="color:rgba(0,0,0,.25)" />
 					</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="articleComment">
+			<comment ref="myComment" :articleId="articleId"> </comment>
+		</div>
 	</div>
+
 </template>
 
 <script>
 	import VueMarkdown from 'vue-markdown'
-	import esPath from '../../assets/es.md'
+	import md5 from 'js-md5';
+
+	import {
+		queryBlogArticleDetail
+	} from '../../api/blogArticle.js'
+	import comment from "../mini/box12-comment.vue"
+
+	import axios from 'axios'
 
 	export default {
-		props: ['id'], //接收动态路由的值
 		components: {
-			VueMarkdown
+			VueMarkdown,
+			comment
 		},
 		data() {
 			return {
-				isHasId: false,
+				source: "",
+				articleId: "",
+				showMsg: false,
+				myLock: false,
+				errorMsg: '',
 				secret: '',
-				myLock: true,
 				search: {
 					placeholder: "",
 					autoFocus: true,
@@ -53,44 +70,82 @@
 					value: '',
 					disabled: false
 				},
-				// secret: "",
-				source: esPath,
 			}
 		},
 		created() {
-			var queryId = this.$route.query.id;
-			if (queryId == undefined || queryId == null || queryId == "") {
-				this.$message.error('日志id缺失..', 2.5)
-			} else {
-				this.isHasId = true;
-			}
-
+			this.articleId = this.$route.query.id;
 		},
 		watch: {
 			'$route'(to, from) {
-				var queryId = this.$route.query.id;
-				if (queryId == undefined || queryId == null || queryId == "") {
-					this.$message.error('日志id缺失..', 2.5)
+				if ("mdDetail" === to.name) {
+					this.articleId = this.$route.query.id;
 				}
-
+			},
+			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: {
-			pass() {
+			queryDetail() {
+				this.showMsg = true;
+				this.errorMsg = "加载中..";
+				queryBlogArticleDetail({
+					id: this.articleId,
+					authWord: this.secret == "" ? null : md5(this.secret)
+				}).then((res) => {
+					this.showMsg = true;
+					this.myLock = false;
+					this.errorMsg = res.message;
+					this.source = "";
+					if (res.code != 200) {
+
+						if (res.code == 1019001) {
+							//日志需要授权
+							this.errorMsg = "";
+							this.myLock = true;
+						} else if (res.code == 1019002) {
+							//授权码错误
+							this.errorMsg = "口令错误..神秘力量依然阻止了你的前进";
+							this.myLock = true;
+						} else {
+							this.$notification.error({
+								message: '好像哪里不对劲..',
+								description: res.message,
+								placement: 'bottomRight'
+							});
+						}
+
+						return
+					}
+
+					this.$axios
+						.get(res.data.articleFileURL)
+						.then((res) => {
+							this.source = res.data;
+						})
+
+					//获取日志资源文件
+					this.showMsg = false;
+					this.errorMsg = "";
+				})
+			},
+			pressEnter() {
 				if (this.secret == "") {
 					return
 				}
 				this.search.disabled = true
-
+				this.source = "";
 				this.$message
-					.loading('卍解..', 1.5)
+					.loading('卍解..', 1)
 					.then(() => {
-						// this.myLock = false;
-						// this.$message.success('Loading finished', 2.5)
-
-
-						this.$message.warn('错了错了..', 2.5)
-
+						this.queryDetail();
 						this.search.disabled = false;
 					})
 
@@ -99,11 +154,7 @@
 				this.$router.go(-1);
 			}
 		},
-		mounted() {
-			// console.log(this.$route.params)
-			// console.log(this.$route.params.id)
-			// console.log(this.$route.query.id)
-		}
+
 	}
 </script>
 
@@ -119,8 +170,14 @@
 		align-items: center;
 	}
 
-	.markdown-body {
-		padding: 10px 20px 10px 20px;
+	.articleComment {
+		margin-top: 20px;
+	}
+
+	.markdown-body,
+	.articleComment {
+		min-height: 750px;
+		padding: 35px 20px 10px 20px;
 		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1),
 			-8px -8px 18px #ffffff;
 	}

--
Gitblit v1.9.1