<template>
	<view class="begin">
		<view class="title" v-if="notices">
			{{notices[0][4]}}
		</view>
		<swiper class="first" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
			<swiper-item v-for="path in imagePath">
				<view class="swiper-item">
					<image :src="path"></image>
				</view>
			</swiper-item>
		</swiper>
		<swiper class="notice" vertical="true" :indicator-dots="false" :autoplay="true" :interval="3000"
			:duration="1000">
			<swiper-item v-for="(notice,index) in notices" @click="goto(notice)">
				<view class="swiper-item">
					{{notice[0]}}
					<image src="../../static/联合 10.png"></image>
				</view>
			</swiper-item>
		</swiper>
		<bannerlist></bannerlist>
		<view class="active">
			<view class="active-title">
				<view>社会活动</view>
				<view>查看更多<image src="../../static/联合 10.png"></image>
				</view>
			</view>
			<view class="active-content">
				<view v-for="content in active_content">
					<image :src="content[0]"></image>
					<view>
						<p>{{content[1]}}</p>
						<p>据您{{content[2]}}km</p>
					</view>
				</view>
			</view>
		</view>
		<view class="society" v-if="active_content">
			<view class="society-title">
				<view>社会动态</view>
				<view>查看更多<image src="../../static/联合 10.png"></image>
				</view>
			</view>
			<view class="society-content">
				<view>
					<view>{{active_content[2][1]}}</view>
					<view>{{active_content[2][3]}}评论 {{active_content[2][4]}}</view>
				</view>
				<image :src="active_content[2][0]"></image>
			</view>
		</view>
		<view class="bottom">
			<view class="list-li" v-for="(part,index) in list" @click="gowhere(index)">
				<image :src="part[1]"></image>
				<text>{{part[0]}}</text>
			</view>
		</view>
	</view>
</template>

<script>
	import bannerlist from "../../components/bannerlist"
	export default {
		components: {
			bannerlist,
		},
		data() {
			let list = ["首页", "友邻社区", "", "社区服务", "数据分析"].map((value, index) => [value,
				`../../static/${["首页.png","友邻社区.png","c1.png","社区服务.png","组 153.png"][index]}`
			])
			return {
				notice: null,
				imagePath: null,
				notices: null,
				active_content: null,
				list
			}
		},
		methods: {
			async request(gest, path) {
				let text
				if (gest == "get") {
					text = await fetch(`http://124.93.196.45:10091/Neusoft/community${path}`, {
						method: "GET",
						headers: {
							"Content-Type": "application/json",
							"Authorization": (await this.request("post", "/api/login")).token
						},
					})
				} else if (gest == "post") {
					text = await fetch(`http://124.93.196.45:10091/Neusoft/community${path}`, {
						method: "POST",
						headers: {
							"Content-Type": "application/json",
						},
						body: JSON.stringify({
							"password": "0CYdq6Hn",
							"username": "6dOMIgIU",
						})
					})
				}
				const data = await text.json()
				console.log(data)
				return data
			},
			gowhere(index) {
				switch (index) {
					case 1:
						uni.navigateTo({
							url: "/pages/index/countryside"
						})
						break
					case 3:
						uni.navigateTo({
							url: "/pages/index/data"
						})
				}
			},
			goto(value) {
				const itemStr = encodeURIComponent(JSON.stringify(value))
				uni.navigateTo({
					url: `/pages/index/addr_more?id=${value[3]}&data=${itemStr}`
				})

			}
		},
		async mounted() {
			this.imagePath = (await this.request("get", "/api/adv/list")).data.map(x =>
				`http://124.93.196.45:10091/Neusoft/community${x.image}`)
			this.notices = (await this.request("get", "/api/notice/list")).rows.map(x => [
				x.noticeTitle,
				x.noticeContent,
				x.createTime,
				x.noticeId,
				x.unit
			])
			this.active_content = (await this.request("get", "/api/cms/article/list")).rows.map(x => [
				`http://124.93.196.45:10091/Neusoft/community${x.cover}`, x.title, parseFloat(x.location), x
				.commentNum, x.createTime
			])
		}
	}
</script>

<style>
	* {
		padding: 0;
		margin: 0;
	}

	.title {
		font-size: 1.3rem;
		font-weight: bold;
		text-align: center;
		background-color: #fff;
	}

	.first {
		width: 100vw;
		height: 23vh;
		margin: 0px auto;
	}

	.first image {
		display: block;
		width: 70vw;
		height: 23vh;
		margin: 0px auto;
	}

	.notice {
		width: 100vw;
		height: 5vh;
		background-color: #FEF5E6;
	}

	.notice .swiper-item {
		width: 90vw;
		height: 5vh;
		margin: 0 auto;
		line-height: 5vh;
		color: #EECA9C;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.notice .swiper-item image {
		width: 3vw;
		height: 3vh;
	}

	.active {
		margin: 10px;
		padding: 5px;
		border-radius: 10px;
		border: 1px #999999 solid;
	}

	.active-title {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 3.5vh;
		padding-left: 10px;
	}

	.active-title view {
		display: flex;
		align-items: center;
		padding-left: 5px;
	}

	.active-title view:first-child {
		border-left: 5px solid black;
		height: 20px;
	}

	.active-title view:nth-child(2) image {
		width: 2vw;
		height: 2vh;
		padding-left: 10px;
	}

	.active-content {
		display: flex;
		overflow: scroll;
	}

	.active-content>view {
		flex-shrink: 0;
		width: 70vw;
		border: 1px #999999 solid;
		margin: 10px;
		display: flex;
		justify-content: center;
	}

	.active-content>view image {
		width: 30vw;
		height: 10vh;
		flex-shrink: 0
	}

	.active-content>view view {
		flex-shrink: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.society {
		margin: 10px;
		padding: 5px;
		border-radius: 10px;
		border: 1px #999999 solid;
	}

	.society-title {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 3.5vh;
		padding-left: 10px;
	}

	.society-title view {
		display: flex;
		align-items: center;
		padding-left: 5px;
	}

	.society-title view:first-child {
		border-left: 5px solid black;
		height: 20px;
	}

	.society-title view:nth-child(2) image {
		width: 2vw;
		height: 2vh;
		padding-left: 10px;
	}

	.society-content {
		display: flex;
		justify-content: space-between;
		margin: 10px;
		height: 12vh;
		align-items: center;
	}


	.society-content>view:first-child view:first-child {
		font-size: 1.1rem;
		font-weight: bold;
		margin-bottom: 10px;
	}

	.society-content>view:first-child view:nth-child(2) {
		color: #dadada;
	}

	.society-content image {
		width: 20vw;
		height: 8vh;
	}

	.bottom {
		display: flex;
		position: fixed;
		border: 1px solid black;
		bottom: 0;
		width: 100%;
	}

	.list-li {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.list-li image {
		height: 20px;
		width: 20px;
	}

	.list-li:nth-child(1) {
		color: dodgerblue;
	}

	.list-li:nth-child(3) image {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: 2px solid black;
	}
</style>
