<template>
	<view>
		<view class='my-account'>
			<view class='wrapper'>
				<view class='header'>
					<view class='headerCon'>
						<view class='account acea-row row-top row-between'>
							<view class='assets'>
								<view>总资产(元)</view>
								<view class='money'>{{ fen2yuan(wallet.balance || 0) }}</view>
							</view>
							<!-- #ifdef H5 -->
							<navigator url="/pages/users/user_payment/index" hover-class="none" class='recharge font-color'>充值</navigator>
							<!-- #endif -->
							<!-- #ifdef MP -->
							<view v-if="userInfo.rechargeSwitch"  @click="openSubscribe('/pages/users/user_payment/index')" class='recharge font-color'>充值</view>
							<!-- #endif -->
						</view>
						<view class='cumulative acea-row row-top'>
							<!-- #ifdef H5 -->
							<view class='item'>
								<view>累计充值(元)</view>
								<view class='money'>{{ fen2yuan(wallet.totalRecharge || 0) }}</view>
							</view>
							<!-- #endif -->
							<!-- #ifdef MP -->
							<view class='item' v-if="userInfo.rechargeSwitch">
								<view>累计充值(元)</view>
								<view class='money'>{{ fen2yuan(wallet.totalRecharge || 0) }}</view>
							</view>
							<!-- #endif -->
							<view class='item'>
								<view>累计消费(元)</view>
								<view class='money'>{{ fen2yuan(wallet.totalExpense || 0) }}</view>
							</view>
						</view>
					</view>
				</view>
				<view class='nav acea-row row-middle'>
					<navigator class='item' hover-class='none' url='/pages/users/user_bill/index'>
						<view class='pictrue'>
							<image src='../../../static/images/record1.png'></image>
						</view>
						<view>账单记录</view>
					</navigator>
					<navigator class='item' hover-class='none' url='/pages/users/user_bill/index?type=2'>
						<view class='pictrue'>
							<image src='../../../static/images/record2.png'></image>
						</view>
						<view>支出记录</view>
					</navigator>
					<navigator class='item' hover-class='none' url='/pages/users/user_bill/index?type=1'>
						<view class='pictrue'>
							<image src='../../../static/images/record3.png'></image>
						</view>
						<view>收入记录</view>
					</navigator>
					<navigator class='item' hover-class='none' url='/pages/users/user_integral/index'>
						<view class='pictrue'>
							<image src='../../../static/images/record4.png'></image>
						</view>
						<view>积分中心</view>
					</navigator>
				</view>
				<view class='advert acea-row row-between-wrapper'>
					<navigator class='item acea-row row-between-wrapper' hover-class='none' url='/pages/users/user_sgin/index'>
						<view class='text'>
							<view class='name'>签到领积分</view>
							<view>赚积分抵现金</view>
						</view>
						<view class='pictrue'>
							<image src='../../../static/images/gift.png'></image>
						</view>
					</navigator>
					<navigator class='item on acea-row row-between-wrapper' hover-class='none' url='/pages/users/user_get_coupon/index'>
						<view class='text'>
							<view class='name'>领取优惠券</view>
							<view>满减享优惠</view>
						</view>
						<view class='pictrue'>
							<image src='../../../static/images/money.png'></image>
						</view>
					</navigator>
				</view>
			</view>
			<recommend :hostProduct="hostProduct" v-if="hostProduct.length" />
		</view>
		<home></home>
	</view>
</template>

<script>
	import { openRechargeSubscribe } from '@/utils/SubscribeMessage.js';
  import * as Util from '@/utils/util.js';
  import * as WalletApi from '@/api/pay/wallet.js';
	import { toLogin } from '@/libs/login.js';
	import { mapGetters } from "vuex";
	import recommend from '@/components/recommend/index';
	import home from '@/components/home';
  import * as ProductSpuApi from '@/api/product/spu.js';
  import * as PromotionActivityApi from '@/api/promotion/activity.js';
  import * as ProductUtil from '@/utils/product.js';
	export default {
		components: {
			recommend,
			home
		},
		data() {
			return {
        wallet: {},

        hostProduct: [],
				hotScroll: false,
				hotPage: 1,
				hotLimit: 10
			};
		},
		computed: mapGetters(['isLogin', 'userInfo']),
		watch:{
			isLogin:{
				handler: function(newV,oldV) {
					if (newV) {
						this.get_host_product();
						this.userWallet();
					}
				},
				deep:true
			}
		},
		onLoad() {
			if (!this.isLogin) {
        toLogin();
        return
			}
      this.get_host_product();
      this.userWallet();
		},
		methods: {
			userWallet(){
        WalletApi.getPayWallet().then(res=>{
					this.wallet = res.data;
				})
			},
			// #ifdef MP
			openSubscribe: function(page) {
				uni.showLoading({
					title: '正在加载',
				})
				openRechargeSubscribe().then(res => {
					uni.hideLoading();
					uni.navigateTo({
						url: page,
					});
				}).catch(() => {
					uni.hideLoading();
				});
			},
			// #endif
			/**
			 * 获取我的推荐
			 */
			get_host_product: function() {
        ProductSpuApi.getSpuPage({
          recommendType: 'hot',
          pageNo: this.hotPage,
          pageSize: this.hotLimit
        }).then(res => {
          const good_list = res.data.list;
          this.hotPage++
          this.hotScroll = good_list.length < this.hotLimit

          // 设置营销活动
          const spuIds = good_list.map(item => item.id);
          if (spuIds.length > 0) {
            PromotionActivityApi.getActivityListBySpuIds(spuIds).then(res => {
              ProductUtil.setActivityList(good_list, res.data);
              this.hostProduct = this.hostProduct.concat(good_list) // 放在此处，避免 Vue 监控不到数组里的元素变化
            });
          }
        });
			},

      fen2yuan(price) {
        return Util.fen2yuan(price)
      }
		},
		onReachBottom() {
			this.get_host_product();
		}
	}
