vue2和elementUI 打造落日余晖登录页和滑块校验
warning:
这篇文章距离上次修改已过234天,其中的内容可能已经有所变动。
以下是一个使用Vue 2和Element UI创建的登录页面,其中包括一个滑块验证组件的简单示例:
<template>
<el-form ref="loginForm" :model="loginForm" :rules="rules" class="login-container">
<h3 class="login-title">落日余晖登录</h3>
<el-form-item prop="username">
<el-input v-model="loginForm.username" placeholder="用户名"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="loginForm.password" placeholder="密码"></el-input>
</el-form-item>
<el-form-item prop="captcha">
<el-input v-model="loginForm.captcha" placeholder="验证码">
<template slot="append">
<img :src="captchaSrc" @click="refreshCaptcha" class="captcha-img"/>
</template>
</el-input>
</el-form-item>
<el-form-item prop="sliderCaptcha">
<slider-captcha :captcha-src="sliderCaptchaSrc" @success="onSliderVerifySuccess"></slider-captcha>
</el-form-item>
<el-form-item>
<el-button :loading="loading" type="primary" style="width:100%;" @click="handleLogin">登录</el-button>
</el-form-item>
</el-form>
</template>
<script>
import SliderCaptcha from './SliderCaptcha.vue'; // 假设你有一个滑块组件
export default {
components: {
SliderCaptcha
},
data() {
return {
loginForm: {
username: '',
password: '',
captcha: '',
sliderCaptcha: ''
},
rules: {
// 验证规则
},
captchaSrc: '', // 验证码图片地址
sliderCaptchaSrc: '', // 滑块验证码图片地址
loading: false
};
},
methods: {
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true;
// 登录逻辑...
}
});
},
refreshCaptcha() {
// 刷新验证码逻辑...
this.captchaSrc = `captcha?timestamp=${new Date().getTime()}`;
},
onSliderVerifySuccess(token) {
this.loginForm.sliderCaptcha = token;
}
},
created() {
this.refreshCaptcha();
}
};
</script>
<style scoped>
.login-container {
width: 350px;
margin: 180px auto 0;
padding: 35px;
background-color: #fff;
border: 1px solid #eaeaea;
box-shadow: 0 0
评论已关闭