Vue前端篇(五)登录页面修改
先贴一下目前目录结构接下来该Login.vue页面,需要用到scss,Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。安装scss:命令行下执行 yarn add sass-loader node-sass --dev然后在build文件夹下的webpack.base.conf.js中添...
·
先贴一下目前目录结构
接下来该Login.vue页面,需要用到scss,Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。
安装scss:命令行下执行 yarn add sass-loader node-sass --dev
然后在build文件夹下的webpack.base.conf.js中添加如下代码
使用时在<style>标签中加上lang="scss"
还需要用到Cookie来获取token,安装js-cookie:在命令下下执行 yarn add js-cookie
修改Login.vue页面
<template>
<el-form :model="loginForm" :rules="rules" ref="loginForm" label-position="left" label-width="0px"
class="demo-ruleForm login-container">
<h3 class="title">系统登录</h3>
<el-form-item prop="account">
<el-input type="text" v-model="loginForm.account" auto-complete="off" placeholder="账号" prop="account"
clearable="true"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="loginForm.password" auto-complete="off" placeholder="密码" prop="password"
clearable="true"></el-input>
</el-form-item>
<el-form-item style="width:100%;">
<el-button type="primary" style="width:47.5%;" @click.native.prevent="reset">重 置</el-button>
<el-button type="primary" style="width:47.5%;" @click.native.prevent="login" :loading="logining">登 录</el-button>
</el-form-item>
</el-form>
</template>
<script>
import Cookies from "js-cookie";
export default {
name: 'Login',
data() {
return {
logining: false,
loginForm: {
account: 'admin',
password: '123456'
},
rules: {
account: [
{required: true, message: '请输入账号', trigger: 'blur'},
],
password: [
{required: true, message: '请输入密码', trigger: 'blur'},
]
},
checked: true
};
},
methods: {
login() {
let userInfo = {account: this.loginForm.account, password: this.loginForm.password}
this.$api.login(JSON.stringify(userInfo)).then((res) => {
Cookies.set('token', res.data.token) // 放置token到Cookie
sessionStorage.setItem('user', userInfo.account) // 保存用户到本地会话
this.$router.push('/') // 登录成功,跳转到主页
}).catch(function (res) {
alert(res);
});
},
reset() {
this.$refs.loginForm.resetFields();
}
}
}
</script>
<style scoped>
.login-container {
background: #fff url("../../static/Ponyo.jpg") no-repeat;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-border-radius: 5px;
background-clip: padding-box;
margin: 180px auto;
width: 300px;
padding: 35px 35px 15px 35px;
border: 1px solid #eaeaea;
box-shadow: 0 0 25px #cac6c6;
.title {
margin: 0px auto 40px auto;
text-align: center;
color: #505458;
}
.remember {
margin: 0px 0px 35px 0px;
}
}
</style>
img图片:随便加一张图片放入static目录下就行
访问http://localhost:8081/#/login
更多推荐
已为社区贡献5条内容
所有评论(0)