$(function () {
let url = window.location.href
let getqyinfo = url.split('?')[1]
let getqys = new URLSearchParams('?' + getqyinfo)
const id = getqys.get('id')
const title = getqys.get('title')
$('#newType').text(title)
$('#newsText').text(title)
var params = {
addon_idcsmart_news_type_id: id,
page: 1, // 当前页数
limit: 10 // 一页几条
}
var totalPages = 0; // 总页数
var visiblePages = 5; // 显示的页码数
var pagination = $('.pagination');
// 新闻列表
function getTitleList() {
$.ajax({
url: "/console/v1/news",
method: 'get',
data: params,
success: function (res) {
const titleList = res.data.list
$('#totalText').text(`共${res.data.count}项数据`)
totalPages = Math.ceil(res.data.count / params.limit)
$('.announce-list').empty()
titleList.forEach((item) => {
$('.announce-list').append(`
`)
})
renderPagination();
}
});
}
getTitleList()
// 渲染分页器
function renderPagination() {
// 清空分页器
pagination.empty();
// 添加上一页按钮
pagination.append('<');
// 添加第一页
pagination.append('1');
// 添加省略号
if (params.page > visiblePages) {
pagination.append('...');
}
// 添加中间的页码
for (let i = params.page - Math.floor(visiblePages / 2); i <= params.page + Math.floor(visiblePages / 2); i++) {
if (i > 1 && i < totalPages) {
pagination.append('' + i + '');
}
}
// 添加省略号
if (params.page < totalPages - visiblePages + 1) {
pagination.append('...');
}
if (totalPages > 1) {
// 添加最后一页
pagination.append('' + totalPages + '');
}
// 添加下一页按钮
pagination.append('>');
// Add active class to current page
pagination.find('.page-number').removeClass('active');
pagination.find('.page-number').filter(function () {
return parseInt($(this).text()) == params.page;
}).addClass('active');
}
// 点击页码时切换页面
pagination.on('click', '.page-number', function () {
params.page = parseInt($(this).text());
getTitleList()
});
// 点击上一页按钮时切换到上一页
pagination.on('click', '[aria-label="Previous"]', function () {
if (params.page > 1) {
params.page--;
getTitleList()
}
});
// 点击下一页按钮时切换到下一页
pagination.on('click', '[aria-label="Next"]', function () {
if (params.page < totalPages) {
params.page++;
getTitleList()
}
});
function formateTimeFun(time) {
const date = new Date(time * 1000);
Y = date.getFullYear() + '年';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
return (Y + M + D);
}
})