</script>
<style scoped lang="scss">
	.my-account .wrapper {
		background-color: #fff;
		padding: 32rpx 0 15rpx 0;
		margin-bottom: 14rpx;
	}

	.my-account .wrapper .header {
		width: 690rpx;
		height: 330rpx;
		background-image: linear-gradient(to right, #f33b2b 0%, #f36053 100%);
		border-radius: 16rpx;
		margin: 0 auto;
		box-sizing: border-box;
		color: rgba(255, 255, 255, 0.6);
		font-size: 24rpx;
	}

	.my-account .wrapper .header .headerCon {
		background-image: url('data:image/png;base64, ');
		background-repeat: no-repeat;
		background-size: 100%;
		height: 100%;
		width: 100%;
		padding: 36rpx 0 29rpx 0;
		box-sizing: border-box;
	}

	.my-account .wrapper .header .headerCon .account {
		padding: 0 35rpx;
	}

	.my-account .wrapper .header .headerCon .account .assets .money {
		font-size: 72rpx;
		color: #fff;
		font-family: 'Guildford Pro';
	}

	.my-account .wrapper .header .headerCon .account .recharge {
		font-size: 28rpx;
		width: 150rpx;
		height: 54rpx;
		border-radius: 27rpx;
		background-color: #fff9f8;
		text-align: center;
		line-height: 54rpx;
	}

	.my-account .wrapper .header .headerCon .cumulative {
		margin-top: 46rpx;
	}

	.my-account .wrapper .header .headerCon .cumulative .item {
		flex: 1;
		padding-left: 35rpx;
	}

	.my-account .wrapper .header .headerCon .cumulative .item .money {
		font-size: 48rpx;
		font-family: 'Guildford Pro';
		color: #fff;
		margin-top: 6rpx;
	}

	.my-account .wrapper .nav {
		height: 155rpx;
		border-bottom: 1rpx solid #f5f5f5;
	}

	.my-account .wrapper .nav .item {
		flex: 1;
		text-align: center;
		font-size: 26rpx;
		color: #999;
	}

	.my-account .wrapper .nav .item .pictrue {
		width: 44rpx;
		height: 44rpx;
		margin: 0 auto;
		margin-bottom: 20rpx;
	}

	.my-account .wrapper .nav .item .pictrue image {
		width: 100%;
		height: 100%;
	}

	.my-account .wrapper .advert {
		padding: 0 30rpx;
		margin-top: 30rpx;
	}

	.my-account .wrapper .advert .item {
		background-color: #fff6d1;
		width: 332rpx;
		height: 118rpx;
		border-radius: 10rpx;
		padding: 0 27rpx 0 25rpx;
		box-sizing: border-box;
		font-size: 24rpx;
		color: #e44609;
	}

	.my-account .wrapper .advert .item.on {
		background-color: #fff3f3;
		color: #e96868;
	}

	.my-account .wrapper .advert .item .pictrue {
		width: 78rpx;
		height: 78rpx;
	}

	.my-account .wrapper .advert .item .pictrue image {
		width: 100%;
		height: 100%;
	}

	.my-account .wrapper .advert .item .text .name {
		font-size: 30rpx;
		font-weight: bold;
		color: #f33c2b;
		margin-bottom: 7rpx;
	}

	.my-account .wrapper .advert .item.on .text .name {
		color: #f64051;
	}

	.my-account .wrapper .list {
		padding: 0 30rpx;
	}

	.my-account .wrapper .list .item {
		margin-top: 44rpx;
	}

	.my-account .wrapper .list .item .picTxt .iconfont {
		width: 82rpx;
		height: 82rpx;
		border-radius: 50%;
		background-image: linear-gradient(to right, #ff9389 0%, #f9776b 100%);
		text-align: center;
		line-height: 82rpx;
		color: #fff;
		font-size: 40rpx;
	}

	.my-account .wrapper .list .item .picTxt .iconfont.yellow {
		background-image: linear-gradient(to right, #ffccaa 0%, #fea060 100%);
	}

	.my-account .wrapper .list .item .picTxt .iconfont.green {
		background-image: linear-gradient(to right, #a1d67c 0%, #9dd074 100%);
	}

	.my-account .wrapper .list .item .picTxt {
		width: 428rpx;
		font-size: 30rpx;
		color: #282828;
	}

	.my-account .wrapper .list .item .picTxt .text {
		width: 317rpx;
	}

	.my-account .wrapper .list .item .picTxt .text .infor {
		font-size: 24rpx;
		color: #999;
		margin-top: 5rpx;
	}

	.my-account .wrapper .list .item .bnt {
		font-size: 26rpx;
		color: #282828;
		width: 156rpx;
		height: 52rpx;
		border: 1rpx solid #ddd;
		border-radius: 26rpx;
		text-align: center;
		line-height: 52rpx;
	}

	.my-account .wrapper .list .item .bnt.end {
		font-size: 26rpx;
		color: #aaa;
		background-color: #f2f2f2;
		border-color: #f2f2f2;
	}
</style>
