Files
BlackFruit-UI/common/common.js
yiqiu 60ebfede6c
All checks were successful
continuous-integration/drone/push Build is passing
修复图片路径问题:删除 /web/BlackFruit-web/ 前缀
- 批量删除所有文件中的 /web/BlackFruit-web/ 前缀
- 将相对路径改为绝对路径(以 / 开头)
- 修改范围:
  - /assets/ 资源路径
  - /css/ 样式文件路径
  - /js/ 脚本文件路径
  - /common/ 公共资源路径
  - /vender/ 第三方库路径
- 解决部署后所有静态资源 404 的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 15:40:46 +08:00

337 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 消息弹窗
function showMessage(type, message, duration) {
if ($("#alert-container").length <= 0) {
$("body").append(`
<div id="alert-container"></div>
`);
}
const alertClass = "alert-" + type;
const html =
'<div class="alert ' +
alertClass +
' show alert-dismissible" role="alert">' +
message +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close">' +
'<span aria-hidden="true">&times;</span>' +
"</button>" +
"</div>";
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;
$(".nav-menu .nav-item").hover(
function () {
const index = $(".nav-menu .nav-item").index($(this));
$(".nav-cont .nav-cont-menu")
.eq(index)
.attr("style", "display: block;");
// $('.nav-cont').attr('style','display: block;')
if (
!$(".nav-cont .nav-cont-menu").eq(index).hasClass("nav-cont-empty")
) {
const height = $(".nav-cont .nav-cont-menu").eq(index).height();
$(".nav-cont").attr("style", `height: ${height}px;`);
}
showIndex = index;
},
function () {
const index = $(".nav-menu .nav-item").index($(this));
$(".nav-cont ").eq(index).attr("style", "display: none;");
$(".nav-cont .nav-cont-menu").eq(index).attr("style", "display: none;");
$(".nav-cont").attr("style", "height:0");
}
);
$(".nav-cont").hover(
function () {
//$('.nav-cont ').attr('style','display: block;')
$(".nav-cont .nav-cont-menu")
.eq(showIndex)
.attr("style", "display: block;");
//if (showIndex != 0) {
if (!$(this).hasClass("nav-cont-empty")) {
const height = $(".nav-cont .nav-cont-menu").eq(showIndex).height();
$(".nav-cont").attr("style", `height: ${height}px;`);
}
},
function () {
//$('.nav-cont ').attr('style','display: none;')
$(".nav-cont .nav-cont-menu")
.eq(showIndex)
.attr("style", "display: none;");
$(".nav-cont").attr("style", "height:0");
}
);
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();
}
});