From 80476fae71f08bf4408c7509eff254031a4eeac6 Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Wed, 24 Aug 2022 18:47:09 +0800
Subject: [PATCH] 路由修正,常量提取

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

diff --git a/src/components/mini/mdDetail.vue b/src/components/mini/mdDetail.vue
index b85966b..7c8734a 100644
--- a/src/components/mini/mdDetail.vue
+++ b/src/components/mini/mdDetail.vue
@@ -1,10 +1,5 @@
 <template>
 	<div class="article-meta">
-		<!-- <div>
-			<a-button @click="()=>this.$router.back(-1)" style="position: absolute;">
-				<a-icon type="left" />
-			</a-button>
-		</div> -->
 
 		<div class="headertop filter-dot headertop-bar " v-if="coverURL.length>0">
 			<figure class="centerbg" v-bind:style="{'background-image':'url('+this.coverURL+')'}">
@@ -12,7 +7,7 @@
 		</div>
 
 		<div v-if="showMsg && !myLock">
-			<div class="mySecretSamll" v-if="articleFileType==myConstant.fileTypeShort">
+			<div class="mySecretSamll" v-if="articleFileType==fileType.fileTypeTalking_9">
 				<p>碎碎念只有那么一点了</p>
 				<p>但是下面依旧可以碎碎念</p>
 			</div>
@@ -37,24 +32,25 @@
 				<span class="myTip">{{errorMsg}}</span>
 			</div>
 
-			<div class="mySecret" v-else-if="articleFileType==myConstant.fileTypeVideo
-				|| articleFileType==myConstant.fileTypeMp3
-				|| articleFileType==myConstant.fileTypeShort">
+			<div class="mySecret" v-else-if="articleFileType==fileType.fileTypeVideo_3
+				|| articleFileType==fileType.fileTypeVideo_3
+				|| articleFileType==fileType.fileTypeTalking_9">
 
 				<div class="mySecretSamll" v-if="introduce.length==0">
-					<p>碎碎念只有那么一点了</p>
+					<p>碎碎念只有那么一点了22</p>
 					<p>但是下面依旧可以碎碎念</p>
 				</div>
-				<pre style="white-space: pre-line;">
-				{{introduce}}
+				<pre style="white-space: pre-line;padding: 10px;max-width: 100%;">
+					{{introduce}}
 				</pre>
 			</div>
-
-			<div class="markdown-body article-detail " v-else>
-				<vue-markdown :source="source" ></vue-markdown>
+			<div v-viewer.static class="markdown-body article-detail" v-else>
+				<div class="articleTitle">
+					<h4>{{articelMeta.title}}</h4>
+				</div>
+				<vue-markdown :source="source"></vue-markdown>
 			</div>
 		</div>
-
 		<!-- <div class="articleInfoMiniData">
 			<div>
 				<a-icon type="calendar" class="samllPadding" />
@@ -78,12 +74,40 @@
 				<a-icon type="folder-open" class="samllPadding" />
 		</div> -->
 
+		<div class="articleInfoMiniData">
+			<div class="myTitleDeal">
+				<a-icon type="left" />
+				<a-tooltip placement="bottomLeft" :title="'上一篇: '+articelMeta.previousRecord.title"
+					v-if="articelMeta.previousRecord !=null">
+					<router-link
+						:to="{path:'/mdDetail',query:{id:articelMeta.previousRecord.id,articleFileType:articleFileType,typeId:typeId}}"
+						class="article-title">
+						{{articelMeta.previousRecord.title}}
+					</router-link>
+				</a-tooltip>
+				<span v-else class="myTip">到顶啦..</span>
+			</div>
+			<div style="display: -webkit-box;">
+				<div class="myTitleDeal">
+					<a-tooltip placement="bottomLeft" :title="'下一篇: '+articelMeta.nextRecord.title"
+						v-if="articelMeta.nextRecord !=null">
+						<router-link
+							:to="{path:'/mdDetail',query:{id:articelMeta.nextRecord.id,articleFileType:articleFileType,typeId:typeId}}"
+							class="article-title">
+							{{articelMeta.nextRecord.title}}
+						</router-link>
+					</a-tooltip>
+					<span v-else class="myTip">到底啦..</span>
+				</div>
+				<a-icon type="right" />
+			</div>
+		</div>
+
 		<div class="articleComment">
 			<comment ref="myComment" :articleId="articleId" :isAllowedComment="isAllowedComment" />
 		</div>
 
 	</div>
-
 </template>
 
 <script>
@@ -93,6 +117,7 @@
 	import {
 		queryBlogArticleDetail
 	} from '../../api/blogArticle.js'
+	
 	import comment from "../mini/box12-comment.vue"
 
 	import axios from 'axios'
