inleft
2022-08-24 80476fae71f08bf4408c7509eff254031a4eeac6
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>