<template>
	<view class="container">
		<view class="vheigh"></view>
		<view class="bg"><image src="../../static/img/mybg.png" mode=""></image></view>
		<view class="user-section flex">
			<view class="detail" @click="navTo('/pages/set/set')">
				<view class="portrait-box"><image class="portrait" :src="userInfo.avatar || '/static/error/missing-face.png'"></image></view>
				<view class="info-box">
					<view class="username">{{ userInfo.nickname || '游客' }}</view>
					<view class="phone" v-if="userInfo.phone">{{ userInfo.phone | hiddenphone }}</view>
				</view>
			</view>
			<view class="config">
				<view class="setting"><image src="../../static/icon/set.png" mode=""></image></view>
				<view class="config-font">VIP会员</view>
			</view>
		</view>
		<view class="list-top"></view>
		<view class="balance">
			<view class="balance-main">
				<view class="tj-item" @click="navTo('/pages/money/wallet')">
					<view class="tj-img"><image src="../../static/icon/my1.png" mode=""></image></view>
					<view class="tj-num">￥{{ userInfo.now_money * 1 || 0 }}</view>
					<view class="tj-font">我的余额</view>
				</view>
				<view class="tj-item" @click="navTo('/user/page/scoreAccumulate')">
					<view class="tj-img"><image src="../../static/icon/my3.png" mode=""></image></view>
					<view class="tj-num">￥{{ userInfo.integral * 1 || 0 }}</view>
					<view class="tj-font">我的积分</view>
				</view>
				<view class="tj-item" @click="navTo('/user/page/extension')">
					<view class="tj-img"><image src="../../static/icon/my4.png" mode=""></image></view>
					<view class="tj-num">{{ userInfo.spead_count || 0 }}</view>
					<view class="tj-font">我的推广</view>
				</view>
			</view>
		</view>
		<view class="cover-container">
			<view class="order-section">
				<view class="order-item" @click="navTo('/user/page/shareQrCode')" hover-class="common-hover" :hover-stay-time="50">
					<view class="o-ic">
						<view class="icon"><image class="icon-img" src="/static/icon/1-my.png" mode="widthFix"></image></view>
						<view class="text">邀请海报</view>
					</view>
					<view class="order-img"><image src="../../static/img/img74.png" mode=""></image></view>
				</view>
				<view class="order-item" hover-class="common-hover" :hover-stay-time="50" @click="showPopup">
					<view class="o-ic">
						<view class="icon"><image class="icon-img" src="/static/icon/2-my.png" mode="widthFix"></image></view>
						<view class="text">客服中心</view>
					</view>
					<view class="order-img"><image src="../../static/img/img74.png" mode=""></image></view>
				</view>
				<view class="order-item" @click="navTo('/pages/set/address')" hover-class="common-hover" :hover-stay-time="50">
					<view class="o-ic">
						<view class="icon"><image class="icon-img" src="/static/icon/3-my.png" mode="widthFix"></image></view>
						<view class="text">收货地址</view>
					</view>
					<view class="order-img"><image src="../../static/img/img74.png" mode=""></image></view>
				</view>
				<view class="order-item" @click="navTo('/pages/set/set')" hover-class="common-hover" :hover-stay-time="50">
					<view class="o-ic">
						<view class="icon"><image class="icon-img" src="/static/icon/4-my.png" mode="widthFix"></image></view>
						<view class="text">设置</view>
					</view>
					<view class="order-img"><image src="../../static/img/img74.png" mode=""></image></view>
				</view>
			</view>
		</view>
		<uni-popup ref="popup" type="center">
			<view class="popup-box">
				<view class="img"><image src="https://37shop.liuniu946.com/front/img/img009.png" mode=""></image></view>
				<view class="mian">
					<view class="delivery">
						<view class="title">已经为您定制专属客服</view>
						<image src="https://37shop.liuniu946.com/front/img/img010.png" mode=""></image>
					</view>
					<view class="nocancel">{{ text }}</view>
					<view class="comfirm-box">
						<view class="cancel" @click="cancel">取消</view>
						<view class="comfirm" @click="comfirm(text)">复制微信</view>
					</view>
				</view>
			</view>
		</uni-popup>
	</view>
</template>
<script>
import { mapState, mapMutations } from 'vuex';
import uniList from '@/components/uni-list/uni-list.vue';
import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
import uniPopup from '@/components/uni-popup/uni-popup.vue';

