Retired/pages/news/cpns/topic-lists.vue

101 lines
2.2 KiB
Vue

<template>
<!-- 新鲜事/话题列表 -->
<view class="topic-list flex items-center">
<image style="width: 200rpx; height: 150rpx;" :src="item.cover" lazy-load mode="aspectFill"></image>
<view class="my-20" style="width: 500rpx; ">
<view class="text-black text-32 asset_name">{{item.asset_name}}</view>
<view class="text-gray-400 text-26 my-10 digest">{{item.digest}}</view>
<view v-if="type!='history'" class="operation">
<view>点击量:{{formatNumber(item.read_num)}}</view>
<view>今日:{{formatNumber(item.today)}}</view>
<!-- <view v-if='item.type==2' class="download"><u-icon name="download" color="#9CA3AF "
size="24"></u-icon>下载</view> -->
</view>
</view>
</view>
</template>
<script>
/*
* newsTopicList 新鲜事页话题列表
* @description 用于新鲜事页中话题栏下面的话题列表
* @author MrThinco
* @property {Object} item 信息
*/
export default {
props: {
item: {
type: Object,
default: () => ({})
},
type: {
type: String,
default: ""
}
},
data() {
return {
}
},
methods: {
formatNumber(num) {
if (num >= 10000) {
return (num / 10000).toFixed(1) + 'w'; // 保留一位小数并加上'w'
} else if (num >= 1000) {
return (num / 1000).toFixed(1) + 'k'; // 保留一位小数并加上'k'
} else {
return num.toString(); // 小于1000直接返回数字
}
}
}
}
</script>
<style lang="scss" scoped>
.topic-list {
background-color: #FFFFFF;
margin-top: 20rpx;
border-radius: 10rpx;
padding: 15rpx 10rpx;
image {
width: 150rpx;
height: 150rpx;
border-radius: 10rpx;
margin-right: 20rpx;
}
}
.digest {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
/* 定义显示的行数 */
overflow: hidden;
text-overflow: ellipsis;
padding-right: 20rpx;
}
.asset_name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding-right: 20rpx;
}
.operation {
// border: solid 1px red;
display: flex;
align-items: center;
justify-content: space-between;
color: #9CA3AF;
font-size: 26rpx;
padding: 0 20rpx 0 0;
.download {
display: flex;
align-items: center;
}
}
</style>