后台管理系统Login 页面(部分)
重点了解:
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 页面(部分)相关推荐
- 淘淘商城第20讲——展示后台管理系统首页面
我们前面做了那么多准备工作不是白做的,大家如果坚持到现在,真的值得给自己一个拥抱!现在我们就来开始着手处理后台管理系统. 首先,大家需要整合淘淘商城的后台管理系统静态页面,你可能想问这些静态页面怎么获 ...
- 一个系统的html源代码,h5后台模板源码bootstrap网站后台管理系统HTML页面后台源代码...
bootstrap后端管理系统HTML页面源代码代码结构清晰,页面组件可DIY性强. HTML页面文件齐全 每套都是经典模板 模板无需太多 有这几十套就足够了 拒绝差模板 不但不好用而且白费时间 废 ...
- React后台管理系统-登录页面
登录页面 <div className="col-md-4 col-md-offset-4"> <div className=&qu ...
- 后台管理系统-登录页面
对于element-ui的修改:完成登录业务 静态组件完成 <el-button :loading="loading" type="primary" st ...
- 使用bootstrap搭建后台管理系统页面《一》
1. 使用bootstrap搭建后台管理系统页面<一> 一般的后台管理系统页面主体包括四个部分,顶部导航栏,左侧菜单栏,中间正文页和底部的页脚. 其中左侧和顶部使用的是bootstrap的 ...
- 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框
文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...
- 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出
文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...
- 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由
文章目录 目标 代码 0.动态地显示菜单:store 1.动态注册路由 2.解决刷新后摆平问题 总代码 本篇修改的代码文件 tab.js 参考视频: VUE项目,VUE项目实战,vue后台管理系统,前 ...
- guns快速搭建后台管理系统
最近开发一个新项目,作为一个后台不得不说,项目拿到手我最不想写的模块就是后台管理系统,感觉就和裹脚布一样又臭又长,无穷无尽的增删查,想想就觉得没意思,但是写项目又逃不开它,没办法尽量找一个方便使用的后 ...
最新文章
- Linux下搭建高效的SVN
- npm安装过程出现的问题及解决方式
- 265. To B 端 Web 页面上线前 checklist
- 你知道Unity IoC Container是如何创建对象的吗?
- TransmittableThreadLocal
- 防不胜防!微信借钱语音确认仍被骗:我可真是太难了
- iOS应用不同状态下收到推送的处理
- 华为交换机stp原理透析及实战
- sublime text3 python找不到文件路径_如何在sublime3 项目设置中设置 python 解释器的路径?...
- GIS产品开源大集合
- 如何基于TwinCAT3实现伺服电机控制(一)
- gadget驱动框架(三)
- Maven引包问题.lastUpdated
- 显色指数(CRI)计算软件分享(升级版本:增加同步计算R15,CCT,CIE色坐标,三刺激值等)
- SpringMVC处理器映射器HandlerMapping
- 关于5944空间的所谓免费
- 《算法艺术与信息学竞赛》题目-提交方式对照表 [转]
- FPGA视频拼接器 信号裁剪功能
- 自考笔记-创业学02(小白粗写)
- 某应用虚拟化系统远程代码执行