// 全局变量定义 let page = 1; // 初始页码为1,代表从第1条数据开始获取 let pageSize = 10; // 初始每次固定获取10条数据 let total = 0; // 数据总量(从接口获取) let loadedItems = 0; // 已加载的数据条目数量 let isLoading = false; // 防止多次加载 const timeoutDuration = 10000; // 超时时间10秒 const preLoadDistance = 300; // 距离底部300px时提前加载 // 假设 Authorization 值存储在 localStorage 中,key 为 "authToken" const authToken = localStorage.getItem("Authorization"); // 获取与 license_info 相关的 HTML 元素 const license_info_container = document.getElementById('restaurant-list'); // 卡片列表容器 const license_info_modal = document.getElementById('license-info-modal'); // 模态框容器 const license_info_modalContent = document.querySelector('.license-info-modal-content'); // 模态框内容区域 const license_info_modalTitle = document.getElementById('license-info-modal-title'); // 模态框标题 const license_info_modalDescription = document.getElementById('license-info-modal-description'); // 模态框描述 const license_info_modalPrice = document.getElementById('license-info-modal-price'); // 模态框产品信息 const license_info_modalRating = document.getElementById('license-info-modal-rating'); // 模态框MAC地址 const license_info_closeModal = document.querySelector('.license-info-close'); // 模态框关闭按钮 const license_info_loadingIndicator = document.getElementById('loading-indicator'); // 加载提示元素 const license_info_mainElement = document.querySelector('main'); // 主内容区域 // 获取数据函数 async function fetchLicenseData(page, pageSize) { try { const response = await fetch(`http://127.0.0.1:8080/api/admin/GetAllLicenseInfo?page=${page}&pageSize=${pageSize}`, { method: 'GET', headers: { 'Authorization': `Bearer ${authToken}`, 'Content-Type': 'application/json' } }); const result = await response.json(); // 设置总量,如果第一次加载,获取total字段 if (total === 0 && result.total) { total = result.total; } return result.data || []; // 返回获取到的数据,或空数组 } catch (error) { console.error("加载数据失败", error); return []; // 返回空数组,防止后续操作出错 } } // 渲染 license_info 卡片数据函数 function renderLicenseCards(data, clearContainer = false) { if (clearContainer) { license_info_container.innerHTML = ''; // 清空容器内容 } data.forEach(group => { const firstItem = group[0]; // 获取该组的第一个数据项 let statusClass = ''; if (firstItem.LicenseFlage === '已生成') { statusClass = 'license-status-green'; } else if (firstItem.LicenseFlage === '未生成') { statusClass = 'license-status-yellow'; } else if (firstItem.LicenseFlage === '已失效') { statusClass = 'license-status-red'; } const card = document.createElement('div'); card.className = 'license-info-card'; // 在卡片的第一行显示申请时间 card.innerHTML = `
${firstItem.ApplicationDate} ${firstItem.ApplicationTime}
创建者:${firstItem.Creator}
公司:${firstItem.Company}
许可证状态:${firstItem.LicenseFlage}