|
@@ -81,91 +81,93 @@ onMounted(async () => {
|
|
|
})
|
|
|
</script>
|
|
|
<template>
|
|
|
- <Card @click="toDetail" @tap="toDetail">
|
|
|
- <view class="flex items-center">
|
|
|
- <view
|
|
|
- class="overflow-hidden rounded-full mr-2"
|
|
|
- @click.stop="router.push(`/pages/mine/homepage/index?id=${options.stylistId}`)"
|
|
|
- >
|
|
|
- <wd-img
|
|
|
- custom-class="vertical-bottom"
|
|
|
- :width="35"
|
|
|
- :height="35"
|
|
|
- :src="props.options.headUrl || NetImages.DefaultAvatar"
|
|
|
- mode="scaleToFill"
|
|
|
- />
|
|
|
- </view>
|
|
|
- <view class="">{{ props.options.stylistName }}</view>
|
|
|
- <view class="flex-1"></view>
|
|
|
- <view>{{ beforeNow(dayjs(props.options.createTime).toDate()) }}</view>
|
|
|
- </view>
|
|
|
- <div v-if="isVideo" class="aspect-[1.64/1] rounded-lg overflow-hidden my-6" @click.stop>
|
|
|
- <video class="w-full h-full" :src="options.bannerUrls[0]"></video>
|
|
|
- </div>
|
|
|
- <view
|
|
|
- v-if="!isVideo"
|
|
|
- :class="[
|
|
|
- props.options.bannerUrls?.length > 1 ? 'grid grid-cols-3 grid-gap-1' : 'w-full',
|
|
|
- 'my-6',
|
|
|
- ]"
|
|
|
- >
|
|
|
- <template v-for="it of props.options.bannerUrls" :key="it">
|
|
|
+ <div @click="toDetail">
|
|
|
+ <Card>
|
|
|
+ <view class="flex items-center">
|
|
|
<view
|
|
|
- :class="[
|
|
|
- props.options.bannerUrls?.length > 1 ? 'aspect-square' : '',
|
|
|
- 'rounded-lg overflow-hidden',
|
|
|
- imgClass,
|
|
|
- ]"
|
|
|
+ class="overflow-hidden rounded-full mr-2"
|
|
|
+ @click.stop="router.push(`/pages/mine/homepage/index?id=${options.stylistId}`)"
|
|
|
>
|
|
|
<wd-img
|
|
|
custom-class="vertical-bottom"
|
|
|
- :width="'100%'"
|
|
|
- :src="it"
|
|
|
- :height="props.options.bannerUrls?.length > 1 ? '100%' : 'auto'"
|
|
|
- :mode="props.options.bannerUrls?.length > 1 ? 'aspectFill' : 'widthFix'"
|
|
|
- ></wd-img>
|
|
|
+ :width="35"
|
|
|
+ :height="35"
|
|
|
+ :src="props.options.headUrl || NetImages.DefaultAvatar"
|
|
|
+ mode="scaleToFill"
|
|
|
+ />
|
|
|
</view>
|
|
|
- </template>
|
|
|
- </view>
|
|
|
- <view class="text-[rgba(0,0,0,0.85)] text-4 font-400 my-1">
|
|
|
- {{ props.options.circleDesc }}
|
|
|
- </view>
|
|
|
- <view class="my-5.5 flex flex-wrap gap-3.5">
|
|
|
- <template v-if="props.options.tagName !== ''">
|
|
|
- <template v-for="it of props.options.tagName?.split(',')" :key="it">
|
|
|
- <Tag>{{ it }}</Tag>
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- </view>
|
|
|
- <view class="flex justify-between">
|
|
|
- <view class="flex items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5">
|
|
|
- <wd-img width="15" height="15" src="/static/svgs/share.svg"></wd-img>
|
|
|
- <view class="ml-1">{{ props.options.shareCount }}</view>
|
|
|
- </view>
|
|
|
- <view class="flex items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5">
|
|
|
- <wd-img width="15" height="15" src="/static/svgs/comment.svg"></wd-img>
|
|
|
- <view class="ml-1">{{ props.options.reviewCount }}</view>
|
|
|
+ <view class="">{{ props.options.stylistName }}</view>
|
|
|
+ <view class="flex-1"></view>
|
|
|
+ <view>{{ beforeNow(dayjs(props.options.createTime).toDate()) }}</view>
|
|
|
</view>
|
|
|
+ <div v-if="isVideo" class="aspect-[1.64/1] rounded-lg overflow-hidden my-6" @click.stop>
|
|
|
+ <video class="w-full h-full" :src="options.bannerUrls[0]"></video>
|
|
|
+ </div>
|
|
|
<view
|
|
|
- class="flex items-center text-3.5 font-400 line-height-5.5"
|
|
|
- :class="[options.ownUpvote ? 'text-[#ca5141]' : 'text-[rgba(0,0,0,0.85)]']"
|
|
|
+ v-if="!isVideo"
|
|
|
+ :class="[
|
|
|
+ props.options.bannerUrls?.length > 1 ? 'grid grid-cols-3 grid-gap-1' : 'w-full',
|
|
|
+ 'my-6',
|
|
|
+ ]"
|
|
|
>
|
|
|
- <template v-if="options.ownUpvote">
|
|
|
- <wd-img width="18" height="18" :src="likeActived"></wd-img>
|
|
|
+ <template v-for="it of props.options.bannerUrls" :key="it">
|
|
|
+ <view
|
|
|
+ :class="[
|
|
|
+ props.options.bannerUrls?.length > 1 ? 'aspect-square' : '',
|
|
|
+ 'rounded-lg overflow-hidden',
|
|
|
+ imgClass,
|
|
|
+ ]"
|
|
|
+ >
|
|
|
+ <wd-img
|
|
|
+ custom-class="vertical-bottom"
|
|
|
+ :width="'100%'"
|
|
|
+ :src="it"
|
|
|
+ :height="props.options.bannerUrls?.length > 1 ? '100%' : 'auto'"
|
|
|
+ :mode="props.options.bannerUrls?.length > 1 ? 'aspectFill' : 'widthFix'"
|
|
|
+ ></wd-img>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
- <template v-else>
|
|
|
- <wd-img width="18" height="18" :src="likeBlack"></wd-img>
|
|
|
+ </view>
|
|
|
+ <view class="text-[rgba(0,0,0,0.85)] text-4 font-400 my-1">
|
|
|
+ {{ props.options.circleDesc }}
|
|
|
+ </view>
|
|
|
+ <view class="my-5.5 flex flex-wrap gap-3.5">
|
|
|
+ <template v-if="props.options.tagName !== ''">
|
|
|
+ <template v-for="it of props.options.tagName?.split(',')" :key="it">
|
|
|
+ <Tag>{{ it }}</Tag>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
- <view class="ml-1">{{ props.options.upvoteCount }}</view>
|
|
|
</view>
|
|
|
- <div v-if="isOwn">
|
|
|
- <wd-button type="text" size="small" @click.stop="handleDelete">
|
|
|
- <span class="text-black/30 text-xs font-normal font-['PingFang_SC']">
|
|
|
- 删除
|
|
|
- <wd-icon name="close" size="12"></wd-icon>
|
|
|
- </span>
|
|
|
- </wd-button>
|
|
|
- </div>
|
|
|
- </view>
|
|
|
- </Card>
|
|
|
+ <view class="flex justify-between">
|
|
|
+ <view class="flex items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5">
|
|
|
+ <wd-img width="15" height="15" src="/static/svgs/share.svg"></wd-img>
|
|
|
+ <view class="ml-1">{{ props.options.shareCount }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="flex items-center text-[rgba(0,0,0,0.85)] text-3.5 font-400 line-height-5.5">
|
|
|
+ <wd-img width="15" height="15" src="/static/svgs/comment.svg"></wd-img>
|
|
|
+ <view class="ml-1">{{ props.options.reviewCount }}</view>
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="flex items-center text-3.5 font-400 line-height-5.5"
|
|
|
+ :class="[options.ownUpvote ? 'text-[#ca5141]' : 'text-[rgba(0,0,0,0.85)]']"
|
|
|
+ >
|
|
|
+ <template v-if="options.ownUpvote">
|
|
|
+ <wd-img width="18" height="18" :src="likeActived"></wd-img>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <wd-img width="18" height="18" :src="likeBlack"></wd-img>
|
|
|
+ </template>
|
|
|
+ <view class="ml-1">{{ props.options.upvoteCount }}</view>
|
|
|
+ </view>
|
|
|
+ <div v-if="isOwn" @click.stop="handleDelete()">
|
|
|
+ <wd-button type="text" size="small">
|
|
|
+ <span class="text-black/30 text-xs font-normal font-['PingFang_SC']">
|
|
|
+ 删除
|
|
|
+ <wd-icon name="close" size="12"></wd-icon>
|
|
|
+ </span>
|
|
|
+ </wd-button>
|
|
|
+ </div>
|
|
|
+ </view>
|
|
|
+ </Card>
|
|
|
+ </div>
|
|
|
</template>
|