inleft
2022-03-03 5dfef883049e7f0670f6c6b1b225b233aee41eea
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;
   }