diff --git a/app/controllers/traces/base_controller.rb b/app/controllers/traces/base_controller.rb index 2b857d23..3a59ad08 100644 --- a/app/controllers/traces/base_controller.rb +++ b/app/controllers/traces/base_controller.rb @@ -1,7 +1,7 @@ class Traces::BaseController < ApplicationController helper_method :observed_logged_user?, :observed_user - + before_action :check_trace_system def observed_user @_observed_user ||= (User.find_by_login(params[:user_id]) || User.find_by_id(params[:user_id])) @@ -15,4 +15,12 @@ class Traces::BaseController < ApplicationController def check_auth return render_forbidden unless current_user.admin? || observed_logged_user? end + + def check_trace_system + code, data, error = Trace::SystemInfoService.call(current_user.trace_token) + return render_ok({status: 501, data: {operate_time: data['operate_time']}, message: '系统维护中'}) if data['status'] === 0 + rescue + # 这里根据需求跳转到404 + return render_not_found + end end \ No newline at end of file