From 916b6bf89465f057532ad8469e4e0002fc361716 Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Thu, 18 Aug 2022 16:24:30 +0800
Subject: [PATCH] 日志内页添加头图

---
 src/components/mini/mdDetail.vue |  139 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 111 insertions(+), 28 deletions(-)

diff --git a/src/components/mini/mdDetail.vue b/src/components/mini/mdDetail.vue
index 2513e82..e9e1b54 100644
--- a/src/components/mini/mdDetail.vue
+++ b/src/components/mini/mdDetail.vue
@@ -1,15 +1,22 @@
 <template>
 	<div class="article-meta">
-		<div>
-			<a-button @click="back" style="position: absolute;">
+		<!-- <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">
+			<figure class="centerbg" v-bind:style="{'background-image':'url('+this.coverURL+')'}">
+			</figure>
 		</div>
 
 		<div v-if="showMsg && !myLock">
 			<div class="mySecretSamll" v-if="articleFileType==myConstant.fileTypeShort">
-					<p>碎碎念只有那么一点了,但是下面依旧可以碎碎念</p>
+				<p>碎碎念只有那么一点了</p>
+				<p>但是下面依旧可以碎碎念</p>
 			</div>
+
 			<div class="mySecret" v-else>
 				<h1>怎样才能让你看到我呢</h1>
 				<h1>只要你要,只要我有...</h1>
@@ -30,11 +37,29 @@
 				<span class="myTip">{{errorMsg}}</span>
 			</div>
 
+			<div class="mySecret" v-else-if="articleFileType==myConstant.fileTypeVideo
+				|| articleFileType==myConstant.fileTypeMp3
+				|| articleFileType==myConstant.fileTypeShort">
+
+				<div class="mySecretSamll" v-if="introduce.length==0">
+					<p>碎碎念只有那么一点了</p>
+					<p>但是下面依旧可以碎碎念</p>
+				</div>
+				<pre style="white-space: pre-line;">
+				{{introduce}}
+				</pre>
+			</div>
+
 			<div class="markdown-body article-detail" v-else>
 				<vue-markdown :source="source"></vue-markdown>
 			</div>
 		</div>
-		<div class="articleInfoMiniData" >
+
+		<!-- <div class="articleInfoMiniData">
+			<div>
+				<a-icon type="calendar" class="samllPadding" />
+				<span>{{articelMeta.publishDate==null?'--':articelMeta.publishDate}}</span>
+			</div>
 			<div class="smallOption" @click="articleOptionHandle('dislike')">
 				<a-icon type="dislike" style="margin-top: 2px;" />
 			</div>
@@ -47,15 +72,12 @@
 				<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>
+				<a-icon type="folder-open" class="samllPadding" />
+		</div> -->
+
 		<div class="articleComment">
 			<comment ref="myComment" :articleId="articleId" :isAllowedComment="isAllowedComment" />
 		</div>
@@ -75,7 +97,7 @@
 
 	import axios from 'axios'
 	import myConstant from "../../config/myConstant.js"
-	
+
 	export default {
 		components: {
 			VueMarkdown,
@@ -83,9 +105,10 @@
 		},
 		data() {
 			return {
-				myConstant:myConstant,
+				myConstant: myConstant,
 				articelMeta: "",
 				isAllowedComment: 1,
+				introduce: "",
 				articleId: "",
 				articleFileType: myConstant.fileTypeMarkDown,
 				source: "",
@@ -100,6 +123,7 @@
 					value: '',
 					disabled: false
 				},
+				coverURL: "http://t.inleft.com/share/media_photo/background.jpg"
 			}
 		},
 		created() {
@@ -131,10 +155,10 @@
 				this.showMsg = true;
 				this.errorMsg = "加载中..";
 
-				if (this.articleFileType == myConstant.fileTypeShort) {
-					this.errorMsg = "没有更多啦..";
-					return
-				}
+				// if (this.articleFileType == myConstant.fileTypeShort) {
+				// 	this.errorMsg = "该类型日志在这里没有更多啦..";
+				// 	return
+				// }
 
 				queryBlogArticleDetail({
 					id: this.articleId,
@@ -166,12 +190,25 @@
 					// this.test = res.data.isAllowedComment == 1 ? true : false;
 
 					this.isAllowedComment = res.data.isAllowedComment;
+					this.introduce = res.data.introduce;
+					this.articleFileType = res.data.articleFileType;
+					if (res.data.coverFileURL != null && res.data.coverFileURL != '') {
+						this.coverURL = res.data.coverFileURL;
+					} else {
+						this.coverURL = "http://t.inleft.com/share/media_photo/background.jpg";
+					}
+
 					this.articelMeta = res.data;
-					this.$axios
-						.get(res.data.articleFileURL)
-						.then((res) => {
-							this.source = 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;
+							})
+					}
 
 					//获取日志资源文件
 					this.showMsg = false;
@@ -191,9 +228,6 @@
 						this.search.disabled = false;
 					})
 
-			},
-			back: function() {
-				this.$router.go(-1);
 			}
 		},
 
@@ -203,6 +237,54 @@
 <style lang="less">
 	@import '../../assets/md.less';
 
+	.headertop {
+		position: relative;
+		overflow: hidden;
+		border-radius: 14px;
+	}
+
+	.centerbg {
+		width: 100%;
+		margin: 0;
+		padding: 0;
+		background-repeat: no-repeat;
+		// background-attachment: fixed;
+		background-size: cover;
+		z-index: -1;
+		// background-image: url("http://t.inleft.com/blog//cover/这世界那么多人.jpg");
+		height: 222px;
+		background-size: 100% auto;
+		background-position: center;
+	}
+
+
+	.headertop::before {
+		content: '';
+		position: absolute;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		z-index: 3;
+		background-attachment: fixed;
+	}
+
+	.headertop.filter-dot::before {
+		// background-image: url("https://blog-img-1258635493.cos.ap-chengdu.myqcloud.com/cdn/img/other/dot.gif");
+		// background-image: url("http://blog.inleft.com/photo/dot.gif");
+	}
+
+	// .headertop-bar::after {
+	// 	content: '';
+	// 	width: 150%;
+	// 	height: 4.375rem;
+	// 	background: linear-gradient(0deg, #fff, 84%, #ffffff4f);
+	// 	left: -25%;
+	// 	bottom: -2.875rem;
+	// 	border-radius: 100%;
+	// 	position: absolute;
+	// 	z-index: 4;
+	// }
 
 	.smallOption {
 		transition-function: ease-out;
@@ -225,14 +307,14 @@
 	.articleInfoMiniData {
 		user-select: none;
 		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1), -8px -8px 18px #ffffff;
-		padding: 10px 50px;
+		padding: 10px 23px;
 		display: flex;
 		justify-content: space-between;
 		flex-wrap: wrap;
 	}
 
 	.mySecret {
-		height: 715px;
+		height: 515px;
 		display: flex;
 		flex-direction: column;
 		justify-content: center;
@@ -241,6 +323,7 @@
 	}
 
 	.mySecretSamll {
+		padding: 30px 10px 10px;
 		height: 115px;
 		display: flex;
 		flex-direction: column;
@@ -252,8 +335,8 @@
 
 	.markdown-body,
 	.articleComment {
-		min-height: 750px;
-		padding: 35px 20px 10px 20px;
+		min-height: 70%;
+		padding: 30px 20px 20px 20px;
 		box-shadow: 8px 8px 18px rgba(0, 0, 0, 0.1),
 			-8px -8px 18px #ffffff;
 	}

--
Gitblit v1.9.1