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])) end def observed_logged_user? observed_user.id == User.current&.id end protected 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({code: 501, data: {operate_time: data['operate_time']}, message: '系统维护中'}) if data['status'] === 0 rescue # 这里根据需求跳转到404 return render_not_found end end