// 消息弹窗 function showMessage(type, message, duration) { if ($("#alert-container").length <= 0) { $("body").append(`
`); } const alertClass = "alert-" + type; const html = '"; const $alert = $(html).appendTo("#alert-container"); setTimeout(function () { $alert.alert("close"); }, duration); // 清空表单 } $(function () { const headBgcList = [ "#3699FF", "#57C3EA", "#5CC2D7", "#EF8BA2", "#C1DB81", "#F1978C", "#F08968", ]; // 获取账户信息和实名认证信息 const initData = () => { if (localStorage.jwt) { $.ajax({ url: " /console/v1/account", method: "get", headers: { Authorization: "Bearer" + " " + localStorage.jwt, }, success: function (res) { if (res.status === 200) { const obj = res.data.account; $(".no-login").attr("style", "display:none"); $(".login-in").attr("style", "display:flex"); $("#username").text(res.data.account.username); const reg = /^[a-zA-Z]+$/; if (reg.test(res.data.account.username.substring(0, 1))) { obj.firstName = res.data.account.username .substring(0, 1) .toUpperCase(); $("#headImg").text( res.data.account.username.substring(0, 1).toUpperCase() ); } else { obj.firstName = res.data.account.username.substring(0, 1); $("#headImg").text(res.data.account.username.substring(0, 1)); } if (sessionStorage.headBgc) { $("#headImg").attr( "style", `background:${sessionStorage.headBgc}` ); } else { const index = Math.round( Math.random() * (headBgcList.length - 1) ); $("#headImg").attr("style", `background:${headBgcList[index]}`); sessionStorage.headBgc = headBgcList[index]; } sessionStorage.accountInfo = JSON.stringify(obj); } else { $(".login-in").attr("style", "display:none"); $(".no-login").attr("style", "display:block"); } }, }); $.ajax({ url: " /console/v1/certification/info", method: "get", headers: { Authorization: "Bearer" + " " + localStorage.jwt, }, success: function (res) { if (res.status === 200) { if (res.data.is_certification) { $("#isCertification").attr("style", "display:inline-block"); $("#noCertification").attr("style", "display:none"); sessionStorage.is_certification = true; } else { $("#isCertification").attr("style", "display:none"); $("#noCertification").attr("style", "display:inline-block"); sessionStorage.is_certification = false; } } else { $(".login-in").attr("style", "display:none"); $(".no-login").attr("style", "display:block"); } }, }); } else { $(".login-in").attr("style", "display:none"); $(".no-login").attr("style", "display:block"); } }; // 设置通用信息相关的点击跳转(云服务器/物理机 CTA 等),来源于 SSR 注入的 window.__themeCommon const setCommData = () => { const commentObj = window.__themeCommon || {}; $(".buy-cloud").click(function () { if (commentObj.cloud_product_link) { location.href = commentObj.cloud_product_link; } }); $(".buy-dcim-btn").click(function () { if (commentObj.dcim_product_link) { location.href = commentObj.dcim_product_link; } }); }; // 跳转函数 const goOtherPage = (url) => { sessionStorage.redirectUrl = location.href; location.href = url; }; function initHeader() { let showIndex = 0; let hoverTimer = null; let leaveTimer = null; $(".nav-menu .nav-item").hover( function () { const index = $(".nav-menu .nav-item").index($(this)); // 清除离开定时器 if (leaveTimer) { clearTimeout(leaveTimer); leaveTimer = null; } // 添加150ms延迟,防止误触 hoverTimer = setTimeout(() => { $(".nav-cont .nav-cont-menu") .eq(index) .css("display", "block"); if ( !$(".nav-cont .nav-cont-menu").eq(index).hasClass("nav-cont-empty") ) { const height = $(".nav-cont .nav-cont-menu").eq(index).outerHeight(true); $(".nav-cont").css("height", height + "px"); } showIndex = index; }, 150); }, function () { // 清除悬停定时器 if (hoverTimer) { clearTimeout(hoverTimer); hoverTimer = null; } leaveTimer = setTimeout(() => { const index = $(".nav-menu .nav-item").index($(this)); $(".nav-cont .nav-cont-menu").eq(index).css("display", "none"); $(".nav-cont").css("height", "0"); }, 100); } ); $(".nav-cont").hover( function () { // 清除离开定时器 if (leaveTimer) { clearTimeout(leaveTimer); leaveTimer = null; } $(".nav-cont .nav-cont-menu") .eq(showIndex) .css("display", "block"); if (!$(".nav-cont .nav-cont-menu").eq(showIndex).hasClass("nav-cont-empty")) { const height = $(".nav-cont .nav-cont-menu").eq(showIndex).outerHeight(true); $(".nav-cont").css("height", height + "px"); } }, function () { leaveTimer = setTimeout(() => { $(".nav-cont .nav-cont-menu") .eq(showIndex) .css("display", "none"); $(".nav-cont").css("height", "0"); }, 100); } ); if (localStorage.jwt) { if (sessionStorage.accountInfo) { const obj = JSON.parse(sessionStorage.accountInfo); $(".no-login").attr("style", "display:none"); $(".login-in").attr("style", "display:flex"); $("#username").text(obj.username); $("#headImg").text(obj.firstName); $("#headImg").attr("style", `background:${sessionStorage.headBgc}`); if (sessionStorage.is_certification == true) { $("#isCertification").attr("style", "display:inline-block"); $("#noCertification").attr("style", "display:none"); } else { $("#isCertification").attr("style", "display:none"); $("#noCertification").attr("style", "display:inline-block"); } } initData(); } else { $(".login-in").attr("style", "display:none"); $(".no-login").attr("style", "display:block"); } // 退出登录 $("#logout").click(function () { localStorage.removeItem("jwt"); initData(); }); // 点击登录 $("#loginBtn").click(function () { goOtherPage("/login.htm"); }); // 点击注册 $("#registBtn").click(function () { goOtherPage("/regist.htm"); }); // 点击账户信息 $("#accountBtn").click(function () { location.href = "/account.htm"; }); // 未付款订单 $("#financeBtn").click(function () { location.href = "/finance.htm"; }); // 我的工单 $("#ticketBtn").click(function () { location.href = "/plugin/27/ticket.htm"; }); // 购物车 $("#shopping-cart").click(function () { location.href = "/cart/shoppingCar.htm"; }); } function initFooter() { // 主题配置已在服务端渲染阶段注入到 window.__themeCommon,这里只做少量点击事件绑定 setCommData(); } // 首页渲染 // $("#header").load("public/header.html", function () { // initHeader(); // }); initHeader(); // 底部渲染 // $("#footer").load("public/footer.html", function () { // initFooter(); // }); initFooter(); const resize = function () { const width = $(window).width(); const num = width / 1400; if (1000 < width && width < 1440) { // 为了避免首页 3D 粒子地球被横向压扁,这里不再对首页 banner 区域做 scaleX,仅对其他 section 生效 $("section") .not(".banner") .each(function () { this.style.width = "1400px"; this.style.transform = "scaleX(" + num + ")"; this.style.transformOrigin = "0 0"; }); } else { $("section").each(function () { this.style.width = ""; this.style.transform = ""; this.style.transformOrigin = ""; }); } }; resize(); window.addEventListener("resize", resize); $(".input-search-s ").click(function () { $(".input-search-select .select-box").toggle(); }); $(".input-search-r").click(function () { $(".input-search-select .select-box").toggle(); }); $(".input-search-select").on("click", ".select-box-item", function () { $(".input-search-text").text($(this).text()); $(".input-search-select .select-box").toggle(); }); /* 招聘tab切换 */ $(".recuit-btn-group a").each(function (ind, el) { $(el).click(function () { $(this).addClass("active").siblings().removeClass("active"); $(".recuit-content .recuit-box").eq(ind).show().siblings().hide(); }); }); /* 常见问题toggle */ $(".agent-question .item").eq(0).addClass("active"); $(".agent-question .item").eq(0).find(".des").slideDown(300); $(".agent-question .item").each(function (ind, el) { $(el) .find(".open") .click(function () { $(this).parent(".title").parent(".item").find(".des").slideDown(300); $(this) .parent(".title") .parent(".item") .addClass("active") .siblings() .removeClass("active") .find(".des") .slideUp(300); }); $(el) .find(".down") .click(function () { $(this) .parent(".des") .slideUp(300) .parent(".item") .removeClass("active"); }); }); $("#documentBtn").click(function () { location.href = "./document.html"; }); $(".go-ticket-btn").click(function () { location.href = "home.htm"; }); // 回到顶部功能 $("#backTop").click(function () { $("html, body").animate({ scrollTop: 0 }, 300); }); // 根据滚动位置显示/隐藏回到顶部按钮 $(window).scroll(function () { if ($(this).scrollTop() > 300) { $("#backTop").fadeIn(300); } else { $("#backTop").fadeOut(300); } }); // 初始化时隐藏回到顶部按钮 if ($(window).scrollTop() <= 300) { $("#backTop").hide(); } });