| @@ -70,6 +70,21 @@ class Api::V1::UsersController < Api::V1::BaseController | |||||
| render_ok | render_ok | ||||
| end | end | ||||
| def check_phone_verify_code | |||||
| code = strip(params[:code]) | |||||
| phone = strip(params[:phone]) | |||||
| code_type = params[:code_type] | |||||
| return tip_exception(-2, "手机号格式有误") unless mail =~ CustomRegexp::PHONE | |||||
| verifi_code = VerificationCode.where(phone: phone, code: code, code_type: code_type).last | |||||
| return render_ok if code == "123123" && EduSetting.get("code_debug") # 万能验证码,用于测试 # TODO 万能验证码,用于测试 | |||||
| return tip_exception(-6, "验证码不正确") if verifi_code&.code != code | |||||
| return tip_exception(-6, "验证码已失效") if !verifi_code&.effective? | |||||
| render_ok | |||||
| end | |||||
| def update_email | def update_email | ||||
| @result_object = Api::V1::Users::UpdateEmailService.call(@observe_user, params, current_user.gitea_token) | @result_object = Api::V1::Users::UpdateEmailService.call(@observe_user, params, current_user.gitea_token) | ||||
| if @result_object | if @result_object | ||||
| @@ -79,8 +79,7 @@ class ApplicationController < ActionController::Base | |||||
| # 判断用户的邮箱或者手机是否可用 | # 判断用户的邮箱或者手机是否可用 | ||||
| # params[:type] 1: 注册;2:忘记密码;3:绑定 | # params[:type] 1: 注册;2:忘记密码;3:绑定 | ||||
| def check_mail_and_phone_valid login, type | def check_mail_and_phone_valid login, type | ||||
| unless login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ || login =~ /^1\d{10}$/ || | |||||
| login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])$/ | |||||
| unless login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ || login =~ /^1\d{10}$/ | |||||
| tip_exception(-2, "请输入正确的手机号或邮箱") | tip_exception(-2, "请输入正确的手机号或邮箱") | ||||
| end | end | ||||
| @@ -8,6 +8,7 @@ defaults format: :json do | |||||
| post :check_password | post :check_password | ||||
| post :check_email | post :check_email | ||||
| post :check_email_verify_code | post :check_email_verify_code | ||||
| post :check_phone_verify_code | |||||
| patch :update_email | patch :update_email | ||||
| patch :update_phone | patch :update_phone | ||||
| end | end | ||||