我对如何在GET方法中实现分页系统很感兴趣,但是我不知道该怎么做。
任何帮助将不胜感激。
在以下json方案中,我希望您向我显示与该页面相关的信息,例如:实际页面,下一页,总页面等...
我想使用url中的&page = 1来引用页面
Json
{
"animes": [
{
"title": "",
"id": "",
"poster": "",
"type": "",
"synopsis": "",
"state": ""
},
]
}
路由器
import * as scraper from './scraper';
import * as express from 'express';
const router = express.Router();
router.get('/latest', (req: express.Request, res: express.Response) => {
scraper.lastAnimesAdded()
.then(animes => {
res.status(200).json({
animes
});
}).catch((err) =>{
console.log(err)
});
});
分页器
export const paginator = (items, page, per_page) => {
var page = page || 1,
per_page = per_page || 10,
offset = (page - 1) * per_page,
paginatedItems = items.slice(offset).slice(0, per_page),
total_pages = Math.ceil(items.length / per_page),
paginContent = {
page: page,
per_page: per_page,
pre_page: page - 1 ? page - 1 : null,
next_page: (total_pages > page) ? page + 1 : null,
total: items.length,
total_pages: total_pages,
data: paginatedItems
};
console.log("Paginate Item: ", paginatedItems);
console.log("Pagin Content: ", paginContent);
const total = paginContent.total;
return paginContent.data;
};