
<template>
	<view class="container login">
		<view class="login-main">
			<image class="logo" src="https://admin-b.caimei365.com/userfiles/1/images/photo/2020/11/logo.png" mode=""></image>
		</view>
		<view class="login-input">
			<input type="number" 
				   v-model="invitationCode"  
				   maxlength="6" 
				   class="input" 
				   placeholder="请输入邀请码"
			/>
		</view>
		<view class="login-row" @click.stop="this.$api.navigateTo('/pages/login/register-select')"><text>免费注册</text></view>
		<view class="login-btn"  @click.stop="goLogin">登录</view>
		<view class="login-btn-last" @click.stop="this.$api.navigateTo('/pages/login/login')">账号登录</view>
	</view>
</template>

<script>
	import authorize from '@/common/config/authorize.js'
	import wxLogin from "@/common/config/wxLogin.js"
	import {mapState,mapMutations } from 'vuex';
	import { invitationCodeLogin  } from '@/api/use.js'
	export default{
		data() {
			return{
				invitationCode:'',  //获取用户登录的邀请码
			}
		},
		onLoad(option) {

		},
		computed: {
			...mapState(['isWxAuthorize','isLoginType','isLoginProductId','isLoginOrderId'])
		},
		methods:{
			...mapMutations(['login']),
			goLogin() {
				if( this.invitationCode == ''){
					this.$util.msg('请输入邀请码',2000)
					return
				}
				wx.getUserInfo({
					success: res => {
						this.isUserInfo = false
						this.userInfo = res.userInfo;
						let params ={
								invitationCode:this.invitationCode,
								nickName:res.userInfo.nickName,
								headimgurl:res.userInfo.avatarUrl,
						}							
						invitationCodeLogin(params).then(response =>{
							this.login(response.data)
							wxLogin.wxLoginAuthorize()
							setTimeout(()=>{
								switch(this.isLoginType){
									case 9:
										this.$api.navigateTo(`/h5/pages/activity/activity_mid`)
										break;
									case 8:
										this.$api.navigateTo(`/pages/goods/product?id=${this.isLoginProductId}`)
										break;
									case 7:
										this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.isLoginOrderId}`)
										break;
									default:
										this.$api.switchTabTo('/pages/tabBar/user/user')
								}
							},1000)
							
						}).catch(error =>{
							this.$util.msg(error.msg,2000)
							this.isUserInfo = false
						})
					}
				})
			}
		}
	}
</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: 189rpx;
			padding:60rpx 0 40rpx 0;
			margin-bottom: 70rpx;
			.logo{
				width:467rpx;
				height: 189rpx;
				display: block;
			}
		}
		.login-input{
			width: 600rpx;
			height: 88rpx;
			padding: 24rpx 40rpx;
			margin: 0 auto;
			margin-bottom: 30rpx;
			background: #F7F7F7;
			border-radius: 44rpx;
			position: relative;
			box-sizing: border-box;
			.input{
				width: 100%;
				height: 100%;
				background: #F7F7F7;
				font-size: $font-size-28;
				line-height: 88rpx;
				color: #333333;
			}
		}
		.login-row{
			padding: 0 75rpx;
			font-size: $font-size-28;
			line-height: 40rpx;
			color: #E15616;
			margin-bottom: 48rpx;
			text-align: right;
		}
		.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;
		}
		.login-btn-last{
			width: 600rpx;
			height: 86rpx;
			border-radius: 44rpx;
			font-size: $font-size-28;
			line-height: 88rpx;
			color: $color-system;
			margin: 0 auto;
			text-align: center;
			border: 1px solid $color-system;
			margin-top: 20rpx;
		}
		.model-authorization{
			width: 100%;
			height: 100%;
			position: fixed;
			top: 0;
			left: 0;
			z-index: 999;
			.authorization{
				width: 518rpx;
				height: 320rpx;
				position: absolute;
				background: rgba(255,255,255,.7);
				left: 0;
				right: 0;
				bottom: 0;
				top: 0;
				margin: auto;
				.to-btn{
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					margin: auto;
					width: 70%;
					height: 88rpx;
					font-size: $font-size-28;
					line-height: 88rpx;
					color: #FFFFFF;
					text-align: center;
					border-radius: 44rpx;
				}
			}
		}
	}
</style>
