<template>
	<div class="aui-wrapper aui-page__login">
		<div class="aui-content__wrapper">
			<main class="aui-content">
				<div class="login-header">
					<h2 class="login-brand">{{ $t('brand.lg') }}</h2>
				</div>
				<div class="login-body">
					<h3 class="login-title">{{ $t('login.title') }}</h3>
					<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" status-icon>
						<el-form-item prop="username">
							<el-input v-model="dataForm.username" :placeholder="$t('login.username')">
								<span slot="prefix" class="el-input__icon">
									<svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-user"></use></svg>
								</span>
							</el-input>
						</el-form-item>
						<el-form-item prop="password">
							<el-input v-model="dataForm.password" type="password" :placeholder="$t('login.password')">
								<span slot="prefix" class="el-input__icon">
									<svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-lock"></use></svg>
								</span>
							</el-input>
						</el-form-item>
						<!-- <el-form-item prop="captcha">
              <el-row :gutter="20">
                <el-col :span="14">
                  <el-input v-model="dataForm.captcha" :placeholder="$t('login.captcha')">
                    <span slot="prefix" class="el-input__icon">
                      <svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-safetycertificate"></use></svg>
                    </span>
                  </el-input>
                </el-col>
                <el-col :span="10" class="login-captcha">
                  <img :src="captchaPath" @click="getCaptcha()">
                </el-col>
              </el-row>
            </el-form-item> -->
						<el-form-item>
							<el-button type="primary" @click="dataFormSubmitHandle()" class="w-percent-100">{{ $t('login.title') }}</el-button>
						</el-form-item>
					</el-form>
				</div>
				<div class="login-footer">
					<p>
						<a href="http://demo.open.renren.io/renren-security" target="_blank">{{ $t('login.demo') }}</a>
					</p>
					<p>
						<a href="https://www.renren.io/" target="_blank">{{ $t('login.copyright') }}</a>
						2022 © renren.io
					</p>
				</div>
			</main>
		</div>
	</div>
</template>

<script>
import Cookies from 'js-cookie'
import debounce from 'lodash/debounce'
// import { getUUID } from '@/utils'
export default {
	data() {
		return {
			captchaPath: '',
			dataForm: {
				username: 'admin',
				password: 'admin',
				uuid: ''
				// captcha: ''
			}
		}
	},
	computed: {
		dataRule() {
			return {
				username: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
				password: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }]
				// captcha: [
				//   { required: true, message: this.$t('validate.required'), trigger: 'blur' }
				// ]
			}
		}
	},
	created() {
		// this.getCaptcha()
	},
	methods: {
		// 获取验证码
		getCaptcha() {
			this.dataForm.uuid = getUUID()
			this.captchaPath = `${window.SITE_CONFIG['apiURL']}/captcha?uuid=${this.dataForm.uuid}`
		},
		// 表单提交
		dataFormSubmitHandle: debounce(
			function() {
				this.$refs['dataForm'].validate(valid => {
					if (!valid) {
						return false
					}
					this.$http
						.post(this.$http.adornUrl('/login'), this.dataForm)
						.then(({ data: res }) => {
							if (res.code !== 0) {
								// this.getCaptcha()
								return this.$message.error(res.msg)
							}
							Cookies.set('token', res.data.token)
							this.$router.replace({ name: 'home' })
						})
						.catch((err) => {
							this.$message({
								message: err.message,
								type: 'error',
								duration: 2000
							})
						})
				})
			},
			1000,
			{ leading: true, trailing: false }
		)
	}
}
</script>