@@ -105,12 +130,13 @@
 		},
 		data() {
 			return {
-				myConstant: myConstant,
-				articelMeta: "",
+				fileType: myConstant.fileType,
+				articelMeta: '',
 				isAllowedComment: 1,
 				introduce: "",
 				articleId: "",
-				articleFileType: myConstant.fileTypeMarkDown,
+				articleFileType: myConstant.fileType.fileTypeMarkDown_1,
+				typeId: null,
 				source: "",
 				showMsg: false,
 				myLock: false,
@@ -127,14 +153,18 @@
 			}
 		},
 		created() {
+			console.log(111);
+			console.log(this.$route.params);
 			this.articleId = this.$route.query.id;
 			this.articleFileType = this.$route.query.articleFileType;
+			this.typeId = this.$route.query.typeId;
 		},
 		watch: {
 			'$route'(to, from) {
 				if ("mdDetail" === to.name) {
 					this.articleId = this.$route.query.id;
 					this.articleFileType = this.$route.query.articleFileType;
+					this.typeId = this.$route.query.typeId;
 				}
 			},
 			articleId: function(newValue, oldValue) {
@@ -155,14 +185,11 @@
 				this.showMsg = true;
 				this.errorMsg = "加载中..";
 
-				// if (this.articleFileType == myConstant.fileTypeShort) {
-				// 	this.errorMsg = "该类型日志在这里没有更多啦..";
-				// 	return
-				// }
-
 				queryBlogArticleDetail({
 					id: this.articleId,
-					authWord: this.secret == "" ? null : md5(this.secret)
+					authWord: this.secret == "" ? null : md5(this.secret),
+					typeId: this.typeId,
+					fileType: this.articleFileType
 				}).then((res) => {
 					this.showMsg = true;
 					this.myLock = false;
@@ -200,14 +227,17 @@
 
 					this.articelMeta = res.data;
 
-					if (res.data.articleFileType == myConstant.fileTypeMarkDown ||
-						res.data.articleFileType == myConstant.fileTypeHtml) {
-
-						this.$axios
-							.get(res.data.articleFileURL)
-							.then((res) => {
-								this.source = res.data;
-							})
+					if (res.data.articleFileType == this.fileType.fileTypeMarkDown_1 ||
+						res.data.articleFileType == this.fileType.fileTypeHtml_2) {
+						if (res.data.articleFileURL != null && res.data.articleFileURL != '') {
+							this.$axios
+								.get(res.data.articleFileURL)
+								.then((res) => {
+									this.source = res.data;
+								}).catch(() => [
+									this.$message.error("获取文件好像失败了..", 3)
+								])
+						}
 					}
 
 					//获取日志资源文件
@@ -236,6 +266,17 @@
 
 <style lang="less">
 	@import '../../assets/md.less';
+
+	.articleTitle {
+		h4 {
+			margin: 0px 0px 20px 0px;
+			-webkit-line-clamp: 1;
+		}
+
+		text-align: center;
+		width: 100%;
+
+	}
 
 	.headertop {
 		position: relative;
@@ -308,9 +349,25 @@
 		user-select: none;
 		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1), -8px -8px 18px #ffffff;
 		padding: 10px 23px;
+		margin: 20px 0px;
 		display: flex;
 		justify-content: space-between;
 		flex-wrap: wrap;
+
+
+		a {
+			color: black;
+		}
+
+		.myTitleDeal {
+			max-width: 300px;
+			-webkit-line-clamp: 1;
+			text-overflow: ellipsis;
+			overflow: hidden;
+			word-wrap: break-word;
+			white-space: nowrap;
+			word-break: break-all;
+		}
 	}
 
 	.mySecret {
@@ -341,113 +398,12 @@
 			-8px -8px 18px #ffffff;
 	}
 
-	/* #test{
-		padding-left: 25%;
-		padding-right: 25%;
-	} */
-	/* h3 {
-		margin: 40px 0 0;
+
+	@media screen and (max-width:768px) {
+		.articleInfoMiniData {
+			.myTitleDeal {
+				max-width: 120px;
+			}
+		}
 	}
-
-	ul {
-		list-style-type: none;
-		padding: 0;
-	}
-
-	li {
-		display: inline-block;
-		margin: 0 10px;
-	}
-
-	a {
-		color: #42b983;
-	}
-	
-	 */
-
-
-	/* 自己也可以再调整调整 (贡献一版 我们调整的一版样式) */
-	/* .markdown-body {
-		padding: 20px;
-		min-width: 200px;
-		max-width: 900px;
-		font-size: 12px;
-
-		h2 {
-			font-size: 18px;
-			margin: 1em 0 15px;
-			padding-top: 0.8em;
-			padding-bottom: 0.8em;
-		}
-
-		h3 {
-			font-size: 14px;
-			margin: 22px 0 16px;
-		}
-
-		h4 {
-			font-size: 13px;
-			margin: 20px 0 16px;
-		}
-
-		h5 {
-			font-size: 12px;
-			margin: 16px 0 16px;
-			font-weight: 700;
-		}
-
-		p {
-			font-size: 12px;
-			line-height: 24px;
-			color: #666666;
-			margin-top: 0px;
-			margin: 8px 0;
-			margin: 14px 0 14px;
-		}
-
-		pre {
-			background-color: #eee;
-			margin-bottom: 8px;
-			margin-top: 8px;
-			margin: 12px 0 12px;
-		}
-
-		blockquote {
-			margin-bottom: 8px;
-			margin-top: 8px;
-			margin: 14px 0 14px;
-			background-color: #eee;
-			padding: 16px 16px;
-		}
-
-		tr {
-			background-color: #f5f5f5;
-		}
-
-		code {
-			background-color: #eee;
-		}
-
-		ul,
-		ol,
-		li {
-			list-style: unset;
-			font-size: 12px;
-			line-height: 20px;
-			color: #666666;
-			margin-top: 0px;
-			margin: 8px 0;
-		}
-
-		blockquote {
-			border-color: #48b6e2;
-		}
-
-		table {
-			display: table;
-			width: 100%;
-			max-width: 100%;
-			margin-bottom: 20px;
-		}
-	} */
 </style>

--
Gitblit v1.9.1