<template>
							 | 
						|
									<view class="article-item" @click="handleClick">
							 | 
						|
										<view class="image-container">
							 | 
						|
											<image :src="item.image" mode="aspectFill" class="article-image" />
							 | 
						|
										</view>
							 | 
						|
										<view class="content-container">
							 | 
						|
											<text class="article-title">{{ item.title }}</text>
							 | 
						|
										</view>
							 | 
						|
									</view>
							 | 
						|
								</template>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								export default {
							 | 
						|
									name: 'ArticleItem',
							 | 
						|
									props: {
							 | 
						|
										item: {
							 | 
						|
											type: Object,
							 | 
						|
											required: true,
							 | 
						|
											default: () => ({
							 | 
						|
												title: '',
							 | 
						|
												image: ''
							 | 
						|
											})
							 | 
						|
										}
							 | 
						|
									},
							 | 
						|
									methods: {
							 | 
						|
										handleClick() {
							 | 
						|
											this.$emit('click', this.item);
							 | 
						|
										}
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<style scoped lang="scss">
							 | 
						|
								.article-item {
							 | 
						|
									display: flex;
							 | 
						|
									flex-direction: column;
							 | 
						|
									background: #fff;
							 | 
						|
									border-radius: 12rpx;
							 | 
						|
									overflow: hidden;
							 | 
						|
									box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
							 | 
						|
									margin-bottom: 20rpx;
							 | 
						|
									transition: transform 0.2s ease;
							 | 
						|
									
							 | 
						|
									&:active {
							 | 
						|
										transform: scale(0.98);
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.image-container {
							 | 
						|
									width: 100%;
							 | 
						|
									height: 300rpx;
							 | 
						|
									overflow: hidden;
							 | 
						|
									
							 | 
						|
									.article-image {
							 | 
						|
										width: 100%;
							 | 
						|
										height: 100%;
							 | 
						|
										object-fit: cover;
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								.content-container {
							 | 
						|
									padding: 20rpx;
							 | 
						|
									
							 | 
						|
									.article-title {
							 | 
						|
										font-size: 30rpx;
							 | 
						|
										font-weight: 500;
							 | 
						|
										color: #333;
							 | 
						|
										line-height: 1.6;
							 | 
						|
										display: -webkit-box;
							 | 
						|
										-webkit-box-orient: vertical;
							 | 
						|
										-webkit-line-clamp: 2;
							 | 
						|
										overflow: hidden;
							 | 
						|
										text-overflow: ellipsis;
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								</style>
							 |