User
登入
商品分類
載入中...
選單
載入中...
訂單查詢
查詢訂單狀態
LINE客服
×
LINE客服
LINE二维码
content.style.maxHeight = content.scrollHeight + 'px'; } // 初始化侧边栏菜单 initAppleMenu(); // 加载菜单配置(包括页面底部的SUPORTE菜单) loadMenuConfig(); }); // 苹果风格侧边栏菜单功能 function toggleAppleMenu() { const sidebar = document.getElementById('apple-sidebar'); const overlay = document.getElementById('apple-sidebar-overlay'); if (sidebar.classList.contains('open')) { closeAppleMenu(); } else { sidebar.classList.add('open'); overlay.classList.add('show'); document.body.style.overflow = 'hidden'; } } function closeAppleMenu() { const sidebar = document.getElementById('apple-sidebar'); const overlay = document.getElementById('apple-sidebar-overlay'); sidebar.classList.remove('open'); overlay.classList.remove('show'); document.body.style.overflow = ''; } // 切换菜单章节折叠状态 function toggleSection(sectionId) { const section = document.querySelector(`#${sectionId}-items`).parentElement; section.classList.toggle('collapsed'); } // 初始化侧边栏菜单 function initAppleMenu() { // 检查用户登录状态 checkUserLoginStatus(); // 每5分钟同步一次用户数据 setInterval(checkUserLoginStatus, 300000); // 默认展开状态(不需要设置collapsed) } // 检查用户登录状态 function checkUserLoginStatus() { console.log('检查用户登录状态...'); // 调用API检查用户登录状态 fetch('/api/user_auth_api.php?action=check_status') .then(response => { console.log('API响应状态:', response.status); return response.json(); }) .then(data => { console.log('API响应数据:', data); if (data.success) { console.log('登录状态:', data.logged_in); updateMenuDisplay(data.logged_in, data.user); } else { console.log('API调用失败,使用本地存储'); // API调用失败,使用本地存储 const isLoggedIn = localStorage.getItem('user_logged_in') === 'true'; updateMenuDisplay(isLoggedIn); } }) .catch(error => { console.error('数据同步失败:', error); // 使用本地存储作为备用 const isLoggedIn = localStorage.getItem('user_logged_in') === 'true'; updateMenuDisplay(isLoggedIn); }); } // 更新菜单显示 function updateMenuDisplay(isLoggedIn, userInfo = null) { console.log('更新菜单显示 - 登录状态:', isLoggedIn); const userMenuText = document.getElementById('user-menu-text'); const logoutSection = document.getElementById('logout-section'); console.log('用户菜单文本元素:', userMenuText); console.log('退出登录区域元素:', logoutSection); if (isLoggedIn) { console.log('用户已登录,更新菜单为Centro Pessoal'); userMenuText.textContent = 'Centro Pessoal'; logoutSection.style.display = 'block'; // 更新本地存储 localStorage.setItem('user_logged_in', 'true'); if (userInfo) { localStorage.setItem('user_info', JSON.stringify(userInfo)); } } else { console.log('用户未登录,更新菜单为Conecte-se'); userMenuText.textContent = 'Conecte-se'; logoutSection.style.display = 'none'; // 清除本地存储 localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); } } // 跳转到个人中心 function goToProfile() { const isLoggedIn = localStorage.getItem('user_logged_in') === 'true'; if (isLoggedIn) { window.location.href = '/user/profile.php'; } else { window.location.href = '/login.php'; } closeAppleMenu(); } // 动态加载菜单配置 function loadMenuConfig() { fetch('api/menu_api.php?action=get_menu_config') .then(response => response.json()) .then(data => { console.log('菜单配置返回数据:', data); // 调试信息 if(data.code === 0) { console.log('菜单数据:', data.data); // 调试信息 console.log('商品分类数据:', data.data.categories); // 调试信息 renderMenu(data.data); } else { console.error('加载菜单配置失败:', data.msg); loadDefaultMenu(); } }) .catch(error => { console.error('加载菜单配置出错:', error); loadDefaultMenu(); }); } // 渲染菜单 function renderMenu(menuData) { const suporteItems = document.getElementById('suporte-items'); // 清空现有内容 suporteItems.innerHTML = ''; // 渲染支持菜单(侧边栏) if(menuData.suporte && menuData.suporte.length > 0) { menuData.suporte.forEach(item => { const menuItem = createMenuItem(item.menu_name, () => goToSupport(item.menu_key)); suporteItems.appendChild(menuItem); }); } else { suporteItems.innerHTML = '
Nenhum suporte disponível
'; } } // 创建菜单项 function createMenuItem(text, onClick) { const menuItem = document.createElement('div'); menuItem.className = 'apple-menu-item'; menuItem.onclick = onClick; const menuText = document.createElement('div'); menuText.className = 'apple-menu-item-text'; menuText.textContent = text; menuItem.appendChild(menuText); return menuItem; } // 创建页面底部菜单项 function createBottomMenuItem(text, onClick) { const menuItem = document.createElement('div'); menuItem.style.cssText = 'margin-bottom: 8px !important; cursor: pointer !important; padding: 8px 0 !important;'; menuItem.onclick = onClick; const menuText = document.createElement('div'); menuText.style.cssText = 'font-size: 15px !important; font-weight: 400 !important; color: #ffffff !important;'; menuText.textContent = '• ' + text; menuItem.appendChild(menuText); return menuItem; } // 加载默认菜单(备用方案) function loadDefaultMenu() { const categoriesItems = document.getElementById('categories-items'); const suporteItems = document.getElementById('suporte-items'); // 默认商品分类菜单 if(categoriesItems) { categoriesItems.innerHTML = '
暫無商品分類
'; } // 默认支持菜单(侧边栏) if(suporteItems) { suporteItems.innerHTML = `
關於我們
常見問題
聯絡我們
`; } } // 跳转到产品分类 function goToCategory(category) { // 跳转到产品列表页面,传递分类参数 window.location.href = `list.php?category=${encodeURIComponent(category)}`; closeAppleMenu(); } // 跳转到支持页面 function goToSupport(type) { window.location.href = `support.php?key=${type}`; closeAppleMenu(); } // 跳转到商品分类列表页面 function goToCategoryList(categoryId, categoryName) { window.location.href = `list.php?type=${categoryId}`; closeAppleMenu(); } // 退出登录 function logout() { if (confirm('您確定要登出嗎?')) { // 调用API退出登录 fetch('api/user_auth_api.php?action=logout', { method: 'POST' }) .then(response => response.json()) .then(data => { // 清除本地存储 localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); updateMenuDisplay(false); closeAppleMenu(); // 显示退出成功消息 if (typeof layer !== 'undefined') { layer.msg('登出成功!', {icon: 1}); } // 重定向到登录页面 setTimeout(() => { window.location.href = '/login.php'; }, 1000); }) .catch(error => { console.error('退出登录失败:', error); // 即使API调用失败,也清除本地状态 localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); updateMenuDisplay(false); closeAppleMenu(); if (typeof layer !== 'undefined') { layer.msg('登出成功!', {icon: 1}); } setTimeout(() => { window.location.href = '/login.php'; }, 1000); }); } } // 点击侧边栏外部关闭菜单 document.addEventListener('click', function(event) { const sidebar = document.getElementById('apple-sidebar'); const toggle = document.querySelector('.apple-menu-toggle'); if (!sidebar.contains(event.target) && !toggle.contains(event.target)) { closeAppleMenu(); } }); localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); } } // 跳转到个人中心 function goToProfile() { const isLoggedIn = localStorage.getItem('user_logged_in') === 'true'; if (isLoggedIn) { window.location.href = '/user/profile.php'; } else { window.location.href = '/login.php'; } closeAppleMenu(); } // 动态加载菜单配置 function loadMenuConfig() { fetch('api/menu_api.php?action=get_menu_config') .then(response => response.json()) .then(data => { console.log('菜单配置返回数据:', data); // 调试信息 if(data.code === 0) { console.log('菜单数据:', data.data); // 调试信息 console.log('商品分类数据:', data.data.categories); // 调试信息 renderMenu(data.data); } else { console.error('加载菜单配置失败:', data.msg); loadDefaultMenu(); } }) .catch(error => { console.error('加载菜单配置出错:', error); loadDefaultMenu(); }); } // 渲染菜单 function renderMenu(menuData) { const suporteItems = document.getElementById('suporte-items'); // 清空现有内容 suporteItems.innerHTML = ''; // 渲染支持菜单(侧边栏) if(menuData.suporte && menuData.suporte.length > 0) { menuData.suporte.forEach(item => { const menuItem = createMenuItem(item.menu_name, () => goToSupport(item.menu_key)); suporteItems.appendChild(menuItem); }); } else { suporteItems.innerHTML = '
Nenhum suporte disponível
'; } } // 创建菜单项 function createMenuItem(text, onClick) { const menuItem = document.createElement('div'); menuItem.className = 'apple-menu-item'; menuItem.onclick = onClick; const menuText = document.createElement('div'); menuText.className = 'apple-menu-item-text'; menuText.textContent = text; menuItem.appendChild(menuText); return menuItem; } // 创建页面底部菜单项 function createBottomMenuItem(text, onClick) { const menuItem = document.createElement('div'); menuItem.style.cssText = 'margin-bottom: 8px !important; cursor: pointer !important; padding: 8px 0 !important;'; menuItem.onclick = onClick; const menuText = document.createElement('div'); menuText.style.cssText = 'font-size: 15px !important; font-weight: 400 !important; color: #ffffff !important;'; menuText.textContent = '• ' + text; menuItem.appendChild(menuText); return menuItem; } // 加载默认菜单(备用方案) function loadDefaultMenu() { const categoriesItems = document.getElementById('categories-items'); const suporteItems = document.getElementById('suporte-items'); // 默认商品分类菜单 if(categoriesItems) { categoriesItems.innerHTML = '
暫無商品分類
'; } // 默认支持菜单(侧边栏) if(suporteItems) { suporteItems.innerHTML = `
關於我們
常見問題
聯絡我們
`; } } // 跳转到产品分类 function goToCategory(category) { // 跳转到产品列表页面,传递分类参数 window.location.href = `list.php?category=${encodeURIComponent(category)}`; closeAppleMenu(); } // 跳转到支持页面 function goToSupport(type) { window.location.href = `support.php?key=${type}`; closeAppleMenu(); } // 跳转到商品分类列表页面 function goToCategoryList(categoryId, categoryName) { window.location.href = `list.php?type=${categoryId}`; closeAppleMenu(); } // 退出登录 function logout() { if (confirm('您確定要登出嗎?')) { // 调用API退出登录 fetch('api/user_auth_api.php?action=logout', { method: 'POST' }) .then(response => response.json()) .then(data => { // 清除本地存储 localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); updateMenuDisplay(false); closeAppleMenu(); // 显示退出成功消息 if (typeof layer !== 'undefined') { layer.msg('登出成功!', {icon: 1}); } // 重定向到登录页面 setTimeout(() => { window.location.href = '/login.php'; }, 1000); }) .catch(error => { console.error('退出登录失败:', error); // 即使API调用失败,也清除本地状态 localStorage.removeItem('user_logged_in'); localStorage.removeItem('user_info'); updateMenuDisplay(false); closeAppleMenu(); if (typeof layer !== 'undefined') { layer.msg('登出成功!', {icon: 1}); } setTimeout(() => { window.location.href = '/login.php'; }, 1000); }); } } // 点击侧边栏外部关闭菜单 document.addEventListener('click', function(event) { const sidebar = document.getElementById('apple-sidebar'); const toggle = document.querySelector('.apple-menu-toggle'); if (!sidebar.contains(event.target) && !toggle.contains(event.target)) { closeAppleMenu(); } });