// 图片资源映射 - 使用静态导入确保构建时包含所有图片 const imageModules = import.meta.glob( "../assets/images/**/*.{png,jpg,jpeg,gif,svg,webp}", { eager: true, }, ); // 访问静态图片 - 使用静态导入确保构建后路径正确 export const getStaticImage = (path: string) => { try { // 确保路径以正确的格式结尾 const imagePath = path.endsWith(".png") || path.endsWith(".jpg") || path.endsWith(".jpeg") || path.endsWith(".gif") || path.endsWith(".svg") || path.endsWith(".webp") ? `../assets/images/${path}` : `../assets/images/${path}.png`; // 使用静态导入的模块 const module = imageModules[imagePath]; if (module && typeof module === "object" && "default" in module) { return (module as { default: string }).default; } // 回退到 URL 方式 return new URL(imagePath, import.meta.url).href; } catch (error) { console.error("Failed to load image:", path, error); return ""; } }; // 获取背景图片的专用函数 export const getBackgroundImage = (path: string) => { const imageUrl = getStaticImage(path); return imageUrl ? `url(${imageUrl})` : "none"; }; // 获取 public 文件夹中的资源路径(用于 Word 文档等) export const getPublicPath = (path: string) => { // 移除开头的斜杠(如果有) const cleanPath = path.startsWith("/") ? path.slice(1) : path; // 使用 Vite 的 BASE_URL 环境变量来处理基础路径 return `${import.meta.env.BASE_URL}${cleanPath}`; };