SpringBoot+vue前后端分离

1.前端查询(传递封装的参数)

  loadPost(){this.$axios.post(this.$httpUrl+'/user/listPageC1',{pageSize:this.pageSize,pageNum:this.pageNum,param:{name:this.name,sex:this.sex}}).then(res=>res.data).then(res=>{console.log(res)if(res.code==200){this.tableData=res.datathis.total=res.total}else{alert('获取数据失败')}})}

下面代码是后端封装的查询的对象

@Data
public class QueryPageParam {//默认private static int PAGE_SIZE=20;private static int PAGE_NUM=1;private int pageSize=PAGE_SIZE;private int pageNum=PAGE_NUM;private HashMap param = new HashMap();}

2.新增功能

 <el-form ref="form" :rules="rules" :model="form" label-width="80px"><el-form-item label="账号" prop="no"><el-col :span="20"><el-input v-model="form.no"></el-input></el-col></el-form-item><el-form-item label="名字" prop="name"><el-col :span="20"><el-input v-model="form.name"></el-input></el-col></el-form-item><el-form-item label="密码" prop="password"><el-col :span="20"><el-input v-model="form.password"></el-input></el-col></el-form-item><el-form-item label="年龄" prop="age"><el-col :span="20"><el-input v-model="form.age"></el-input></el-col></el-form-item><el-form-item label="性别"><el-radio-group v-model="form.sex"><el-radio label="1"></el-radio><el-radio label="0"></el-radio></el-radio-group></el-form-item><el-form-item label="电话" prop="phone"><el-col :span="20"><el-input v-model="form.phone"></el-input></el-col></el-form-item></el-form><span slot="footer" class="dialog-footer"><el-button @click="centerDialogVisible = false">取 消</el-button><el-button type="primary" @click="save">确 定</el-button></span>
 data() {return {tableData: [],pageSize:10,pageNum:1,total:0,name:'',sex:'',sexs:[{value: '1',label: '男'}, {value: '0',label: '女'}],centerDialogVisible:false,form:{id:'',no:'',name:'',password:'',age:'',phone:'',sex:'0',roleId:'1'},rules: {no: [{required: true, message: '请输入账号', trigger: 'blur'},{min: 3, max: 8, message: '长度在 3 到 8 个字符', trigger: 'blur'},{validator:checkDuplicate,trigger: 'blur'}],name: [{required: true, message: '请输入名字', trigger: 'blur'}],password: [{required: true, message: '请输入密码', trigger: 'blur'},{min: 3, max: 8, message: '长度在 3 到 8 个字符', trigger: 'blur'}],age: [{required: true, message: '请输入年龄', trigger: 'blur'},{min: 1, max: 3, message: '长度在 1 到 3 个位', trigger: 'blur'},{pattern: /^([1-9][0-9]*){1,3}$/,message: '年龄必须为正整数字',trigger: "blur"},{validator:checkAge,trigger: 'blur'}],phone: [{required: true,message: "手机号不能为空",trigger: "blur"},{pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur"}]}}},
 doSave(){this.$axios.post(this.$httpUrl+'/user/save',this.form).then(res=>res.data).then(res=>{console.log(res)if(res.code==200){this.$message({message: '操作成功!',type: 'success'});this.centerDialogVisible = falsethis.loadPost()this. resetForm()}else{this.$message({message: '操作失败!',type: 'error'});}})},

后端新增代码

 @PostMapping("/save")public Result save(@RequestBody User user){return userService.save(user)?Result.suc():Result.fail();}

3 登录中心

登录成功之后 跳转到主页(重新路由)

  if (valid) { //valid成功为true,失败为false//去后台验证用户名密码this.$axios.post(this.$httpUrl+'/user/login',this.loginForm).then(res=>res.data).then(res=>{console.log(res)if(res.code==200){//存储sessionStorage.setItem("CurUser",JSON.stringify(res.data.user))console.log(res.data.menu)this.$store.commit("setMenu",res.data.menu)//跳转到主页this.$router.replace('/Index');}else{this.confirm_disabled=false;alert('校验失败,用户名或密码错误!');return false;}});

创建路由文件如下:

import VueRouter from 'vue-router';const routes = [{path:'/',name:'login',component:()=>import('../components/Login')},{path:'/Index',name:'index',component:()=>import('../components/Index'),children:[{path:'/Home',name:'home',meta:{title:'首页'},component:()=>import('../components/Home')},

登录后端代码

  //登录@PostMapping("/login")public Result login(@RequestBody User user){List list = userService.lambdaQuery().eq(User::getNo,user.getNo()).eq(User::getPassword,user.getPassword()).list();if(list.size()>0){User user1 = (User)list.get(0);List menuList = menuService.lambdaQuery().like(Menu::getMenuright,user1.getRoleId()).list();HashMap res = new HashMap();res.put("user",user1);res.put("menu",menuList);return Result.suc(res);}return Result.fail();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink SQL:debezium-json 格式的表一定是数据库的 CDC 数据吗?

debezium-json 格式有一种非常典型的应用场景,就是:上游(Source)是一张使用 Flink CDC 接入的关系数据库中的表,下游(Sink)是一张创建在 Kafka 上的表,这张表的 format 往往会定义为 debezium-json,以便 Flink 能获得全面的 CDC 信息用于流上的实时处理,这种场景我们…

centos安装mysql并设置远程访问

下载之前先删除有关mysql 使用rpm查看已安装的安装包 rpm -qa|grep mysql使用yum卸载安装的mysql yum remove mysql mysql-server mysql-libs mysql-server查询剩下的 rpm -qa|grep mysql删除剩下的 rpm -ev 直接放你查到的删除剩余的 rm -rf mysql*再次找 find / -name…

Kubernetes(k8s)集群搭建部署,master节点配置

目录 1.切换为root用户 2.关闭防火墙&#xff0c;关闭swap分区和禁用SElinux 3.安装docker 4.更改daemon.json文件&#xff0c;指定 Docker 守护进程使用的 cgroup 驱动程序 5.重启docker服务 6.配置kubernetes.repo 7.安装Kubelet、Kubeadm、Kubectl 8.设置开机自启 …

【数据结构|C语言版】单链表应用

前言1. 基于单链表实现通讯录1.1 知识要求1.2 功能要求 2. 代码总结2.1 SeqList.h2.2 SeqList.c2.3 Contact.h2.4 Contact.c2.5 test.c 后言 上期回顾&#xff1a;【数据结构|C语言版】单链表 前言 各位小伙伴大家好&#xff01;上期小编讲解了单链表相关知识&#xff0c;在此…

【Go】原子并发操作

目录 一、基本概念 支持的数据类型 主要函数 使用场景 二、基础代码实例 开协程给原子变量做加法 统计多个变量 原子标志判断 三、并发日志记录器 四、并发计数器与性能监控 五、优雅的停止并发任务 worker函数 Main函数 应用价值 Go语言中&#xff0c;原子并发操…

Qt C++ 实现无边框窗口

Qt C 实现无边框窗口 // widget.h #ifndef WIDGET_H #define WIDGET_H#include <QDebug> #include <QHBoxLayout> #include <QMouseEvent> #include <QPushButton> #include <QString> #include <QWidget>#define PADDING 6enum Location…

SoC的启动流程 和MCU的启动流程 有什么区别?

SoC&#xff08;System on Chip&#xff09;和MCU&#xff08;Microcontroller Unit&#xff09;的启动流程在很多方面是相似的&#xff0c;因为它们都涉及到硬件的初始化和软件的加载。然而&#xff0c;由于SoC通常包含更复杂的系统集成和可能运行更高级的操作系统&#xff0c…

HLS视频播放在iOS和安卓平台的适配问题及解决方案

HLS视频播放在iOS和安卓平台的适配问题及解决方案 在移动端视频播放中&#xff0c;HLS&#xff08;HTTP Live Streaming&#xff09;是一种常用的流媒体传输协议&#xff0c;可以实现视频的分段传输和自适应码率调整&#xff0c;以提供更好的播放体验。然而&#xff0c;由于iO…

获取字符串的全排列(去除字符串中2个字符相同时造成的重复)

一、概念 现有一个字符串&#xff0c;要打印出该字符串中字符的全排列。 以字符串abc为例&#xff0c;输出的结果为&#xff1a;abc、acb、bac、bca、cab、cba。 以字符串aab为例&#xff0c;输出的结果为&#xff1a;aab、aba、baa。 二、代码 public class Permutation {pub…

Rabbitmq中的延迟队列是什么?有什么作用?如何使用?

1、Rabbitmq中的延迟队列是什么&#xff1f; 在RabbitMQ中&#xff0c;延迟队列是一个特殊的队列&#xff0c;用于存放需要在指定时间后被处理的消息。这种队列的主要特性是它可以为队列中的每个消息设置一定的延迟时间&#xff0c;只有在延迟时间到达后&#xff0c;消息才会被…

【Linux】Linux基础与常用指令大全

文章目录 操作系统是什么&#xff1f;1. Linux家族介绍2. Linux的安装方式3. 常用指令3.1 ls [选项] [目录/文件]&#xff08;显示目录或文件信息&#xff09;3.2 pwd&#xff08;显示当前所在目录&#xff09;3.3 任意指令加上 --help&#xff08;查看指令的用法&#xff09;3…

ThinkPHP V5.1框架源码

源码下载地址&#xff1a;ThinkPHP V5.1.zip www WEB部署目录&#xff08;或者子目录&#xff09; ├─application 应用目录 │ ├─common 公共模块目录&#xff08;可以更改&#xff09; │ ├─module_name 模块目录 │ │ ├─common.php 模块函数文件 │ │ ├─controll…

一文掌握 React 开发中的 JavaScript 基础知识

前端开发中JavaScript是基石。在 React 开发中掌握掌握基础的 JavaScript 方法将有助于编写出更加高效、可维护的 React 应用程序。 在 React 开发中使用 ES6 语法可以带来更简洁、可读性更强、功能更丰富,以及更好性能和社区支持等诸多好处。这有助于提高开发效率,并构建出更…

线性表概念及顺序表的实现

文章目录 前言一、线性表1.定义2.特点3.一般线性表的抽象数据类型定义 二、线性表的顺序存储&#xff08;顺序表&#xff09;1.基本概念2.数组实现顺序表3.顺序表中基本操作的具体实现4.顺序表总结 总结 前言 T_T此专栏用于记录数据结构及算法的&#xff08;痛苦&#xff09;学…

MyBatis 源码分析系列文章导读

1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章。本篇文章从 MyBatis 是什么&#xff08;what&#xff09;&#xff0c;为什么要使用&#xff08;why&#xff09;&#xff0c;以及如何使用&#xff08;how&#xff09;等三个角度进行了说明和演…

vue--数据代理与数据劫持

0.回顾Object.defineProperty()方法 let number 18let person {name:张三,sex:男,}Object.defineProperty(person,age,{// value:18,// enumerable:true, //控制属性是否可以枚举&#xff0c;默认值是false// writable:true, //控制属性是否可以被修改&#xff0c;默认值是fa…

通义灵码×西安交通大学携手打造“云工开物-高校训练营”,解锁 AI 时代编程学习与实战

作为大学生如何利用 AI “整活儿”&#xff1f;欢迎各位同学关注阿里云与西安交通大学计算机学院携手打造的“云工开物-高校训练营”&#xff0c;带你走近 AI 编程助手“通义灵码”。通义灵码是阿里推出的免费 AI 编程工具&#xff0c;拥有实时代码续写与优化、自然语言生成代码…

记一次对某高校微信小程序的漏洞挖掘

挖掘目标的部署在微信的资产(减少信息的收集&#xff0c;毕竟一般web站点没有账号密码不好进入后台&#xff0c;挖掘功能点少) 寻找目标的微信小程序(非原图) 招生小程序打不开&#xff0c;只能挖掘管理系统 进入后发现存在上报安全隐患功能&#xff0c;可以上传图片 准备上传…

浅谈Java21的新特性-虚拟线程

虚拟线程&#xff08;Virtual Threads&#xff09;&#xff0c;又称为用户模式线程&#xff08;User-Mode Threads&#xff09;或纤程&#xff08;Fibers&#xff09;&#xff0c;是一种高级线程模型&#xff0c;在Java等现代编程语言环境中引入&#xff0c;旨在简化并发编程并…

Vue的图片懒加载 vue-lazyload插件使用

图片懒加载是一种网页性能优化技术&#xff0c;页面加载时仅加载可见区域内的图像&#xff0c;图像只会在用户滚动或浏览到它们时才会被加载&#xff0c;而不是在页面一开始就全部加载。 优点 可以减少首页首次加载的数量&#xff0c;减少服务器的压力有占位图片来展示预加载动…