import { getArticleDetail } from '@/api/index.js';
import { orderData, getUserInfo, getSpreadCount, bindAdmin, sendStk, checkStk } from '@/api/user.js';
import { saveUrl, interceptor } from '@/utils/loginUtils.js';
import uniCopy from '@/js_sdk/xb-copy/uni-copy.js';
export default {
	components: {
		uniList,
		uniListItem
	},
	data() {
		return {
			text: '123456'
		};
	},
	onShow() {
		// 判断是否已经登录
		if (this.hasLogin) {
			this.loadBaseData();
			console.log(this.userInfo);
		}
	},
	// #ifndef MP
	// onNavigationBarButtonTap(e) {
	// 	const index = e.index;
	// 	if (index === 0) {
	// 		this.navTo('/pages/set/set');
	// 	} else if (index === 1) {
	// 		// #ifdef APP-PLUS
	// 		const pages = getCurrentPages();
	// 		const page = pages[pages.length - 1];
	// 		const currentWebview = page.$getAppWebview();
	// 		currentWebview.hideTitleNViewButtonRedDot({
	// 			index
	// 		});
	// 		// #endif
	// 		uni.navigateTo({
	// 			url: '/pages/user/notice'
	// 		});
	// 	}
	// },
	// #endif
	computed: {
		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
	},
	filters: {
		hiddenphone(value) {
			return value.substring(0, 3) + '****' + value.substring(7, 12);
		}
	},
	methods: {
		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
		// 加载初始数据
		loadBaseData() {
			getUserInfo({})
				.then(({ data }) => {
					this.setUserInfo(data);
					// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
					orderData({})
						.then(({ data }) => {
							this.setOrderInfo(data);
							console.log(this.orderInfo);
						})
						.catch(e => {
							this.setOrderInfo({
								complete_count: 0, //完成
								received_count: 0, //待收货
								unshipped_count: 0, //待发货
								order_count: 0, //订单总数
								unpaid_count: 0 //待付款
							});
						});
				})
				.catch(e => {
					console.log(e);
				});
		},
		/**
		 * 统一跳转接口,拦截未登录路由
		 * navigator标签现在默认没有转场动画，所以用view
		 */
		navTo(url) {
			if (!this.hasLogin) {
				// 保存地址
				saveUrl();
				// 登录拦截
				interceptor();
			} else {
				uni.navigateTo({
					url
				});
			}
		},
		showPopup() {
			this.$refs.popup.open();
		},
		cancel() {
			this.$refs.popup.close();
		},
		comfirm(text) {
			console.log(text);
			const result = uniCopy(text);
			if (result === false) {
				uni.showToast({
					title: '不支持'
				});
			} else {
				uni.showToast({
					title: '复制成功',
					icon: 'none'
				});
			}
			this.$refs.popup.close();
		}
	}
};
</script>
<style lang="scss">
page,
.container {
	height: auto;
	min-height: 100%;
	background-color: #ffffff;
}

%flex-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

%section {
	display: flex;
	justify-content: space-around;
	align-content: center;
	background: #fff;
	border-radius: 10rpx;
}

.bg {
	position: absolute;
	top: 0;
	left: 0;
	height: 400rpx;
	width: 100%;

	image {
		width: 100%;
		height: 100%;
	}
}

.user-section {
	padding: 112rpx 42rpx 0 38rpx;
	position: relative;
	z-index: 10;
	.detail {
		display: flex;
		align-items: center;
		.portrait-box {
			height: 120rpx;
			width: 120rpx;

			.portrait {
				width: 100%;
				height: 100%;
				border: 4rpx solid #fff;
				border-radius: 50%;
			}
		}

		.info-box {
			margin-left: 20rpx;
			line-height: 1;

			.username {
				font-size: 32rpx;
				font-family: PingFang SC;
				font-weight: bold;
				color: #ffffff;
			}
			.phone {
				font-size: 25rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #ffffff;
				margin-top: 18rpx;
			}
		}
	}

	.config {
		width: 161rpx;
		height: 51rpx;
		background: #ffffff;
		border-radius: 25rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
		.setting {
			width: 25rpx;
			height: 36rpx;
			image {
				width: 25rpx;
				height: 36rpx;
			}
		}
		.config-font {
			margin-left: 10rpx;
			font-size: 25rpx;
			font-family: PingFang SC;
			font-weight: 500;
			color: #ee2f72;
		}
	}
}
.list-top {
	position: relative;
	z-index: 10;
	margin-top: 50rpx;
	width: 750rpx;
	height: 30rpx;
	background: #ffffff;
	border-radius: 30rpx 30rpx 0px 0px;
}
.cover-container {
	position: relative;
	background: #ffffff;
	margin-top: 20rpx;
}

