From eeef9f3413151bea79690aac4abb737aff0cb6c8 Mon Sep 17 00:00:00 2001 From: inleft <inleft@qq.com> Date: Tue, 23 Aug 2022 18:55:22 +0800 Subject: [PATCH] 图片demo --- src/components/mini/box-new-article.vue | 99 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 90 insertions(+), 9 deletions(-) diff --git a/src/components/mini/box-new-article.vue b/src/components/mini/box-new-article.vue index b06bece..eee3b5c 100644 --- a/src/components/mini/box-new-article.vue +++ b/src/components/mini/box-new-article.vue @@ -3,41 +3,99 @@ <div class="recent-post-item"> <div class="miniTag" v-if="isTop==1">置顶</div> <div class="post_cover left_radius" v-if="index%2==0"> - <router-link :to="{path:'/mdDetail',query:{id:id}}" :title="title"> + + <router-link :to="{path:'videoDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" :title="title" + v-if="articleFileType==myConstant.fileTypeVideo"> + <div class="block left_radius"></div> + <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> + </router-link> + <!-- <a :href="jumpURL" target="_blank" class="no-underline" + v-else-if="articleFileType==myConstant.fileTypeShort" @click="showMsg(articleFileType,jumpURL)"> + <div class="block left_radius"></div> + <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> + </a> --> + <router-link :to="{path:'/mdDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" :title="title" + v-else> <div class="block left_radius"></div> <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> </router-link> </div> <div class="post_cover right_radius" v-else> - <router-link :to="{path:'/mdDetail',query:{id:id}}" :title="title"> + <router-link :to="{path:'videoDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" :title="title" + v-if="articleFileType==myConstant.fileTypeVideo"> + <div class="block left_radius"></div> + <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> + </router-link> + <!-- <a :href="jumpURL" target="_blank" class="no-underline" + v-else-if="articleFileType==myConstant.fileTypeShort" @click="showMsg(articleFileType,jumpURL)"> + <div class="block left_radius"></div> + <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> + </a> --> + <router-link :to="{path:'/mdDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" :title="title" + v-else> <div class="block right_radius"></div> <img class="post_bg" :src="coverFileURL" :onerror="img404" :alt="title"> - <!-- <img class="post_bg" src="https://unpkg.zhimg.com/ahzo@1.0.3/blogpic/1.jpg" onerror="this.onerror=null,this.src="/img/404.jpg"" :alt="title"> --> </router-link> </div> <div class="recent-post-info"> - <router-link :to="{path:'/mdDetail',query:{id:id}}" class="article-title"> + + <router-link :to="{path:'/videoDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" + class="article-title" v-if="articleFileType==myConstant.fileTypeVideo"> <a-icon type="lock" style="color:rgba(0,0,0,.25)" v-if="authStatus==3" /> <a-icon type="stop" style="color:rgba(0,0,0,.25)" v-if="authStatus==2" /> {{title}} <a-badge :count="1" dot v-if="isAnyUpdate==1" title="最近有更新"></a-badge> </router-link> + + <router-link :to="{path:'/mdDetail',query:{id:id,articleFileType:articleFileType,typeId:typeId}}" + class="article-title" v-else> + <a-icon type="lock" style="color:rgba(0,0,0,.25)" v-if="authStatus==3" /> + <a-icon type="stop" style="color:rgba(0,0,0,.25)" v-if="authStatus==2" /> + {{title}} + <a-badge :count="1" dot v-if="isAnyUpdate==1" title="最近有更新"></a-badge> + </router-link> + <!-- <a class="article-title" href="/mdDetail" :title="title"> {{title}}</a> --> <div class="article-meta-wrap" style="display: flex;"> <span class="post-meta-date"> <a-icon type="calendar" /> <span class="article-meta-label"></span> - <time datetime="2022-01-13T06:25:00.000Z" title=" 2022-01-13 14:25:00">{{publishDate}}</time> + <time> {{publishDate}} </time> </span> <span class="article-meta__separator" style="margin: 0px 3px ;"> | </span> + <span class="article-meta"> <a-icon type="book" /> <router-link :to="{path:'/articleList',query:{typeId:articleTypeId}}" - class="article-meta__categories"> - {{articleTypeName}} - </router-link> + class="article-meta__categories"> {{articleTypeName}}</router-link> + <span v-if="articleFileType==myConstant.fileTypeShort"> + <span v-if="jumpURL !=null && jumpURL!=''"> + <span class="article-meta__separator" style="margin: 0px 3px ;"> | </span> + <span class="post-meta-date"> + <a-icon type="share-alt" /> + <a :href="jumpURL" target="_blank" class="no-underline"> 外链 </a> + </span> + </span> + + <span v-else> + <span class="article-meta__separator" style="margin: 0px 3px ;"> | </span> + <span class="post-meta-date"> + <a-icon type="thunderbolt" />碎碎念 + </span> + </span> + </span> + + <span v-if="articleFileType==myConstant.fileTypeVideo"> + <span class="article-meta__separator" style="margin: 0px 3px ;"> | </span> + <span class="post-meta-date"> + <a-icon type="video-camera" /> + <router-link :to="{path:'/videoDetail',query:{id:id}}"> + 视频 + </router-link> + </span> + </span> <!-- <a class="article-meta__categories" href="#"> {{tag}}</a> --> </span> </div> @@ -54,13 +112,27 @@ NotificationOutlined } from '@ant-design/icons-vue'; + import myConstant from "../../config/myConstant.js" + + export default { + methods: { + showMsg(articleFileType, jumpURL) { + if (articleFileType == myConstant.fileTypeShort && (jumpURL == null || jumpURL == "")) { + this.$message.info('这只是一句碎碎念,没有更多内容啦', 3); + return + } + } + }, components: { NotificationOutlined }, props: { "index": { default: 0, + }, + "typeId": { + default: "", }, "id": { default: 0, @@ -94,10 +166,17 @@ }, "isAnyUpdate": { default: "", + }, + "articleFileType": { + default: 1, + }, + "jumpURL": { + default: "", } }, data() { return { + myConstant: myConstant, img404: "this.onerror='';this.src=\"http://t.inleft.com/share/media_photo/1.jpg\"", } } @@ -318,6 +397,7 @@ order: 3; color: #858585; font-size: 90%; + flex-wrap: wrap; .article-meta-label { padding-right: 0.2rem; @@ -420,9 +500,10 @@ line-height: 1.7; color: #999; display: -webkit-container; - -webkit-line-clamp: 3; + -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; + min-height: 20px; } } -- Gitblit v1.9.1