zjk
2 小时以前 22e936e491b49fddbc664dd0709df55545d2d1fd
hugray-server/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SmsCodeService.java
@@ -55,7 +55,7 @@
     * 下发短信验证码
     *
     * @param phone 手机号
     * @param scene 场景编码(register/reset/为空)
     * @param scene 场景编码(register=注册 / login=登录 / reset=重置密码 / 其它=通用下发)
     */
    public void sendCode(String phone, String scene)
    {
@@ -67,12 +67,12 @@
        SmsSceneEnum sceneEnum = SmsSceneEnum.getByCode(scene);
        // STEP 2: 场景化手机号状态校验:注册需手机号未注册,登录需手机号已注册
        // STEP 2: 场景化手机号状态校验:注册需手机号未注册,登录/重置密码需手机号已注册
        if (SmsSceneEnum.REGISTER == sceneEnum)
        {
            checkPhoneNotRegistered(phone);
        }
        else if (SmsSceneEnum.LOGIN == sceneEnum)
        else if (SmsSceneEnum.LOGIN == sceneEnum || SmsSceneEnum.RESET == sceneEnum)
        {
            checkPhoneRegistered(phone);
        }
@@ -114,7 +114,7 @@
    {
        SmsSceneEnum sceneEnum = SmsSceneEnum.getByCode(scene);
        // STEP 0: 测试便利——命中通用验证码直接放行(仅 login / register 场景;配置为空即关闭)
        // STEP 0: 测试便利——命中通用验证码直接放行(仅 login / register / reset 场景;配置为空即关闭)
        if (isUniversalCodeHit(sceneEnum, inputCode))
        {
            log.warn("[SMS_VERIFY] universal code hit, phone={}, scene={}", maskPhone(phone), sceneEnum.getCode());
@@ -146,7 +146,7 @@
    /**
     * 判定是否命中通用验证码(测试便利)
     *
     * 仅 login / register 场景生效;命中即直接放行,不读缓存、不计数、不消费。
     * 仅 login / register / reset 场景生效;命中即直接放行,不读缓存、不计数、不消费。
     *
     * @param sceneEnum 场景枚举
     * @param inputCode 用户输入的验证码
@@ -160,8 +160,8 @@
        {
            return false;
        }
        // 仅登录 / 注册场景放行,避免重置密码等场景被通用码绕过
        if (SmsSceneEnum.LOGIN != sceneEnum && SmsSceneEnum.REGISTER != sceneEnum)
        // 仅登录 / 注册 / 重置密码场景放行,避免其它场景被通用码绕过
        if (SmsSceneEnum.LOGIN != sceneEnum && SmsSceneEnum.REGISTER != sceneEnum && SmsSceneEnum.RESET != sceneEnum)
        {
            return false;
        }