Files
mes-ui-d2/src/pages/core/login/index.vue

106 lines
2.9 KiB
Vue
Raw Normal View History

<template>
<div class="login-page">
<div class="layer bg" id="login"></div>
<div class="layer flex-center">
<!-- logo部分 -->
<div class="logo-group">
<img src="@/assets/image/logo/w500.png" alt="logo">
</div>
<!-- 表单部分 -->
<div class="form-group">
<el-card>
<el-form ref="loginForm" label-position="top" :rules="rules" :model="formLogin">
<el-form-item prop="username">
<el-input type="text" v-model="formLogin.username" placeholder="用户名">
<i slot="prepend" class="fa fa-user-circle-o"></i>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="formLogin.password" placeholder="密码">
<i slot="prepend" class="fa fa-keyboard-o"></i>
</el-input>
</el-form-item>
<el-button @click="submit" type="primary" class="button-login">登陆</el-button>
</el-form>
</el-card>
</div>
<!-- 帮助按钮 -->
<el-button type="info" class="button-help">
需要帮助
<i class="fa fa-question-circle"></i>
</el-button>
</div>
</div>
</template>
<script>
/* eslint-disable */
require('particles.js')
// 配置地址
// https://vincentgarreau.com/particles.js/#default
import config from './config/default'
import Cookies from 'js-cookie'
export default {
data () {
return {
formLogin: {
username: 'admin',
password: 'admin'
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' }
]
}
}
},
mounted () {
// 初始化例子插件
particlesJS('login', config)
},
methods: {
// 提交登陆信息
submit () {
this.$refs.loginForm.validate((valid) => {
if (valid) {
// 开始请求登录接口
this.$axios({
method: 'post',
url: '/login',
data: {
username: this.formLogin.username,
password: this.formLogin.password
}
})
.then(res => {
this.$log('登录结果', res)
const setting = {
expires: 1
}
Cookies.set('username', res.username, setting)
Cookies.set('password', res.password, setting)
Cookies.set('token', res.token, setting)
this.$router.push({
name: 'index'
})
})
.catch(err => {
this.$log('错误信息', err)
})
} else {
return false
}
})
}
}
}
</script>
<style lang="scss">
@import './style.scss';
</style>