SpringBoot+Vue前后端分离实战(⽤户注册登录)
⽂章⽬录
前⾔
昨天抽空终于把后端架起来了,准备开始编写后端,结果由于是第⼀次做,搞的我闹了不少洋相,查了半天资料发现是个⼩细节没搞好,⽓死我。
注册
既然要登录那必然是先少不了注册,注册之后才能去登录呀。
那么咱们这个毕竟是作为⼀个前后端分离的项⽬,所以的话注册部分的逻辑也是分两个部分,⼀个是前端部分,⼀个是后端部分。
前端部分逻辑
前端其实就两个。
关于这部分的话是前端⾃⼰⽣成了验证码,前端校验账号密码长度是否合法。
关于这部分前端代码见:
发送请求
django登录注册功能
这个也是⽐较重要的⼀部分,我这边使⽤的是 Axios 发送请求。但是这⾥⼀定要注意⼀个细节
Axios发送的请求参数是封装在requestbody⾥⾯的,这个关系到我们后⾯怎么拿数据,先前我就是不知道这个,搞得我⼀直接收不到参数不过在此之前我们必须做⼀件事前,那就是跨域处理 这⼀块我是在前端做的,后端没去做,为了保证我后端的安全。
target 是你的服务器,/boot 是指代那个主机。
那么现在我们开始发送请求proxyTable : {      '/boot': {        target : 'localhost:8000/',        changeOrigin : true ,        pathRewrite : {          '^/boot': ''        }      }    },
1
2
3
4
5
6
7
8
9
10
11    Register (){      this .axios ({        url : "/boot/regist",        method : 'post',        data : {          username :  this .formRegist .username ,          password : this .formRegist .password .toLowerCase (),        }      }).then (res =>{        this .flag = res .data .flag ;        if (this .flag =='1'){          alert ("注册成功")          this .$router .push ("/login")        }        else  {          alert ("注册失败⽤户名已存在!")        }      })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
后端处理
这⾥的话我要说⼀下那个参数,那个flag就是来说明⽤户是否注册成功的,如果成功 flag 为1 反之为 0现在把⽬光移步到 springboot
这边的逻辑其实很简单,就是检查⽤户名是否存在,存在就不注册,然后返回flag
之后在数据库就能见到注册好的账号密码了。@Controller public  class  UserRegist {    @Autowired   
UserService userService ;    @Autowired    RegistMessage registMessage ;    @ResponseBody    @PostMapping("/regist")    public  RegistMessage SaveUser (@RequestBody  Map <String , Object > usermap ){        String username = (String ) usermap .get ("username");        String password = (String ) usermap .get ("password");        QueryWrapper <User > UsersWrapper = new  QueryWrapper <>();        UsersWrapper .eq ("UserName",username );        if (IsExitsUser (UsersWrapper )){            registMessage .setFlag (0);            return  registMessage ;        }        else  {            User user = new  User ();            user .setUserName (username );            user .setUserPassword (password );            SaveUser (user );            registMessage .setFlag (1);            return  registMessage ;        }    }}
12345678910111213141516171819202122232425262728293031

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。