45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
const { Article } = require('./article');
|
|
|
|
/**
|
|
* 文章管理类
|
|
*/
|
|
class ArticleManager {
|
|
constructor() {
|
|
this.articles = this.initArticles();
|
|
}
|
|
|
|
// 初始化文章
|
|
initArticles() {
|
|
return [ new Article(
|
|
'1',
|
|
'文章标题',
|
|
`<p>第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行第一行</p>
|
|
<p>第二行第二行第二行第二行第二行第二行第二行第二行第二行第二行第二行第二行</p>
|
|
<img class="article-image" src="https://www.meetstarry.com/banner1.png" style="width:100%;max-width:100%;display:block;margin:15px 0;border-radius:8px;" />
|
|
<p>第三行第三行第三行第三行第三行第三行第三行第三行第三行第三行第三行第三行</p>
|
|
<p>第四行第四行第四行第四行第四行第四行第四行第四行第四行第四行第四行第四行</p>
|
|
<p>第五行第五行第五行第五行第五行第五行第五行第五行第五行第五行第五行第五行</p>`,
|
|
new Date('2025-05-13').getTime()
|
|
),
|
|
];
|
|
}
|
|
|
|
// 获取所有文章
|
|
getAllArticles() {
|
|
return this.articles;
|
|
}
|
|
|
|
// 获取特定文章
|
|
getArticleById(id) {
|
|
return this.articles.find(article => article.id === id);
|
|
}
|
|
|
|
// 获取最新文章
|
|
getLatestArticle() {
|
|
return this.articles.sort((a, b) => b.createTime - a.createTime)[0];
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
ArticleManager
|
|
} |