重点了解

validate 对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。若不传入回调函数,则会返回一个 promise

Function(callback: Function(boolean,

object))

required 是否必填,如不设置,则会根据校验规则自动生成 boolean
rules 表单验证规则 object

目录

1.在最上层有三个div,第一个是给大的背景,第二个是给 登录界面的上去样式,第三个div 是给图片

2.给最大的div ,login_container背景颜色及高度

3. 给登录界面的盒子响应的样式,宽高 背景颜色等等

4.给头像图片样式

5.复制element 官网 , 并且给:model 命名:loginForm

6以下为方法:data(){}

7.为methods的方法,如何axios 携带token ?sessionStorage.setItem("Authorization",Authorization)


思路:

1.在最上层有三个div,第一个是给大的背景,第二个是给 登录界面的上去样式,第三个div 是给图片

 <div class="login_container"><div class="login_box"><!-- 头像 --><div class="avatar_box"><img src="../assets/logo.png" alt="" /></div><div>

2.给最大的div ,login_container背景颜色及高度

.login_container {background-color: #2b5b6b;height: 100%;
}

3. 给登录界面的盒子响应的样式,宽高 背景颜色等等

.login_box {width: 450px;height: 300px;background: #fff;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);

4.给头像图片样式

  .avatar_box {height: 130px;width: 130px;border: 1px solid #eee;border-radius: 50%;padding: 10px;box-shadow: 0 0 10px #ddd;position: absolute;left: 50%;transform: translate(-50%, -50%);background-color: #fff;img {width: 100%;height: 100%;border-radius: 50%;background-color: #eee;}}
}

5.复制element 官网 , 并且给:model 命名:loginForm

:rules  命名为 loginFormRules

ref命名loginFormRef

注意:每个form 表单要给它相应的prop,和v-model 的双向绑定,

  <el-form:model="loginForm":rules="loginFormRules"ref="loginFormRef"class="login_form"><el-form-item prop="username"><el-input v-model="loginForm.username"></el-input></el-form-item><el-form-item prop="password"><el-input v-model="loginForm.password"></el-input></el-form-item><el-form-item><el-button type="primary" @click="login">提交</el-button><el-button type="info">重置</el-button></el-form-item></el-form>

6以下为方法:data(){}

return 返回的为:model 命名的loginForm 里边写的是默认登录的数据

:rules  命名为 loginFormRules 的里边是判断语句

 data() {return {loginForm: {username: "admin",password: "123456",},loginFormRules: {username: [{ required: true, message: "用户名不能为空", trigger: "blur" },//判断长度{min: 2,max: 12,message: "用户名长度要在2到12个字符之间",trigger: "blur",},],password: [{ required: true, message: "密码不能为空", trigger: "blur" },{min: 6,max: 12,message: "密码长度要在6到16个字符之间",trigger: "blur",},],},};},

7.为methods的方法,如何axios 携带token ?sessionStorage.setItem("Authorization",Authorization)

  methods: {login() {this.$refs.loginFormRef.validate(async (valid) => {if (valid) {const { data: res } = await this.$http.post("Login", this.loginForm);console.log("res:", res);if (res.meta.status !== 200) return this.$message.error("登陆失败");this.$message.success("登陆成功");console.log(res.data.token);//window.sessionStorage.setItem("token", res.data.token);console.log(res.data.token);//将数据保存到sessionStoragewindow.sessionStorage.setItem("token", res.data.token);// this.$http.post("login", this.loginForm).then((res) => {//   console.log("res:", res);// });console.log(this.$route);this.$router.push("/home");console.log(this.$route);} else {console.log("格式不正确");}});},resetForm(formName) {this.$refs[formName].resetFields();},},

以下为整体代码:

<template><div class="login_container"><div class="login_box"><!-- 头像 --><div class="avatar_box"><img src="../assets/logo.png" alt="" /></div><div><el-form:model="loginForm":rules="loginFormRules"ref="loginFormRef"class="login_form"><el-form-item prop="username"><el-input v-model="loginForm.username"></el-input></el-form-item><el-form-item prop="password"><el-input v-model="loginForm.password"></el-input></el-form-item><el-form-item><el-button type="primary" @click="login">提交</el-button><el-button type="info">重置</el-button></el-form-item></el-form></div></div></div>
</template><script>
// @ is an alias to /src
// import HelloWorld from "@/components/HelloWorld.vue";export default {name: "Login",data() {return {loginForm: {username: "admin",password: "123456",},loginFormRules: {username: [{ required: true, message: "用户名不能为空", trigger: "blur" },//判断长度{min: 2,max: 12,message: "用户名长度要在2到12个字符之间",trigger: "blur",},],password: [{ required: true, message: "密码不能为空", trigger: "blur" },{min: 6,max: 12,message: "密码长度要在6到16个字符之间",trigger: "blur",},],},};},methods: {login() {this.$refs.loginFormRef.validate(async (valid) => {if (valid) {const { data: res } = await this.$http.post("Login", this.loginForm);console.log("res:", res);if (res.meta.status !== 200) return this.$message.error("登陆失败");this.$message.success("登陆成功");console.log(res.data.token);//window.sessionStorage.setItem("token", res.data.token);console.log(res.data.token);//将数据保存到sessionStoragewindow.sessionStorage.setItem("token", res.data.token);// this.$http.post("login", this.loginForm).then((res) => {//   console.log("res:", res);// });console.log(this.$route);this.$router.push("/home");console.log(this.$route);} else {console.log("格式不正确");}});},resetForm(formName) {this.$refs[formName].resetFields();},},components: {},
};
</script>
<style lang="less" scoped>
.login_container {background-color: #2b5b6b;height: 100%;
}
.login_box {width: 450px;height: 300px;background: #fff;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);.avatar_box {height: 130px;width: 130px;border: 1px solid #eee;border-radius: 50%;padding: 10px;box-shadow: 0 0 10px #ddd;position: absolute;left: 50%;transform: translate(-50%, -50%);background-color: #fff;img {width: 100%;height: 100%;border-radius: 50%;background-color: #eee;}}
}
.login_form {position: absolute;bottom: 0;width: 100%;padding: 0 20px;box-sizing: border-box;
}
.btns {display: flex;justify-content: flex-end;
}
</style>

后台管理系统Login 页面(部分)相关推荐

  1. 淘淘商城第20讲——展示后台管理系统首页面

    我们前面做了那么多准备工作不是白做的,大家如果坚持到现在,真的值得给自己一个拥抱!现在我们就来开始着手处理后台管理系统. 首先,大家需要整合淘淘商城的后台管理系统静态页面,你可能想问这些静态页面怎么获 ...

  2. 一个系统的html源代码,h5后台模板源码bootstrap网站后台管理系统HTML页面后台源代码...

    bootstrap后端管理系统HTML页面源代码代码结构清晰,页面组件可DIY性强. HTML页面文件齐全 每套都是经典模板 模板无需太多 有这几十套就足够了 拒绝差模板  不但不好用而且白费时间 废 ...

  3. React后台管理系统-登录页面

    登录页面 <div className="col-md-4 col-md-offset-4">                <div className=&qu ...

  4. 后台管理系统-登录页面

    对于element-ui的修改:完成登录业务 静态组件完成 <el-button :loading="loading" type="primary" st ...

  5. 使用bootstrap搭建后台管理系统页面《一》

    1. 使用bootstrap搭建后台管理系统页面<一> 一般的后台管理系统页面主体包括四个部分,顶部导航栏,左侧菜单栏,中间正文页和底部的页脚. 其中左侧和顶部使用的是bootstrap的 ...

  6. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  7. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

    文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...

  8. 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由

    文章目录 目标 代码 0.动态地显示菜单:store 1.动态注册路由 2.解决刷新后摆平问题 总代码 本篇修改的代码文件 tab.js 参考视频: VUE项目,VUE项目实战,vue后台管理系统,前 ...

  9. guns快速搭建后台管理系统

    最近开发一个新项目,作为一个后台不得不说,项目拿到手我最不想写的模块就是后台管理系统,感觉就和裹脚布一样又臭又长,无穷无尽的增删查,想想就觉得没意思,但是写项目又逃不开它,没办法尽量找一个方便使用的后 ...

最新文章

  1. Linux下搭建高效的SVN
  2. npm安装过程出现的问题及解决方式
  3. 265. To B 端 Web 页面上线前 checklist
  4. 你知道Unity IoC Container是如何创建对象的吗?
  5. TransmittableThreadLocal
  6. 防不胜防!微信借钱语音确认仍被骗:我可真是太难了
  7. iOS应用不同状态下收到推送的处理
  8. 华为交换机stp原理透析及实战
  9. sublime text3 python找不到文件路径_如何在sublime3 项目设置中设置 python 解释器的路径?...
  10. GIS产品开源大集合
  11. 如何基于TwinCAT3实现伺服电机控制(一)
  12. gadget驱动框架(三)
  13. Maven引包问题.lastUpdated
  14. 显色指数(CRI)计算软件分享(升级版本:增加同步计算R15,CCT,CIE色坐标,三刺激值等)
  15. SpringMVC处理器映射器HandlerMapping
  16. 关于5944空间的所谓免费
  17. 《算法艺术与信息学竞赛》题目-提交方式对照表 [转]
  18. FPGA视频拼接器 信号裁剪功能
  19. 自考笔记-创业学02(小白粗写)
  20. 某应用虚拟化系统远程代码执行

热门文章

  1. 数字IC设计 - 逻辑综合简介与Design Compiler使用(GUI方式)
  2. 三角形计算c语言代码,C语言计算三角形面积代码
  3. 159 至多包含两个不同字符的最长子串
  4. Stata字符型数据转为数值型数据
  5. PPT、word破解加密文档
  6. Adobe Flash player 过期
  7. react学习经验总结(react安装)
  8. Openwrt Kernel panic - not syncing: Fatal exception 解决方案
  9. cmdb自动发现mysql_干货 | EasyOps 的CMDB主机自动发现方案
  10. Qt之预览WPS的word文件