// 全局变量定义 let page = 21; // 初始页码为1,代表从第1条数据开始获取 let pageSize = 30; // 初始每次固定获取10条数据 let licenseTotal = 0; // 数据总量(从接口获取) let loadedItems = 0; // 已加载的数据条目数量 let isLoading = false; // 防止多次加载 const timeoutDuration = 10000; // 超时时间10秒 const preLoadDistance = 300; // 距离底部300px时提前加载 // 假设 Authorization 值存储在 localStorage 中,key 为 "authToken" const authToken = localStorage.getItem("Authorization"); let currentUserInfo ; // 获取当前用户登录信息 let currentUserPermissions; // 用于存储用户权限信息 //获取 主内容区域 const license_info_mainElement = document.querySelector('main'); // 主内容区域 //模态框 const license_info_modal = document.getElementById('license-info-modal'); // 模态框容器 const license_info_modalContent = document.querySelector('.license-info-modal-content'); // 模态框内容区域 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'); // 加载提示元素 //存储 let LicApplicationData = []; // 用于存储从接口获取的数据 // 统一的打开模态框函数 function openModal(modalId) { const modal = document.getElementById(modalId); if (modal) { modal.style.display = "block"; // 显示模态框 } else { console.error('模态框不存在,ID:', modalId); } } // 统一的关闭模态框函数 function closeModal(modalId) { const modal = document.getElementById(modalId); if (modal) { modal.style.display = "none"; // 隐藏模态框 } else { console.error('模态框不存在,ID:', modalId); } } //-----------头部-------------------------------- function setupUserInfoModal(currentUserInfo) { console.log("currentUserInfo,", currentUserInfo); // 获取按钮、模态框和关闭按钮的 DOM 元素 const loginButton = document.querySelector('.login-button'); const loginModal = document.getElementById('loginModal'); const loginModalClose = document.querySelector('.login-modal-close'); const userInfoContainer = document.getElementById('userInfoContainer'); // 设置按钮的显示内容为当前用户的名称 loginButton.textContent = currentUserInfo.Username; // 点击按钮时显示模态框,并将用户信息填充到模态框中 loginButton.addEventListener('click', () => { userInfoContainer.innerHTML = `
用户名: ${currentUserInfo.Username}
邮箱: ${currentUserInfo.Email}
电话: ${currentUserInfo.Telephone}
账号: ${currentUserInfo.Account}
角色: ${currentUserInfo.Role}
`; loginModal.style.display = 'flex'; // 为退出登录按钮绑定点击事件 const logoutButton = document.querySelector('.logout-button'); logoutButton.addEventListener('click', logout); }); // 点击关闭按钮时隐藏模态框 loginModalClose.addEventListener('click', () => { loginModal.style.display = 'none'; }); // 点击模态框外部区域时关闭模态框 window.addEventListener('click', (event) => { if (event.target === loginModal) { loginModal.style.display = 'none'; } }); } // 退出登录函数 function logout() { localStorage.removeItem('Authorization'); window.location.href = '/'; } //-----------侧边栏---------------------------- // 获取所有菜单项 const menuItems = document.querySelectorAll('nav ul li a'); // 为每个菜单项添加点击事件监听器 menuItems.forEach(item => { item.addEventListener('click', function() { // 移除其他项的 active 类 menuItems.forEach(i => i.classList.remove('active')); // 为当前点击的项添加 active 类 this.classList.add('active'); }); }); //用户管理- //获取用户管理和 License 信息按钮 const userManagementLink = document.getElementById('user-management-link'); const licenseInfoLink = document.getElementById('license-info-link'); const roleManagementLink = document.getElementById('role-management-link'); // 根据用户权限控制菜单显示 function updateMenuVisibility() { console.log("updateMenuVisibility: ",currentUserPermissions); if (currentUserPermissions) { userManagementLink.style.display = currentUserPermissions.includes('read_user') ? 'block' : 'none'; roleManagementLink.style.display = currentUserPermissions.includes('get_role') ? 'block' : 'none'; licenseInfoLink.style.display = (currentUserPermissions.includes('read_license') || currentUserPermissions.includes('read_all_license')) ? 'block' : 'none'; } } // 监听用户管理按钮的点击事件 userManagementLink.addEventListener('click', function(event) { event.preventDefault(); // 阻止默认的跳转行为 removeScrollListeners(); // 移除滚动监听器 // 使用 fetch 来加载 user_management.html 的内容 fetch('../user/user_management.html') .then(response => response.text()) .then(data => { // 将 user_management.html 的内容插入到主内容区域 license_info_mainElement.innerHTML = data; // 动态引入 user.js 文件 const script = document.createElement('script'); script.src = '../user/user.js'; document.body.appendChild(script); }) .catch(error => console.error('加载用户管理页面失败:', error)); }); // 监听 License 信息按钮的点击事件 licenseInfoLink.addEventListener('click', function(event) { event.preventDefault(); // 阻止默认的跳转行为 // 将瀑布流的 License 信息内容恢复到主内容区域 const licenseInfoHtml = `${firstItem.ApplicationDate} ${firstItem.ApplicationTime}
创建者:${firstItem.Creator}
公司:${firstItem.Company}
集群:${childRowCount} 套 共计:${firstItem.TotalNodes} 节点
许可证状态:${firstItem.LicenseFlage}
oa_request_id:${firstItem.oa_request_id}