From 625c7fd7b592e7befd178ec842e1eb88a40e6231 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Fri, 25 Oct 2019 10:16:57 +0800 Subject: [PATCH] weapp: add register code api && competition: add membets count result --- .../competition_teams_controller.rb | 1 + .../weapps/register_codes_controller.rb | 24 +++++++++++++++++++ .../competition_teams/index.json.jbuilder | 1 + config/routes.rb | 1 + 4 files changed, 27 insertions(+) create mode 100644 app/controllers/weapps/register_codes_controller.rb diff --git a/app/controllers/competitions/competition_teams_controller.rb b/app/controllers/competitions/competition_teams_controller.rb index f20c87b0d..8b69f1872 100644 --- a/app/controllers/competitions/competition_teams_controller.rb +++ b/app/controllers/competitions/competition_teams_controller.rb @@ -121,6 +121,7 @@ class Competitions::CompetitionTeamsController < Competitions::BaseController @all_count = teams.count @all_teams = paginate(teams.includes(:user, users: { user_extension: :school })) + @all_member_count = current_competition.team_members.count end def user_competition_teams diff --git a/app/controllers/weapps/register_codes_controller.rb b/app/controllers/weapps/register_codes_controller.rb new file mode 100644 index 000000000..ff29101d2 --- /dev/null +++ b/app/controllers/weapps/register_codes_controller.rb @@ -0,0 +1,24 @@ +class Weapps::RegisterCodesController < Weapps::BaseController + before_action :require_wechat_login! + + def create + login = params[:login].to_s.strip + if login =~ /^[a-zA-Z0-9]+([._\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ + user = User.find_by(mail: login) + return render_error('该邮箱已注册') if user.present? + elsif login =~ /^1\d{10}$/ + user = User.find_by(phone: params[:login]) + return render_error('该手机号已注册') if user.present? + else + return render_error('请输入正确的邮箱或手机号') + end + + code = %W(0 1 2 3 4 5 6 7 8 9) + verification_code = code.sample(6).join + send_type = login =~ /^1\d{10}$/ ? 1 : 8 + # 记录验证码 + check_verification_code(verification_code, send_type, login) + + render_ok + end +end \ No newline at end of file diff --git a/app/views/competitions/competition_teams/index.json.jbuilder b/app/views/competitions/competition_teams/index.json.jbuilder index 3e5dc4d16..f1f01b76a 100644 --- a/app/views/competitions/competition_teams/index.json.jbuilder +++ b/app/views/competitions/competition_teams/index.json.jbuilder @@ -1,4 +1,5 @@ json.count @all_count +json.members_count @all_member_count json.personal @personal json.competition_name @competition.name json.competition_teams do diff --git a/config/routes.rb b/config/routes.rb index 8bad9a889..d71f9a4fa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -852,6 +852,7 @@ Rails.application.routes.draw do resource :home, only: [:show] resource :session, only: [:create] resource :register, only: [:create] + resource :register_code, only: [:create] resource :code_session, only: [:create] resource :verify, only: [:create] resource :check_account, only: [:create]