我是如何完成开源系统中的注册功能的?

411 阅读2分钟

其实elementui中有一个最基础的注册表单

注册表单

这个我们就拿它来优化一下就好了,最终我要实现的结果如下图所示 在这里插入图片描述 这里的核心功能就是这个验证码是怎么来的了?请参考上一篇文章

我是怎样完成开源系统中的验证码的功能的?

这里我们需要在页面创建的时候调用我们后端生成验证码的接口 在这里插入图片描述 然后我们就需要在页面上面给渲染出来 在这里插入图片描述

登录的时候我们把数据传给后端就行了: 在这里插入图片描述

这里给大家看看后端的代码:

验证码功能

在这里插入图片描述

上述代码片段是一个Java Spring Boot Controller类中的两个接口方法,用于生成和校验验证码。

第一个方法是makeCaptcha(),使用第三方库生成验证码,并将验证码存入Redis缓存中,设置过期时间为30分钟。然后将验证码的Key和Base64编码的图片返回给前端。

第二个方法是getCaptcha(),该方法通过POST请求接收前端传递的验证信息,包括验证码和验证码的Key。然后从Redis缓存中获取对应Key的验证码,并与传递过来的验证码进行比较。如果验证码不正确,则返回相应的错误信息;如果验证码验证通过,则返回成功提示。

这两个接口可以配合完成验证码的生成和校验功能,用于用户注册或其他需要验证码的场景。

注册功能

在这里插入图片描述

上述代码是一个Java方法,用于处理用户注册的逻辑。根据提供的用户注册信息,在验证密码、验证码和用户名是否合法的基础上,将用户信息插入到数据库中,并返回相应的结果。

该方法的开头部分验证了两次输入的密码是否一致,并判断验证码是否正确。如果验证未通过,则返回相应的错误信息。

在验证步骤通过后,接下来会查询数据库,判断是否已经存在相同的用户名。如果存在,则返回相应的提示消息。

最后,对密码进行加密处理,设置默认的角色ID和用户头像URL,并将用户信息插入数据库中。

最终,该方法会返回一个包含注册结果的ResponseUtils对象。