<template>
	<view class="bg">
		<image v-if="headImg" :src="showImg(headImg)" class="topImg" mode="widthFix"></image>
		
		<view class="article-container">
			<view @click="viewDetail(item)" v-for="(item,index) in list" :key="index" class="item">
				<image class="img" :src="showImg(item.headimg)" mode="aspectFill"></image>
				<view class="content flex-column">
					<view class="title text-overflowRows">{{item.title}}</view>
					<view class="text-overflowRows" style="font-size: 24rpx;color: #848484;" v-if="item.page">
						地址：{{item.page}}
					</view>
					<view class="btn">详情介绍</view>
				</view>
			</view>
		</view>
		
	</view>
</template>

<script>
	export default {
		data() {
			return {
				titleObj: {
					"gxnz":"共享农庄",
					"whck":"网红村咖",
					"yxdw":"乡村研学工坊",
				},
				type: null,
				imgId: null,
				list: [],
				finished: false,
				headImg: '',
				page_no: 1,
			}
		},
		onLoad(option) {
			this.type = option.type
			this.imgId = option.imgId
			if (!this.type) {
				uni.showToast({
					title: '分类不存在',
					icon: 'none',
				})
				uni.navigateBack()
				return
			}
			let title = this.titleObj[this.type] || '点位';
			uni.setNavigationBarTitle({
				title: title
			})
			this.getArticleByType()
			if (this.imgId) {
				this.getHeadImg(this.imgId).then(res => {this.headImg = res})
			}
			
		},
		methods: {
			// 游记攻略
			getArticleByType() {
				this.Post({
					type_key: this.type,
					offset: this.list.length,
					page_no: this.page_no,
					page_num: 10,
				},'/api/travels/getList').then(res => {
					if (res.data.rows.length >= 10) {
						this.page_no++
					} else {
						this.finished = true
					}
					this.list = [...this.list, ...res.data.rows]
				})
			},

			viewDetail(item) {
				if (item.url) {
					uni.navigateTo({
						url:"/subPackages/webPage/webPage?url="+encodeURIComponent(item.url)
					})
					return
				}
				if (item.appId) {
					uni.navigateToMiniProgram({
						appId:item.appId,
						path:item.page
					})
					return
				}
				uni.navigateTo({
					url:'/subPackages/letter/detail?id='+item.id
				})
			},
		},
		//下拉触底事件
		onReachBottom() {
			setTimeout(() => {
				if (!this.finished) this.getArticleByType();
			}, 1000);
		}
	}
</script>

<style lang="scss" scoped>
	.bg {
		width: 750rpx;
		min-height: 100vh;
		background: #F9FCF3;
		padding-bottom: 50rpx;
	}
	
	.topImg {
		width: 100%;
	}
	
	.article-container{
		width: 100%;
		border-radius: 24rpx ;
		position: relative;
		padding: 32rpx;
	}
	
	.item {
		width: 100%;
		height: 240rpx;
		margin-bottom:30rpx;
		display: flex;
		
		.img {
			width: 240rpx;
			height: 240rpx;
			border-radius: 24rpx;
			flex-shrink: 0;
		}
		
		.content {
			width: 370rpx;
			flex: 1;
			height: 240rpx;
			padding: 12rpx 0 0 24rpx;
			justify-content: space-between;
			
			.title {
				font-weight: bold;
				font-size: 31rpx;
				color: #333333;
			}
			.btn{
				width: 160rpx;
				   height: 53rpx;
				   line-height: 53rpx;
				   background: #6A8A27;
				   border-radius: 27rpx;
				   text-align: center;
				    font-weight: 400;
				    font-size: 27rpx;
				    color: #FFFFFF;
					margin-left: auto;
			}
		}
	}
</style>