<template>
	<view :style="viewColor">
		<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'>{{userInfo.now_money || 0}}</view>
							</view>
							<!-- #ifdef APP-PLUS || H5 -->
							<navigator v-if="recharge_switch == 1" url="/pages/users/user_payment/index" hover-class="none" class='recharge t-color'>充值</navigator>
							<!-- #endif -->
							<!-- #ifdef MP -->
							<view v-if="recharge_switch == 1" @click="openSubscribe('/pages/users/user_payment/index')" class='recharge t-color'>充值</view>
							<!-- #endif -->
						</view>
						<view class='cumulative acea-row row-top'>
							<!-- v-if="balance_func_status == 1" -->
							<view class='item' >
								<view>累计充值(元)</view>
								<view class='money'>{{userInfo.total_recharge || 0}}</view>
							</view>
							<view class='item'>
								<view>累计消费(元)</view>
								<view class='money'>{{userInfo.total_consume || 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="domain+'/static/diy/record1'+keyColor+'.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="domain+'/static/diy/record2'+keyColor+'.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="domain+'/static/diy/record3'+keyColor+'.png'"></image>
						</view>
						<view>充值记录</view>
					</navigator>
				</view>
			</view>
			<recommend v-if="recommend_switch == 1" :hostProduct="hostProduct" :isLogin="isLogin"></recommend>
		</view>
	</view>
</template>

<script>
	// +----------------------------------------------------------------------
	// | CRMEB [ CRMEB赋能开发者，助力企业发展 ]
	// +----------------------------------------------------------------------
	// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
	// +----------------------------------------------------------------------
	// | Licensed CRMEB并不是自由软件，未经许可不能去掉CRMEB相关版权
	// +----------------------------------------------------------------------
	// | Author: CRMEB Team <admin@crmeb.com>
	// +----------------------------------------------------------------------
	let app = getApp();
	import { getProductHot } from '@/api/store.js';
	import { openRechargeSubscribe } from '@/utils/SubscribeMessage.js';
	import { getUserInfo } from '@/api/user.js';
	import { mapGetters } from "vuex";
	import recommend from '@/components/recommend/index';
	import { configMap } from '@/utils';
	import { HTTP_REQUEST_URL } from '@/config/app';
	import { toLogin } from '@/libs/login.js';
	export default {
		components: {
			recommend,
		},
		data() {
			return {
				domain: HTTP_REQUEST_URL,
				userInfo: {},
				hostProduct: [],
				isClose: false,
				activity: {},
				hotScroll:false,
				hotPage:1,
				hotLimit:10
			};
		},
		computed: configMap(['recharge_switch','balance_func_status','recommend_switch'], mapGetters(['isLogin','viewColor','keyColor'])),
		onLoad() {
			if (this.isLogin) {
				this.getUserInfo()
				this.get_host_product();
			} else {
				toLogin()
			}
		},
		onReady() {
		},
		methods: {
			getUserInfo(){
				getUserInfo().then(res=>{
					this.userInfo = 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() {
				let that = this;
				if(that.hotScroll) return
				getProductHot(
					that.hotPage,
					that.hotLimit,
				).then(res => {
					that.hotPage++
					that.hotScroll = res.data.list.length<that.hotLimit
					that.hostProduct = that.hostProduct.concat(res.data.list)
				});
			}
		},
		onReachBottom() {
			this.get_host_product();
		},
		// 滚动监听
		onPageScroll(e) {
			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
			uni.$emit('scroll');
		}
	}
</script>

<style scoped lang="scss">
	.my-account .wrapper {
		background-color: #fff;
		padding: 32rpx 0 34rpx 0;
		margin-bottom: 14rpx;
	}
	.my-account .wrapper .header {
		width: 690rpx;
		height: 330rpx;
		background-image: linear-gradient(to right, var(--view-bntColor21) 0%, var(--view-bntColor22) 100%);
		border-radius: 16rpx;
		margin: 0 auto;
		box-sizing: border-box;
		color: rgba(255, 255, 255, 0.6);
		font-size: 24rpx;
	}
	.t-color{color:var(--view-theme);}
	.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;
	}
	.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;
		color: #fff;
		margin-top: 6rpx;
	}
	.my-account .wrapper .nav {
		height: 155rpx;
		border-bottom: 1px 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>
