forked from Gitlink/forgeplus
fix: avatar to get by forge url
This commit is contained in:
parent
fb5179523f
commit
142bf6ff92
|
@ -26,7 +26,7 @@ module ApiIndexHelper
|
|||
{username: user.show_real_name,
|
||||
user_id: user.id,
|
||||
login: user.login,
|
||||
image_url: "/images/#{forge_user_url_avatar(user)}?#{Time.now.to_i}",
|
||||
image_url: "/images/#{url_to_avatar(user)}?#{Time.now.to_i}",
|
||||
admin: user.admin?,
|
||||
user_url: "/users/#{user.try(:login)}"
|
||||
}
|
||||
|
|
|
@ -141,30 +141,26 @@ module ApplicationHelper
|
|||
|
||||
# 用户图像url,如果不存在的话,source为匿名用户,即默认使用匿名用户图像
|
||||
def url_to_avatar(source)
|
||||
return "" if source&.id.blank?
|
||||
if File.exist?(disk_filename(source&.class, source&.id))
|
||||
ctime = File.ctime(disk_filename(source.class, source.id)).to_i
|
||||
if source.class.to_s == 'User'
|
||||
File.join(relative_path, ["#{source.class}", "#{source.id}"]) + "?t=#{ctime}"
|
||||
else
|
||||
File.join("images/avatars", ["#{source.class}", "#{source.id}"]) + "?t=#{ctime}"
|
||||
end
|
||||
elsif source.class.to_s == 'User'
|
||||
str = source.user_extension.try(:gender).to_i == 0 ? "b" : "g"
|
||||
File.join(relative_path, "#{source.class}", str)
|
||||
elsif source.class.to_s == 'Subject'
|
||||
File.join("images","educoder", "index", "subject", "subject#{rand(17)}.jpg")
|
||||
elsif source.class.to_s == 'Shixun'
|
||||
File.join("images","educoder", "index", "shixun", "shixun#{rand(23)}.jpg")
|
||||
end
|
||||
end
|
||||
|
||||
def forge_user_url_avatar(source)
|
||||
platform_url = Rails.application.config_for(:configuration)['forge_platform_url']
|
||||
if platform_url
|
||||
return Rails.application.config_for(:configuration)['forge_platform_url'] + "/api/users/#{source&.login}/get_image" if source.class.to_s == 'User'
|
||||
if platform_url && source.class.to_s == 'User'
|
||||
return platform_url + "/api/users/#{source&.login}/get_image"
|
||||
else
|
||||
return url_to_avatar(source)
|
||||
return "" if source&.id.blank?
|
||||
if File.exist?(disk_filename(source&.class, source&.id))
|
||||
ctime = File.ctime(disk_filename(source.class, source.id)).to_i
|
||||
if source.class.to_s == 'User'
|
||||
File.join(relative_path, ["#{source.class}", "#{source.id}"]) + "?t=#{ctime}"
|
||||
else
|
||||
File.join("images/avatars", ["#{source.class}", "#{source.id}"]) + "?t=#{ctime}"
|
||||
end
|
||||
elsif source.class.to_s == 'User'
|
||||
str = source.user_extension.try(:gender).to_i == 0 ? "b" : "g"
|
||||
File.join(relative_path, "#{source.class}", str)
|
||||
elsif source.class.to_s == 'Subject'
|
||||
File.join("images","educoder", "index", "subject", "subject#{rand(17)}.jpg")
|
||||
elsif source.class.to_s == 'Shixun'
|
||||
File.join("images","educoder", "index", "shixun", "shixun#{rand(23)}.jpg")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ json.username @user.full_name
|
|||
json.real_name @user.real_name
|
||||
json.login @user.login
|
||||
json.user_id @user.id
|
||||
json.image_url forge_user_url_avatar(@user)
|
||||
json.image_url url_to_avatar(@user)
|
||||
json.admin @user.admin?
|
||||
json.is_teacher @user.user_extension&.teacher?
|
||||
json.user_identity @user.identity
|
||||
|
|
Loading…
Reference in New Issue