电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

springboot+vue實現登錄功能

瀏覽:4日期:2022-09-29 11:38:10

本文實例為大家分享了springboot+vue實現登錄功能的具體代碼,供大家參考,具體內容如下

目錄結構

springboot+vue實現登錄功能

前端端口:8080后端端口:8900

login.vue

<template> <div class='login_content'><!-- 登錄塊 --><div class='login_box'> <!-- 頭像 --> <div class='avatar_box'><img src='http://www.hdgsjgj.cn/assets/logo.png'/> </div> <!-- 表單區域 --> <el-form ref='loginFormRef' :rules='loginRules' :model='loginForm' label-width='0'><!-- 用戶名 --><el-form-item prop='username'> <el-input v-model='loginForm.username' prefix-icon='iconfont icon-denglu'></el-input></el-form-item><!-- 密碼 --><el-form-item prop='password'> <el-input v-model='loginForm.password' prefix-icon='iconfont icon-mima' type='password'></el-input></el-form-item><!-- 按鈕 --><el-form-item class='btns'> <el-button type='primary' @click='login'>提交</el-button> <el-button type='info' @click='resetLoginFrom'>重置</el-button></el-form-item> </el-form></div> </div></template><script> export default {data(){ return {// 表單數據loginForm:{ username:'admin', password:'123456'},// 驗證對象loginRules:{ // 校驗用戶名 username:[{ required: true, message: ’用戶名為必填項’, trigger: ’blur’ },{ min: 5, max: 12, message: ’長度在 5 到 12 個字符’, trigger: ’blur’ } ], // 校驗密碼 password:[{ required: true, message: ’用戶密碼為必填項’, trigger: ’blur’ },{ min: 6, max: 10, message: ’長度在 6 - 10 個字符’, trigger: ’blur’ } ],}, }},methods:{ // 重置表單內容 resetLoginFrom(){this.$refs.loginFormRef.resetFields(); }, // 登錄方法 login(){// 1.表單驗證this.$refs.loginFormRef.validate(async valid =>{ if(!valid){return ; } // 表單驗證成功 const {data:res} = await this.$http.post('login',this.loginForm) // 訪問后臺地址 console.log(res) if( res.flag == 'ok'){this.$message.success('操作成功');// 跳轉到home頁面this.$router.push({path:'/home'});// 存儲user對象window.sessionStorage.setItem('user',res.user); }else{this.$message.error('操作失敗') }}); }} }</script><style lang='less' scoped> .login_content{background-color: #2b4b6b;height: 100%; } .login_box{height: 300px;width: 450px;background-color: #fff;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform:translate(-50%,-50%);.avatar_box{ width: 130px; height: 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: #0ee; img{width: 100%;height: 100%;border-radius: 50%;background-color: #0ee; }} } .btns{display: flex;justify-content: flex-end; } .login_form{position: absolute;buttom:0%;width: 100%;padding: 0 10px;box-sizing: border-box;margin-top: 120px; }</style>

Home.vue

<template> <div><el-button type='info' @click='logout'>安全退出</el-button> </div></template><script> export default {methods:{ logout(){// 清楚sessionwindow.sessionStorage.clear();this.$router.push('/login'); }} }</script><style scoped></style>

index.js

import Vue from ’vue’import VueRouter from ’vue-router’// 引入login組件import Login from ’../components/login.vue’import Home from ’../components/Home.vue’Vue.use(VueRouter)const routes = [ {path:'/',redirect:'/login' }, {path:'/login',component:Login }, {path:'/home',component:Home },]const router = new VueRouter({ routes})// 掛載路由導航守衛router.beforeEach((to,from,next)=>{ // to將要訪問 // from 從哪訪問 // next 接著干next(url)重定向url上,繼續訪問to路徑 if(to.path==’/login’) return next(); // 獲取user const userFlag = window.sessionStorage.getItem('user'); // 無值返回登錄頁 if(!userFlag) return next(’/login’); // 符合要求,放行 next();})export default router

main.js

import Vue from ’vue’import App from ’./App.vue’import router from ’./router’import ’./plugins/element.js’// 添加全局樣式import ’./assets/css/global.css’// 引入icfontimport ’./assets/font/iconfont.css’// 導入aioxsimport axios from ’axios’// 掛載axiosVue.prototype.$http = axios// 設置訪問根路徑axios.defaults.baseURL='http://localhost:9000'Vue.config.productionTip = falsenew Vue({ router, render: h => h(App)}).$mount(’#app’)

后臺實現

@RestControllerpublic class LoginController { @Autowired UserDao userDao; @PostMapping('login') public String login(@RequestBody User user){String flag = 'fail';User user1 = userDao.getUserByMessage(user.getUsername(),user.getPassword());System.out.println('user'+user1);if(user1!=null){ flag='ok';}Map<String , Object> map = new HashMap<>();map.put('flag',flag);map.put('user',user);String param= JSON.toJSONString(map);return param; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 湖南成人高考报名-湖南成考网 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 华东师范大学在职研究生招生网_在职研究生招生联展网 | 砂尘试验箱_淋雨试验房_冰水冲击试验箱_IPX9K淋雨试验箱_广州岳信试验设备有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 高空重型升降平台_高空液压举升平台_高空作业平台_移动式升降机-河南华鹰机械设备有限公司 | 搬运设备、起重设备、吊装设备—『龙海起重成套设备』 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 圈酒招商网【jiushuitv.com】_酒水招商_代理_加盟平台 | 氧化铁红厂家-淄博宗昂化工| 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 耐高温硅酸铝板-硅酸铝棉保温施工|亿欧建设工程 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 壹作文_中小学生优秀满分作文大全 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 首页 - 军军小站|张军博客 |