@@ -40,6 +40,9 @@ func (r RssHandler) GetRss(c echo.Context) error {
40
40
if err != nil {
41
41
return FailRespWithMsg (c , Fail , "RSS生成失败" )
42
42
}
43
+
44
+ c .Response ().Header ().Set (echo .HeaderContentType , "application/rss+xml; charset=utf-8" )
45
+
43
46
return c .String (http .StatusOK , rss )
44
47
}
45
48
@@ -65,9 +68,15 @@ func (r RssHandler) generateRss(host string) (string, error) {
65
68
66
69
// 查询动态
67
70
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
+ }
71
80
72
81
feed := generateFeed (memos , & sysConfigVO , & user , host )
73
82
@@ -90,17 +99,19 @@ func generateFeed(memos []db.Memo, sysConfigVO *vo.FullSysConfigVO, user *db.Use
90
99
Title : sysConfigVO .Title ,
91
100
Link : & feeds.Link {Href : fmt .Sprintf ("%s/rss" , host )},
92
101
Description : user .Slogan ,
93
- Author : & feeds.Author {Name : user .Nickname },
102
+ Author : & feeds.Author {Name : user .Nickname , Email : user . Email },
94
103
Created : now ,
95
104
}
96
105
97
106
feed .Items = []* feeds.Item {}
98
107
for _ , memo := range memos {
108
+ memoLink := fmt .Sprintf ("%s/memo/%d" , host , memo .Id )
99
109
feed .Items = append (feed .Items , & feeds.Item {
110
+ Id : memoLink ,
100
111
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 },
102
113
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 },
104
115
Created : * memo .CreatedAt ,
105
116
Updated : * memo .UpdatedAt ,
106
117
})
0 commit comments