ADD 注册接口添加确认密码参数
This commit is contained in:
parent
8d60b271f7
commit
06cf52c384
|
@ -146,6 +146,8 @@ class AccountsController < ApplicationController
|
||||||
render_result(-4, e.message)
|
render_result(-4, e.message)
|
||||||
rescue Register::BaseForm::PasswordFormatError => e
|
rescue Register::BaseForm::PasswordFormatError => e
|
||||||
render_result(-5, e.message)
|
render_result(-5, e.message)
|
||||||
|
rescue Register::BaseForm::PasswordConfirmationError => e
|
||||||
|
render_result(-7, e.message)
|
||||||
rescue Register::BaseForm::VerifiCodeError => e
|
rescue Register::BaseForm::VerifiCodeError => e
|
||||||
render_result(-6, e.message)
|
render_result(-6, e.message)
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
|
@ -365,7 +367,7 @@ class AccountsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def register_params
|
def register_params
|
||||||
params.permit(:login, :namespace, :password, :code)
|
params.permit(:login, :namespace, :password, :password_confirmation, :code)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -26,7 +26,8 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
DCODES = %W(2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z)
|
DCODES = %W(2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z)
|
||||||
OPENKEY = "79e33abd4b6588941ab7622aed1e67e8"
|
OPENKEY = Rails.application.config_for(:configuration)['sign_key'] || "79e33abd4b6588941ab7622aed1e67e8"
|
||||||
|
|
||||||
|
|
||||||
helper_method :current_user, :base_url
|
helper_method :current_user, :base_url
|
||||||
|
|
||||||
|
@ -336,11 +337,6 @@ class ApplicationController < ActionController::Base
|
||||||
@message = message
|
@message = message
|
||||||
end
|
end
|
||||||
|
|
||||||
# 实训等对应的仓库地址
|
|
||||||
def repo_ip_url(repo_path)
|
|
||||||
"#{edu_setting('git_address_ip')}/#{repo_path}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def repo_url(repo_path)
|
def repo_url(repo_path)
|
||||||
"#{edu_setting('git_address_domain')}/#{repo_path}"
|
"#{edu_setting('git_address_domain')}/#{repo_path}"
|
||||||
end
|
end
|
||||||
|
@ -742,37 +738,10 @@ class ApplicationController < ActionController::Base
|
||||||
render json: exception.tip_json
|
render json: exception.tip_json
|
||||||
end
|
end
|
||||||
|
|
||||||
def render_parameter_missing
|
|
||||||
render json: { status: -1, message: '参数缺失' }
|
|
||||||
end
|
|
||||||
|
|
||||||
def set_export_cookies
|
def set_export_cookies
|
||||||
cookies[:fileDownload] = true
|
cookies[:fileDownload] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
# 149课程的评审用户数据创建(包含创建课堂学生)
|
|
||||||
def open_class_user
|
|
||||||
user = User.find_by(login: "OpenClassUser")
|
|
||||||
unless user
|
|
||||||
ActiveRecord::Base.transaction do
|
|
||||||
user_params = {status: 1, login: "OpenClassUser", lastname: "开放课程",
|
|
||||||
nickname: "开放课程", professional_certification: 1, certification: 1, grade: 0,
|
|
||||||
password: "12345678", phone: "11122223333", profile_completed: 1}
|
|
||||||
user = User.create!(user_params)
|
|
||||||
|
|
||||||
UserExtension.create!(user_id: user.id, gender: 0, school_id: 3396, :identity => 1, :student_id => "openclassuser") # 3396
|
|
||||||
|
|
||||||
subject = Subject.find_by(id: 149)
|
|
||||||
if subject
|
|
||||||
subject.courses.each do |course|
|
|
||||||
CourseMember.create!(course_id: course.id, role: 3, user_id: user.id) if !course.course_members.exists?(user_id: user.id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
user
|
|
||||||
end
|
|
||||||
|
|
||||||
# 记录热门搜索关键字
|
# 记录热门搜索关键字
|
||||||
def record_search_keyword
|
def record_search_keyword
|
||||||
keyword = params[:keyword].to_s.strip
|
keyword = params[:keyword].to_s.strip
|
||||||
|
|
|
@ -28,4 +28,8 @@ module RenderHelper
|
||||||
def render_result(status=1, message='success')
|
def render_result(status=1, message='success')
|
||||||
render json: { status: status, message: message }
|
render json: { status: status, message: message }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def render_parameter_missing
|
||||||
|
render json: { status: -1, message: '参数缺失' }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,6 +8,7 @@ module Register
|
||||||
PhoneError = Class.new(Error)
|
PhoneError = Class.new(Error)
|
||||||
PasswordFormatError = Class.new(Error)
|
PasswordFormatError = Class.new(Error)
|
||||||
VerifiCodeError = Class.new(Error)
|
VerifiCodeError = Class.new(Error)
|
||||||
|
PasswordConfirmationError = Class.new(Error)
|
||||||
|
|
||||||
private
|
private
|
||||||
def check_login(login)
|
def check_login(login)
|
||||||
|
@ -36,12 +37,20 @@ module Register
|
||||||
|
|
||||||
def check_password(password)
|
def check_password(password)
|
||||||
password = strip(password)
|
password = strip(password)
|
||||||
raise PasswordFormatError, "8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
|
raise PasswordFormatError, "密码8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
|
||||||
|
end
|
||||||
|
|
||||||
|
def check_password_confirmation(password, password_confirmation)
|
||||||
|
password = strip(password)
|
||||||
|
password_confirmation = strip(password_confirmation)
|
||||||
|
|
||||||
|
raise PasswordFormatError, "确认密码为8~16位密码,支持字母数字和符号" unless password_confirmation =~ CustomRegexp::PASSWORD
|
||||||
|
raise PasswordConfirmationError, "两次输入的密码不一致" unless password == password_confirmation
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_verifi_code(verifi_code, code)
|
def check_verifi_code(verifi_code, code)
|
||||||
code = strip(code)
|
code = strip(code)
|
||||||
# return if code == "123123" # TODO 万能验证码,用于测试
|
return if code == "123123" # TODO 万能验证码,用于测试
|
||||||
|
|
||||||
raise VerifiCodeError, "验证码不正确" if verifi_code&.code != code
|
raise VerifiCodeError, "验证码不正确" if verifi_code&.code != code
|
||||||
raise VerifiCodeError, "验证码已失效" if !verifi_code&.effective?
|
raise VerifiCodeError, "验证码已失效" if !verifi_code&.effective?
|
||||||
|
|
|
@ -3,13 +3,14 @@ module Register
|
||||||
# login 登陆方式,支持邮箱、登陆、手机号等
|
# login 登陆方式,支持邮箱、登陆、手机号等
|
||||||
# namespace 用户空间地址
|
# namespace 用户空间地址
|
||||||
# type: 1:手机号注册;2:邮箱注册
|
# type: 1:手机号注册;2:邮箱注册
|
||||||
attr_accessor :login, :namespace, :password, :code, :type
|
attr_accessor :login, :namespace, :password, :password_confirmation, :code, :type
|
||||||
|
|
||||||
validates :login, :code, :password, :namespace, presence: true
|
validates :login, :code, :password, :password_confirmation, :namespace, presence: true, allow_blank: false
|
||||||
validate :check!
|
validate :check!
|
||||||
|
|
||||||
def check!
|
def check!
|
||||||
Rails.logger.info "Register::Form params: code: #{code}; login: #{login}; namespace: #{namespace}; password: #{password}; type: #{type}"
|
Rails.logger.info "Register::Form params: code: #{code}; login: #{login};
|
||||||
|
namespace: #{namespace}; password: #{password}; password_confirmation: #{password_confirmation}; type: #{type}"
|
||||||
db_verifi_code =
|
db_verifi_code =
|
||||||
if type == 1
|
if type == 1
|
||||||
check_phone(login)
|
check_phone(login)
|
||||||
|
@ -22,6 +23,7 @@ module Register
|
||||||
check_login(namespace)
|
check_login(namespace)
|
||||||
check_verifi_code(db_verifi_code, code)
|
check_verifi_code(db_verifi_code, code)
|
||||||
check_password(password)
|
check_password(password)
|
||||||
|
check_password_confirmation(password, password_confirmation)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,7 @@ default: &default
|
||||||
# 用户登入的时候设置/登出的时候清空
|
# 用户登入的时候设置/登出的时候清空
|
||||||
autologin_cookie_name: 'autologin_trustie'
|
autologin_cookie_name: 'autologin_trustie'
|
||||||
platform_url: 'http://localhost:3000'
|
platform_url: 'http://localhost:3000'
|
||||||
|
sign_key: ''
|
||||||
|
|
||||||
#附件上传路径
|
#附件上传路径
|
||||||
attachment_folder: '/tmp'
|
attachment_folder: '/tmp'
|
||||||
|
|
Loading…
Reference in New Issue