diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index 49d065f03..e6ba35731 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -3,8 +3,8 @@ class Weapps::ChallengesController < Weapps::BaseController before_action :set_challenge def is_play - # 关卡有展示效果 || 选择题 || jupyter实训 || 隐藏代码窗口 || html+css实训 - play = @challenge.show_type != -1 || @challenge.st == 1 || @shixun.is_jupyter? || + # 关卡有展示效果 || 选择题 || jupyter实训 || vnc || 隐藏代码窗口 || html+css实训 + play = @challenge.show_type != -1 || @challenge.st == 1 || @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? if play normal_status(-5, "该关卡暂不支持小程序") diff --git a/app/controllers/weapps/sessions_controller.rb b/app/controllers/weapps/sessions_controller.rb index 732d0a686..2dbab7aa7 100644 --- a/app/controllers/weapps/sessions_controller.rb +++ b/app/controllers/weapps/sessions_controller.rb @@ -17,7 +17,13 @@ class Weapps::SessionsController < Weapps::BaseController # session[:wechat_user_extra].delete(:nickName) # 绑定微信号 - OpenUsers::Wechat.create!(user: user, uid: session_unionid) if user.wechat_open_user.blank? + # open_user = OpenUsers::Wechat.find_by(uid: session_unionid) + # if open_user.present? && open_user.user_id.nil? + # open_user.update!(user_id: user.id) + # els + if user.wechat_open_user.blank? + OpenUsers::Wechat.create!(user: user, uid: session_unionid) + end successful_authentication(user) end diff --git a/app/controllers/weapps/unbind_accounts_controller.rb b/app/controllers/weapps/unbind_accounts_controller.rb index 4698108e3..53c8d8478 100644 --- a/app/controllers/weapps/unbind_accounts_controller.rb +++ b/app/controllers/weapps/unbind_accounts_controller.rb @@ -7,7 +7,8 @@ class Weapps::UnbindAccountsController < Weapps::BaseController def destroy open_user = OpenUsers::Wechat.find_by!(user_id: current_user.id) - open_user.update!(user_id: nil) + session[:unionid] = open_user.uid + open_user.destroy! UserAction.create(action_id: current_user.id, action_type: "UnbindWechat", user_id: current_user.id, :ip => request.remote_ip) logout_user render_ok diff --git a/app/helpers/homework_commons_helper.rb b/app/helpers/homework_commons_helper.rb index f962288eb..3061a6e80 100644 --- a/app/helpers/homework_commons_helper.rb +++ b/app/helpers/homework_commons_helper.rb @@ -171,10 +171,10 @@ module HomeworkCommonsHelper {status: status, time: time} end - # 作品数统计:type: 1 已提交 0 未提交 + # 作品数统计:type: 1 已提交 0 未提交 2 所有 def studentwork_count homework_common, type, member student_works = homework_common.teacher_works(member) - type == 1 ? student_works.where("work_status != 0").size : student_works.where(work_status: 0).size + type == 2 ? student_works.size : (type == 1 ? student_works.where("work_status != 0").size : student_works.where(work_status: 0).size) end # 上次查重的时间 diff --git a/app/views/homework_commons/index.json.jbuilder b/app/views/homework_commons/index.json.jbuilder index 00c50e519..6b34eb220 100644 --- a/app/views/homework_commons/index.json.jbuilder +++ b/app/views/homework_commons/index.json.jbuilder @@ -27,6 +27,7 @@ json.homeworks @homework_commons.each do |homework| unless curr_status[:status].include?("未发布") json.commit_count studentwork_count homework, 1, @member json.uncommit_count studentwork_count homework, 0, @member + json.all_count studentwork_count homework, 2, @member end if homework.homework_type == "practice" diff --git a/app/views/weapps/unbind_accounts/show.json.jbuilder b/app/views/weapps/unbind_accounts/show.json.jbuilder index 057823247..c4223a021 100644 --- a/app/views/weapps/unbind_accounts/show.json.jbuilder +++ b/app/views/weapps/unbind_accounts/show.json.jbuilder @@ -1 +1 @@ -json.user_account @user.phone.present? ? @user.phone : @user.mail +json.user_account @user.phone.present? ? @user.phone : (@user.mail.present? ? @user.mail : @user.login)