From 9b880e32099e7c13ef2ea568965b2e1ad20876b7 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 21 Oct 2022 15:04:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/api/v1/users_controller.rb | 14 +++++++------- app/services/api/v1/users/update_email_service.rb | 7 +++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/controllers/api/v1/users_controller.rb b/app/controllers/api/v1/users_controller.rb index ad8e790d..1babd9bc 100644 --- a/app/controllers/api/v1/users_controller.rb +++ b/app/controllers/api/v1/users_controller.rb @@ -39,17 +39,17 @@ class Api::V1::UsersController < Api::V1::BaseController def check_password password = params[:password] - return render_error(-5, "8~16位密码,支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD - return render_error(-5, "密码错误") unless @observe_user.check_password?(password) + return tip_exception(-5, "8~16位密码,支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD + return tip_exception(-5, "密码错误") unless @observe_user.check_password?(password) render_ok end def check_email mail = strip(params[:email]) - return render_error(-2, "邮件格式有误") unless mail =~ CustomRegexp::EMAIL + return tip_exception(-2, "邮件格式有误") unless mail =~ CustomRegexp::EMAIL exist_owner = Owner.find_by(mail: mail) - return render_error(-2, '邮箱已被使用') if exist_owner + return tip_exception(-2, '邮箱已被使用') if exist_owner render_ok end @@ -58,13 +58,13 @@ class Api::V1::UsersController < Api::V1::BaseController mail = strip(params[:email]) code_type = params[:code_type] - return render_error(-2, "邮件格式有误") unless mail =~ CustomRegexp::EMAIL + return tip_exception(-2, "邮件格式有误") unless mail =~ CustomRegexp::EMAIL verifi_code = VerificationCode.where(email: mail, code: code, code_type: code_type).last return render_ok if code == "123123" && EduSetting.get("code_debug") # 万能验证码,用于测试 # TODO 万能验证码,用于测试 - return render_error(-6, "验证码不正确") if verifi_code&.code != code - return render_error(-6, "验证码已失效") if !verifi_code&.effective? + return tip_exception(-6, "验证码不正确") if verifi_code&.code != code + return tip_exception(-6, "验证码已失效") if !verifi_code&.effective? render_ok end diff --git a/app/services/api/v1/users/update_email_service.rb b/app/services/api/v1/users/update_email_service.rb index d5392834..5324ce69 100644 --- a/app/services/api/v1/users/update_email_service.rb +++ b/app/services/api/v1/users/update_email_service.rb @@ -20,10 +20,9 @@ class Api::V1::Users::UpdateEmailService < ApplicationService def call raise Error, errors.full_messages.join(",") unless valid? raise Error, "密码不正确." unless @user.check_password?(@password) - if !(@verify_code == "123123" && EduSetting.get("code_debug")) # 万能验证码,用于测试 # TODO 万能验证码,用于测试 - raise Error, "验证码不正确." if @verify_code&.code != @code - raise Error, "验证码已失效." if !@verify_code&.effective? - end + is_debug = @code == "123123" && EduSetting.get("code_debug") # 万能验证码,用于测试 # TODO 万能验证码,用于测试 + raise Error, "验证码不正确." if @verify_code&.code != @code && !is_debug + raise Error, "验证码已失效." if !@verify_code&.effective? && !is_debug # begin ActiveRecord::Base.transaction do From cfdbc5a68229fd0ec578b7833258e16441462c55 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 21 Oct 2022 15:07:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/api/v1/users/update_email_service.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/services/api/v1/users/update_email_service.rb b/app/services/api/v1/users/update_email_service.rb index 5324ce69..99f99063 100644 --- a/app/services/api/v1/users/update_email_service.rb +++ b/app/services/api/v1/users/update_email_service.rb @@ -20,6 +20,8 @@ class Api::V1::Users::UpdateEmailService < ApplicationService def call raise Error, errors.full_messages.join(",") unless valid? raise Error, "密码不正确." unless @user.check_password?(@password) + exist_owner = Owner.find_by(mail: @mail) + raise Error, "邮箱已被使用." if exist_owner is_debug = @code == "123123" && EduSetting.get("code_debug") # 万能验证码,用于测试 # TODO 万能验证码,用于测试 raise Error, "验证码不正确." if @verify_code&.code != @code && !is_debug raise Error, "验证码已失效." if !@verify_code&.effective? && !is_debug From 3f7366fbcd16a532179f84096aac34bf60330302 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 21 Oct 2022 15:28:48 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E6=88=B7=E9=80=9A=E7=9F=A5=E9=82=AE=E7=AE=B1?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E8=87=AA=E5=B7=B1=E6=94=B9=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/api/v1/users/update_email_service.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/services/api/v1/users/update_email_service.rb b/app/services/api/v1/users/update_email_service.rb index 99f99063..d17f101f 100644 --- a/app/services/api/v1/users/update_email_service.rb +++ b/app/services/api/v1/users/update_email_service.rb @@ -26,7 +26,7 @@ class Api::V1::Users::UpdateEmailService < ApplicationService raise Error, "验证码不正确." if @verify_code&.code != @code && !is_debug raise Error, "验证码已失效." if !@verify_code&.effective? && !is_debug - # begin + begin ActiveRecord::Base.transaction do change_user_email excute_data_to_gitea @@ -35,15 +35,15 @@ class Api::V1::Users::UpdateEmailService < ApplicationService return gitea_data - # rescue - # raise Error, "服务器错误,请联系系统管理员!" - # end + rescue + raise Error, "服务器错误,请联系系统管理员!" + end end private def request_params { - access_token: token + access_token: @user.gitea_token } end