目录
前言:
本节给大家讲的是美食杰项目的登录注册页的主要功能和具体样式
具体效果:
未登录:
登录成功:
代码思路
1.完成具体的样式,大部分样式是根据element ui里面的样式
2.通过v-model拿到输入框输入进去的用户名和用户密码
3.通过正则判断是否合格
4.将拿到的用户名和用户密码提交到接口
5.将登录成功的用户密码保存到本地设置成token值,token值是为了后面的登录注册验证
6.跳转前要通过路由导航守卫判断是从哪来并要到哪去
7.登陆成功则将用户的基本信息保存到vuex里面,方便后面的使用
8.判断你要去那个页面,如果没登录要去其他页面则要到登录页进行登录
9.点击重置按钮置空input框
相应的组件:
- all为父组件 登录和注册被引入在里面
- enroll为注册页面
- login为登录页面
具体代码:
all页面的具体代码:
<template>
<div class="alltop">
<!-- 利用element ui里面的标签将登录和注册页面显式在一起,利用tab切换切换两个页面默认为login -->
<el-tabs v-model="activeName" type="card" class="all">
<el-tab-pane label="登录" name="login">
<Login></Login>
</el-tab-pane>
<el-tab-pane label="注册" name="register">
<enroll></enroll>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import Login from "@/views/login/login.vue";
import enroll from "@/views/login/enroll.vue";
export default {
data() {
return {
activeName: "login",
};
},
components: {
Login,
enroll,
},
};
</script>
<style lang="scss" scoped>
.alltop {
width: 100%;
height: 1000px;
.all {
width: 400px;
height: 200px;
margin: 0 auto;
background: #fff;
}
}
</style>
login页面具体代码:
<template>
<div class="login">
<el-form
:label-position="labelPosition"
label-width="80px"
:model="formLabelAlign"
ref="ruleFroms"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="用户名">
<el-input class="inp" v-model="formLabelAlign.username">