<template>
	<view class="agreement" :style="colorStyle">
		<view class="top-msg" v-if="agreementData.avatar">
			<view class="avatar">
				<img :src="agreementData.avatar" alt="">
			</view>
			<view class="name">{{agreementData.name}}</view>
		</view>
		<view :style="{ paddingBottom: `${paddingBottom}px` }" class="content" v-html="agreementData.content">
		</view>
		<view class="footer">
			<view class="trip">
				点击【立即注销】即代表您已经同意《用户注销协议》
			</view>
			<view class="cancellation flex-aj-center" @click="isCancellation = true">
				立即注销
			</view>
		</view>
		<view class="mark" v-show="isCancellation"></view>
		<view class="tipaddress" v-show="isCancellation">
			<view class="top"></view>
			<view class="bottom">
				<view class="font1">是否确认注销</view>
				<view class="font2">注销后无法恢复，请谨慎操作</view>
				<view class="btn">
					<view class="cancellation-btn btn-sty flex-aj-center" @tap="cancelUser">注销</view>
					<view class="cancel btn-sty flex-aj-center" @tap="isCancellation = false">
						取消
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import colors from '@/mixins/color.js';
	import {
		getUserAgreement,
		cancelUser,
		getLogout
	} from '@/api/user.js'
	export default {
		mixins: [colors],
		data() {
			return {
				isCancellation: false,
				agreementData: '',
				paddingBottom: 0
			}
		},
		onLoad() {
			this.getAgreement()
		},
		onShow() {
			uni.removeStorageSync('form_type_cart');
		},
		onReady() {
			const query = uni.createSelectorQuery().in(this);
			query.select('.footer').boundingClientRect(data => {
				this.paddingBottom = data.height;
			}).exec();
		},
		methods: {
			getAgreement() {
				getUserAgreement('cancel').then(res => {
					this.agreementData = res.data
				})
			},
			cancelUser() {
				cancelUser().then(res => {
					this.$store.commit("LOGOUT");
					uni.reLaunch({
						url: '/pages/index/index'
					})
				}).catch(msg => {
					return this.$util.Tips({
						title: msg
					});
				});
			}
		}
	}
</script>

<style lang="scss" scoped>
	.agreement {
		background-color: #fff;

		.content {
			padding: 0 30rpx;
		}
	}

	.top-msg {
		display: flex;
		align-items: center;
		background-color: #fff;
		padding: 40rpx 30rpx 40rpx 30rpx;

		.avatar {
			width: 76rpx;
			height: 76rpx;
			margin-right: 20rpx;

			img {
				width: 100%;
				height: 100%;
				border-radius: 50%;
			}
		}
	}

	.footer {
		text-align: center;
		z-index: 99;
		width: 100%;
		background-color: #fafafa;
		position: fixed;
		padding: 0 30rpx 36rpx 30rpx;
		box-sizing: border-box;
		border-top: 1rpx solid #eee;
		bottom: 0rpx;

		.trip {
			color: #999999;
			font-size: 24rpx;
			margin: 24rpx 0;
		}

		.cancellation {
			height: 45px;
			color: #fff;
			font-size: 32rpx;
			background: #E93323;
			border-radius: 23px;
		}
	}

	.tipaddress {
		position: fixed;
		left: 13%;
		top: 25%;
		// margin-left: -283rpx;
		width: 560rpx;
		height: 614rpx;
		background-color: #fff;
		border-radius: 10rpx;
		z-index: 100;
		text-align: center;

		.top {
			width: 560rpx;
			height: 270rpx;
			border-top-left-radius: 10rpx;
			border-top-right-radius: 10rpx;
			background-image: url('../../../static/images/address.png');
			background-repeat: round;
			background-color: #E93323;

			.tipsphoto {
				display: inline-block;
				width: 200rpx;
				height: 200rpx;
				margin-top: 73rpx;
			}
		}

		.bottom {
			font-size: 32rpx;
			font-weight: 400;

			.font1 {

				font-size: 36rpx;
				font-weight: 600;
				color: #333333;
				margin: 32rpx 0rpx 22rpx;
			}

			.font2 {
				color: #666666;
				margin-bottom: 48rpx;
			}

			.btn {
				display: flex;
				margin: 0 20rpx;

				.btn-sty {
					height: 82rpx;
					border-radius: 42rpx;
					line-height: 82rpx;
					padding: 24rpx 78rpx;
					margin: 0 auto;
				}

				.cancellation-btn {
					background-color: #F5F5F5;
					color: #333333;
				}

				.cancel {
					color: #FFFFFF;
					background: linear-gradient(90deg, #F67A38 0%, #F11B09 100%);
				}

			}
		}

	}

	.mark {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: 99;
	}
</style>
