Skip to content

Commit 0f4e41e

Browse files
authored
Merge pull request #272 from Jinvic/feat/rss
bugfix(rss): rss功能调整&bug修复
2 parents d755612 + c78a9bf commit 0f4e41e

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

backend/handler/rss.go

+17-6
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ func (r RssHandler) GetRss(c echo.Context) error {
4040
if err != nil {
4141
return FailRespWithMsg(c, Fail, "RSS生成失败")
4242
}
43+
44+
c.Response().Header().Set(echo.HeaderContentType, "application/rss+xml; charset=utf-8")
45+
4346
return c.String(http.StatusOK, rss)
4447
}
4548

@@ -65,9 +68,15 @@ func (r RssHandler) generateRss(host string) (string, error) {
6568

6669
// 查询动态
6770
tx := r.base.db.Preload("User", func(x *gorm.DB) *gorm.DB {
68-
return x.Select("username", "nickname", "id")
69-
}).Where("pinned = 0")
70-
tx.Order("createdAt desc").Limit(10).Find(&memos)
71+
return x.Select("username", "nickname", "id", "email")
72+
}).Where("showType = 1")
73+
tx.Order("createdAt desc").Limit(15).Find(&memos)
74+
75+
for i := range memos {
76+
if *memos[i].Pinned {
77+
memos[i].Content = "**【置顶】**\n" + memos[i].Content
78+
}
79+
}
7180

7281
feed := generateFeed(memos, &sysConfigVO, &user, host)
7382

@@ -90,17 +99,19 @@ func generateFeed(memos []db.Memo, sysConfigVO *vo.FullSysConfigVO, user *db.Use
9099
Title: sysConfigVO.Title,
91100
Link: &feeds.Link{Href: fmt.Sprintf("%s/rss", host)},
92101
Description: user.Slogan,
93-
Author: &feeds.Author{Name: user.Nickname},
102+
Author: &feeds.Author{Name: user.Nickname, Email: user.Email},
94103
Created: now,
95104
}
96105

97106
feed.Items = []*feeds.Item{}
98107
for _, memo := range memos {
108+
memoLink := fmt.Sprintf("%s/memo/%d", host, memo.Id)
99109
feed.Items = append(feed.Items, &feeds.Item{
110+
Id: memoLink,
100111
Title: fmt.Sprintf("Memo #%d", memo.Id),
101-
Link: &feeds.Link{Href: fmt.Sprintf("%s/memo/%d", host, memo.Id)},
112+
Link: &feeds.Link{Href: memoLink},
102113
Description: parseMarkdownToHtml(getContentWithExt(memo, host)),
103-
Author: &feeds.Author{Name: memo.User.Nickname},
114+
Author: &feeds.Author{Name: memo.User.Nickname, Email: memo.User.Email},
104115
Created: *memo.CreatedAt,
105116
Updated: *memo.UpdatedAt,
106117
})

0 commit comments

Comments
 (0)