Skip to content

Commit

Permalink
Merge pull request #272 from Jinvic/feat/rss
Browse files Browse the repository at this point in the history
bugfix(rss): rss功能调整&bug修复
  • Loading branch information
kingwrcy authored Feb 13, 2025
2 parents d755612 + c78a9bf commit 0f4e41e
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions backend/handler/rss.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ func (r RssHandler) GetRss(c echo.Context) error {
if err != nil {
return FailRespWithMsg(c, Fail, "RSS生成失败")
}

c.Response().Header().Set(echo.HeaderContentType, "application/rss+xml; charset=utf-8")

return c.String(http.StatusOK, rss)
}

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

// 查询动态
tx := r.base.db.Preload("User", func(x *gorm.DB) *gorm.DB {
return x.Select("username", "nickname", "id")
}).Where("pinned = 0")
tx.Order("createdAt desc").Limit(10).Find(&memos)
return x.Select("username", "nickname", "id", "email")
}).Where("showType = 1")
tx.Order("createdAt desc").Limit(15).Find(&memos)

for i := range memos {
if *memos[i].Pinned {
memos[i].Content = "**【置顶】**\n" + memos[i].Content
}
}

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

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

feed.Items = []*feeds.Item{}
for _, memo := range memos {
memoLink := fmt.Sprintf("%s/memo/%d", host, memo.Id)
feed.Items = append(feed.Items, &feeds.Item{
Id: memoLink,
Title: fmt.Sprintf("Memo #%d", memo.Id),
Link: &feeds.Link{Href: fmt.Sprintf("%s/memo/%d", host, memo.Id)},
Link: &feeds.Link{Href: memoLink},
Description: parseMarkdownToHtml(getContentWithExt(memo, host)),
Author: &feeds.Author{Name: memo.User.Nickname},
Author: &feeds.Author{Name: memo.User.Nickname, Email: memo.User.Email},
Created: *memo.CreatedAt,
Updated: *memo.UpdatedAt,
})
Expand Down

0 comments on commit 0f4e41e

Please sign in to comment.