diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 8e395b833..59823861f 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -162,7 +162,7 @@ class AccountsController < ApplicationController render_ok end else - tip_exception(-1, interactor.error) + tip_exception(-1, interactor.result[:message]) end rescue Register::BaseForm::EmailError => e render_result(-2, e.message) @@ -177,10 +177,13 @@ class AccountsController < ApplicationController rescue Register::BaseForm::VerifiCodeError => e render_result(-6, e.message) rescue Exception => e - Gitea::User::DeleteService.call(user.login) unless user.nil? - Rails.logger.error("##:register error--#{user.try(:id)}") + if user.present? && !e.message.to_s.include?("user already exists") + # Gitea::User::DeleteService.call(user.login) + # user.destroy + end + Rails.logger.error("##:register error--#{user.try(:id)},message:#{e.message}") logger_error(e) - tip_exception(-1, e.message) + tip_exception(-1, "注册失败") end end diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 6b2d2437a..f981c37b5 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -74,7 +74,7 @@ class RepositoriesController < ApplicationController end def sub_entries - file_path_uri = URI.parse(URI.encode(params[:filepath].to_s.strip)) + file_path_uri = URI.escape(URI.encode(params[:filepath].to_s.strip)) if @project.educoder? if params[:type] === 'file' @@ -127,7 +127,7 @@ class RepositoriesController < ApplicationController @commits = Educoder::Repository::Commits::ListService.call(@project&.project_educoder&.repo_name) else if params[:filepath].present? - file_path_uri = URI.parse(URI.encode(params[:filepath].to_s.strip)) + file_path_uri = URI.escape(URI.encode(params[:filepath].to_s.strip)) @hash_commit = Gitea::Repository::Commits::FileListService.new(@owner.login, @project.identifier, file_path_uri, sha: params[:sha], page: params[:page], limit: params[:limit], token: @owner&.gitea_token).call else @@ -323,7 +323,7 @@ class RepositoriesController < ApplicationController # TODO 获取最新commit信息 def project_commits if params[:filepath].present? - file_path_uri = URI.parse(URI.encode(params[:filepath].to_s.strip)) + file_path_uri = URI.escape(URI.encode(params[:filepath].to_s.strip)) Gitea::Repository::Commits::FileListService.new(@project.owner.login, @project.identifier, file_path_uri, sha: get_ref, page: 1, limit: 1, token: @project&.owner&.gitea_token).call else diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 62e040d82..5418be159 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -115,6 +115,9 @@ class Gitea::ClientService < ApplicationService url = [api_url(is_hat), api_rest].join('').freeze url = action === 'get' ? url : URI.escape(url) url = URI.escape(url) unless url.ascii_only? + url = url.gsub(")", "%29") if url.to_s.include?(")") + url = url.gsub("]", "%5D") if url.to_s.include?("]") + url = url.gsub("[", "%5B") if url.to_s.include?("[") puts "[gitea] request url: #{url}" return url end diff --git a/app/views/users/_user_small.json.jbuilder b/app/views/users/_user_small.json.jbuilder index f5929ef6b..f495680e1 100644 --- a/app/views/users/_user_small.json.jbuilder +++ b/app/views/users/_user_small.json.jbuilder @@ -4,6 +4,7 @@ json.array! users do |user| json.login user.login json.user_id user.id json.mail user.mail + json.phone user.phone.present? ? "#{user.phone[0..2]}****#{user.phone[-4..-1]}" : "" json.custom_department user.custom_department json.image_url url_to_avatar(user) json.profile_completed user.profile_completed