.order-section {
	.order-item {
		padding: 60rpx 55rpx 0 43rpx;
		display: flex;
		justify-content: space-between;
		align-items: center;
		.o-ic {
			display: flex;
			align-items: center;
			.icon {
				margin-right: 20rpx;
				display: flex;
				justify-content: center;
				align-items: center;
				image {
					width: 32rpx;
				}
			}

			.text {
				font-size: 30rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #363636;
			}
		}

		.order-img {
			width: 16rpx;
			height: 28rpx;
			image {
				width: 16rpx;
				height: 28rpx;
			}
		}
	}

	.iconfont {
		font-size: 48rpx;
		margin-bottom: 18rpx;
		color: #fa436a;
	}

	.icon-shouhoutuikuan {
		font-size: 44rpx;
	}
}

.user-item {
	font-size: 30rpx;
	font-weight: bold;
	color: #666666;
	border-bottom: 1px #f5f5f5 solid;
	padding: 25rpx 20rpx 26rpx 20rpx;
	display: flex;
	justify-content: space-between;

	text {
	}
}

.balance {
	position: relative;
	z-index: 10;
	background: #ffffff;
	margin-top: -3rpx;
	.balance-main {
		padding-top: 40rpx;
		display: flex;
		align-items: center;

		.tj-item {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			text-align: center;
			font-size: 26rpx;
			font-weight: 500;
			color: #3b3b3b;
			line-height: 1;

			.tj-img {
				image {
					width: 112rpx;
					height: 112rpx;
				}
			}

			.tj-num {
				font-size: 28rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #363636;
			}
			.tj-font {
				margin-top: 10rpx;
				font-size: 28rpx;
				font-family: PingFang SC;
				font-weight: 500;
				color: #363636;
			}
		}
	}
}

.popup-box {
	width: 522rpx;
	height: 605rpx;
	background-color: #ffffff;
	border-radius: 20rpx;
	position: relative;

	.img {
		position: relative;
		top: -56rpx;
		left: 0;
		width: 522rpx;
		height: 132rpx;
		display: flex;
		justify-content: center;

		image {
			border-radius: 20rpx 20rpx 0 0;
			width: 450rpx;
			height: 132rpx;
		}
	}

	.mian {
		margin-top: -44rpx;
		display: flex;
		flex-direction: column;
		align-items: center;
		// padding: 32rpx 32rpx;
		background-color: #ffffff;
		border-radius: 0 0 20rpx 20rpx;
		text-align: center;

		.delivery {
			font-size: 40rpx;
			color: #333333;
			display: flex;
			align-items: center;
			flex-direction: column;

			.title {
			}

			image {
				margin-top: 48rpx;
				width: 172rpx;
				height: 160rpx;
			}
		}

		.nocancel {
			font-size: 32rpx;
			color: #333333;
			margin-top: 14rpx;
		}

		.comfirm-box {
			margin-top: 52rpx;
			display: flex;
			// margin-bottom: 32rpx;

			// justify-content: space-around;
			.cancel {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 197rpx;
				height: 74rpx;
				border: 1px solid #dcc786;
				border-radius: 38rpx;

				font-size: 32rpx;
				color: #605128;
			}

			.comfirm {
				margin-left: 32rpx;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 197rpx;
				height: 74rpx;
				background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
				border-radius: 38px;
				font-size: 32rpx;
				color: #605128;
			}
		}
	}
}

.bind-admin-wappper {
	width: 600rpx;
	height: 682rpx;
	border-radius: 20rpx;
	background-color: #fff;

	.title {
		padding-top: 70rpx;
		font-size: 42rpx;
		text-align: center;
		font-family: PingFang SC;
		font-weight: 500;
		color: #ffa200;
	}

	.admin-item {
		.item-name {
			padding-top: 55rpx;
			padding-bottom: 20rpx;
			font-size: 32rpx;
			font-family: PingFang SC;
			font-weight: 500;
			color: #333333;
			padding-left: 68rpx;
		}

		.item-val {
			width: 470rpx;
			height: 70rpx;
			line-height: 70rpx;
			margin: 0 auto;
			background: #ffffff;
			border: 1px solid #999999;
			border-radius: 6px;
			outline: none;

			input {
				padding-left: 20rpx;
				display: block;
				height: 70rpx;
				line-height: 70rpx;
			}
		}
	}

	.btn-wrapper {
		margin-top: 60rpx;
		display: flex;
		justify-content: space-between;
		height: 50rpx;
		padding: 0 65rpx;

		.btn {
			// margin-right: 22rpx;
			text-align: center;
			font-size: 30rpx;
			font-family: PingFang SC;
			font-weight: 500;
			line-height: 70rpx;
			color: #666666;
			width: 224rpx;
			height: 70rpx;
			border-radius: 6rpx;
			border: 1px solid #999999;
		}

		.btn1 {
			color: #fff;
			background-color: #ff6600;
		}
	}
}

.icon-img {
	width: 52rpx;
	height: 43rpx;
}
</style>
