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小时内删除。
发表评论