12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <template>
- <view
- :to="'/uni_modules/uni-cms-article/pages/detail/detail?id=' + data?._id"
- :key="data?._id"
- class="list-item"
- direction="column"
- >
- <view class="main">
- <text class="title">{{ data?.title }}</text>
- <view class="thumbnails">
- <image
- v-for="image in data?.thumbnail"
- :src="image"
- mode="aspectFill"
- class="img"
- ></image>
- </view>
- <view class="info">
- <text class="author">{{ data!.user_id!.length > 0 ? data!.user_id[0]!.nickname : '' }}</text>
- <text class="publish_date">{{ publishTime(data?.publish_date ?? 0) }}</text>
- </view>
- </view>
- </view>
- </template>
- <script lang="uts">
- import { type PropType } from 'vue'
- import translatePublishTime from "@/uni_modules/uni-cms-article/common/publish-time.uts";
- type ArticleAuthor = {
- _id: string
- nickname: string
- }
- type ArticleItem = {
- _id: string
- title: string
- publish_date: number
- thumbnail: string[]
- user_id: ArticleAuthor[]
- }
- export default {
- name: "three-cover",
- props: {
- data: {
- type: Object as PropType<ArticleItem>
- }
- },
- methods: {
- // 格式化时间戳
- publishTime(timestamp: number): string {
- return translatePublishTime(timestamp)
- },
- }
- }
- </script>
- <style scoped lang="scss">
- @import "./style.scss";
- </style>
|