From 0f2f1f52f17009dc807ebed8750f9b849fa8ab7a Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 13 Nov 2024 09:33:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E:=20=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3=E6=95=B0=E6=8D=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/topic/join_us.rb | 17 +++++++++++++++++ app/views/topics/_friendly_link.json.jbuilder | 1 + app/views/topics/_join_us.json.jbuilder | 5 +++++ app/views/topics/index.json.jbuilder | 8 ++++++++ 4 files changed, 31 insertions(+) create mode 100644 app/views/topics/_friendly_link.json.jbuilder create mode 100644 app/views/topics/_join_us.json.jbuilder 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