1、若依ruoyi cloud 验证码流程

/**

* 验证码流程:

* 1、前提为设置开启验证码,设置接口/code为网关白名单

*

* 2、前端请求接口/code 获取返回为:

* {

* "msg":"操作成功",

* "img":"/9j/4AAQSkqmVaNmKVWNmf/Z", //图像base64

* "code":200,

* "captchaOnOff":true,

* "uuid":"2ed47732c50b48b5980c5dbbcf800ad2"

* }

*

* 3、返回同时记录code到redis,记录形式为 uuid = code

* String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;

* redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);

*

* 4、提交登陆请求,包含了填写的验证结果code和uuid:

* {

* username: "admin",

* password: "admin123",

* code: "2",

* uuid: "dcbeedcd858c4caa934ece00cacd311e"

* }

*

* 5、过滤器ValidateCodeFilter对验证码进行验证

* 取出

* code: "2",

* uuid: "dcbeedcd858c4caa934ece00cacd311e"

* 根据uuid为key反向到redis中进行比对,比对失败抛出异常。

*

* 6、后续转发到ruoyi-auth/auth接口进行登陆认证

* 登陆认证只用

* username: "admin",

* password: "admin123",

* 这两个参数。

*

* @author baijg

* https://gitee.com/baijigan

*

@RestController

public class CodeController {

@Autowired

private ValidateCodeService validateCodeService;

@SentinelResource("ruoyi-captcha")

@RequestMapping("code")

public AjaxResult getCode(){

System.out.println("CodeController handle");

AjaxResult ajax;

try

{

ajax = validateCodeService.createCaptcha();

}

catch (Exception e)

{

e.printStackTrace();

ajax= new AjaxResult(500 , "生成验证码错误");

}

return ajax;

}

}