<template>
	<view class="container login" :style="{paddingTop:CustomBar+'px'}" v-if="isSeller">
		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
		<view class="login-main">
			<image class="logo" src="https://static.caimei365.com/app/img/icon/login-logo@3x.png" mode=""></image>
			<text class="logo-text">生美/医美采购服务平台</text>
		</view>
		<view class="login-form">
			<view class="login-input">
				<input type="number" v-model="params.mobileOrEmail"  maxlength="11" class="input" placeholder="请输入手机号"/>
			</view>
			<view class="login-input">
				<input v-show="isShowEye" type="text" v-model="params.password"  maxlength="18" class="input" placeholder="请输入密码" autocomplete="new-password"/>
				<input v-show="!isShowEye" type="password" v-model="params.password"  :password="true" maxlength="18" class="input" placeholder="请输入密码" autocomplete="new-password"/>
				<view class="iconfont" :class="isShowEye ? iconEyen : iconEyes"  @click="passwordClick"></view>
			</view>
		</view>
		<view class="login-btn"  @click="confirmLogin">协销登录</view>
		<!-- 微信用户已绑定供应商账户 -->
		<error-alert v-if="iseErrorAlert"></error-alert>
	</view>
</template>

<script>
	import { mapState,mapMutations } from 'vuex';
	import errorAlert from '@/components/cm-module/modelAlert/errorAlert.vue'
	import authorize from '@/common/config/authorize.js' 
	var self;
	export default{
		components:{
			errorAlert
		},
		data() {
			return{
				nvabarData: {		//顶部自定义导航
					showCapsule: 0, // 是否显示左上角图标  1表示显示  0表示不显示,
					showSearch: 0,
					title: '登录',  // 导航栏 中间的标题
					haveBack:false,
					textLeft:this.$store.state.isIphone
				},
				isIphoneX:this.$store.state.isIphoneX,
				CustomBar:this.CustomBar,// 顶部导航栏高度
				isShowEye:false,
				isSeller:true,
				iseErrorAlert:false,
				iconEyes:'icon-yanjing_yincang_o',
				iconEyen:'icon-yanjing_xianshi_o',
				params:{
					mobileOrEmail:'',//协销用户登录账号
					password:'',//协销登录密码	
					unionId:uni.getStorageSync('unionId')
				}
			}
		},
		onLoad() {
			
		},
		computed: {
			...mapState(['isWxAuthorize'])
		},
		methods:{
			...mapMutations(['login','logout']),
			async getWxAuthorize(){
				const wechatCode = await authorize.getCode('weixin');// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
				const getUserInfo = await authorize.getUserInfo('weixin');
				this.UserService.UserLoginAuthApplets({ 
					code:wechatCode,
					encryptedData:getUserInfo.encryptedData,
					iv:getUserInfo.iv ,
				})
				.then(response =>{
					this.login(response.data);
					this.$store.commit('updateStatus',response.data)
					uni.setStorageSync('token',response.data.token)
					uni.setStorageSync('unionId',response.data.unionId)
					if(response.data.userIdentity === 1){
						setTimeout(()=>{
							this.$api.navigateTo('/pages/seller/index/index')
						},1500)
					}
				}).catch(error =>{
					this.logout()
					uni.setStorageSync('unionId',error.data.unionId)
					this.$store.commit('updateStatus',error.data)
					this.isSeller= true
				})
			},	
			confirmLogin(){
				if( this.params.mobileOrEmail == ''){
					this.$util.msg('请输入账户名',2000)
					return
				}
				if( this.password == ''){
					this.$util.msg('请输入密码',2000)
					return
				}
				this.SellerLogin()
			},
			SellerLogin(){
				this.SellerService.SellerLogin(this.params)
					.then(response =>{
						this.login(response.data);
						this.$store.commit('updateStatus',response.data)
						uni.setStorageSync('token',response.data.token)
						uni.setStorageSync('unionId',response.data.unionId)
						this.$api.navigateTo('/pages/seller/index/index')
						this.isSeller= false
						setTimeout(()=>{
							this.isSeller= true
						},1500)
					})
					.catch(error =>{
						this.$util.msg(error.msg,2000);
					})
			},
			storeUpdataeStatus(data){
				let user_key = {
						clubID:data.clubID,
						shopID:data.shopID,
						userID:data.userID,
						bindMobile:data.bindMobile,
				}						
				uni.setStorageSync('token',data.token)
				this.$store.commit('updateStatus',user_key)
				this.login(data);
			},
			passwordClick() { //密码显隐操作
				this.isShowEye = !this.isShowEye;
			},
		},
		onShow() {
			this.getWxAuthorize()
		}
	}
</script>

<style lang="scss">
	.login{
		width: 100%;
		height: auto;
		.model-warp.none{
			display: none;			
		}
		.model-warp.show{
			display: block;
		}
		.login-main{
			width: 100%;
			display: flex;
			flex-direction: column;
			align-items: center;
			height: 198rpx;
			padding: 170rpx 0 60rpx 0;
			.logo{
				width: 138rpx;
				height: 118rpx;
				display: block;
			}
			.logo-text{
				font-size: 30rpx;
				line-height: 44rpx;
				color: $color-system;
				font-weight: 600;
				margin-top: 20rpx;
			}
		}
		.login-input{
			width: 600rpx;
			height: 40rpx;
			padding: 24rpx 0;
			margin: 0 auto;
			margin-bottom: 20rpx;
			background: #FFFFFF;
			position: relative;
			border-bottom: 1px solid #E1E1E1;
			.input{
				width: 100%;
				height: 100%;
				background: #FFFFFF;
				font-size: $font-size-28;
				line-height: 40rpx;
				color: #333333;
			}
			.iconfont{
				position: absolute;
				right: 0;
				top: 0;
				font-size: 44rpx;
				color: #999999;
				font-weight: bold;
				z-index: 99;
				width: 96rpx;
				height: 96rpx;
				line-height: 96rpx;
				text-align: center;
			}
			&.link{
				background: #FFFFFF;
				margin-bottom: 40rpx;
				padding: 0 24rpx;
				line-height: 40rpx;
				font-size: $font-size-28;
				.login-reg{
					float: left;
					color: $color-system;
				}
				.login-pwd{
					float: right;
					color: $text-color;
				}
			}
		}
		.login-btn{
			width: 600rpx;
			height: 88rpx;
			border-radius:44rpx;
			font-size: $font-size-28;
			line-height: 88rpx;
			color: #FFFFFF;
			margin: 0 auto;
			text-align: center;
			background: $btn-confirm;
			margin-top: 100rpx;
		}
		.login-tel{
			width: 702rpx;
			font-size: $font-size-28;
			line-height: 240rpx;
			margin: 0 auto;
			color: $text-color;
			text-align: center;
			margin-top: 100rpx;
		}
	}
</style>
