diff --git a/app/models/topic/join_us.rb b/app/models/topic/join_us.rb index 4fc8154e1..ab3d0809d 100644 --- a/app/models/topic/join_us.rb +++ b/app/models/topic/join_us.rb @@ -14,4 +14,21 @@ # 底部加入我们 class Topic::JoinUs < Topic + + def memo_data + data = { + content: '', + visits: 0, + created_time: format_time(Time.now), + } + + memo = Forum::Memos::GetService.call(self.uuid) + data[:content] = memo['memo']['content'] + data[:visits] = memo['memo']['viewed_count'] + data[:created_time] = memo.nil? ? format_time(Time.now) : memo["memo"]["published_time"] + + return data + rescue + return data + end end diff --git a/app/views/topics/_friendly_link.json.jbuilder b/app/views/topics/_friendly_link.json.jbuilder new file mode 100644 index 000000000..30576c546 --- /dev/null +++ b/app/views/topics/_friendly_link.json.jbuilder @@ -0,0 +1 @@ +json.(friendly_link, :id, :title, :image, :url) \ No newline at end of file diff --git a/app/views/topics/_join_us.json.jbuilder b/app/views/topics/_join_us.json.jbuilder new file mode 100644 index 000000000..65255305f --- /dev/null +++ b/app/views/topics/_join_us.json.jbuilder @@ -0,0 +1,5 @@ +json.(join_us, :id, :title) +data = join_us.memo_data +json.content data[:content] +json.visits data[:visits] +json.created_time data[:created_time] \ No newline at end of file diff --git a/app/views/topics/index.json.jbuilder b/app/views/topics/index.json.jbuilder index ce80e8daf..90cb32cc8 100644 --- a/app/views/topics/index.json.jbuilder +++ b/app/views/topics/index.json.jbuilder @@ -23,6 +23,10 @@ json.topics do json.partial! "glcc_news", locals: {glcc_news: topic} when "Topic::PinnedForum" json.partial! "pinned_forum", locals: {pinned_forum: topic} + when "Topic::FriendlyLink" + json.partial! "friendly_link", locals: {friendly_link: topic} + when "Topic::JoinUs" + json.partial! "join_us", locals: {join_us: topic} else json.nil! end @@ -49,6 +53,10 @@ json.topics do json.partial! "glcc_news", locals: {glcc_news: topic} when "Topic::PinnedForum" json.partial! "pinned_forum", locals: {pinned_forum: topic} + when "Topic::FriendlyLink" + json.partial! "friendly_link", locals: {friendly_link: topic} + when "Topic::JoinUs" + json.partial! "join_us", locals: {join_us: topic} else json.nil! end