diff --git a/app/[...slug]/page.jsx b/app/[...slug]/page.jsx index 9568683..df784b1 100644 --- a/app/[...slug]/page.jsx +++ b/app/[...slug]/page.jsx @@ -1,10 +1,10 @@ import Banner from "@/components/banner/Banner"; import Category from "@/components/sidebar/Category"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import { notFound } from 'next/navigation'; import DynamicListPage from "@/components/common/DynamicListPage"; import { Suspense } from 'react'; -import { getPageData, getAllSlugs } from "@/utlis/data"; +import { getPageData, getAllSlugs } from "@/utils/data"; const LoadingSpinner = () => (
diff --git a/app/applications/[...slug]/page.jsx b/app/applications/[...slug]/page.jsx index 8886f97..261ebf6 100644 --- a/app/applications/[...slug]/page.jsx +++ b/app/applications/[...slug]/page.jsx @@ -1,7 +1,7 @@ import Banner from "@/components/banner/Banner"; import Category from "@/components/sidebar/Category"; import Pagination1 from "@/components/common/Pagination1"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import ListPageTemplate from "@/components/common/ListPageTemplate"; import { notFound } from 'next/navigation'; diff --git a/app/applications/page.jsx b/app/applications/page.jsx index 5688554..6d3efe8 100644 --- a/app/applications/page.jsx +++ b/app/applications/page.jsx @@ -2,7 +2,7 @@ import Banner from "@/components/banner/Banner"; import Category from "@/components/sidebar/Category"; import Gallery from "@/components/common/Gallery"; import Pagination1 from "@/components/common/Pagination1"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import ListPageTemplate from "@/components/common/ListPageTemplate"; import { notFound } from 'next/navigation'; diff --git a/app/layout.jsx b/app/layout.jsx index e2b37bd..d2cdb7a 100644 --- a/app/layout.jsx +++ b/app/layout.jsx @@ -4,10 +4,10 @@ import "../public/assets/style.css"; import "photoswipe/dist/photoswipe.css"; import iTooltip from "itooltip"; import { usePathname } from "next/navigation"; -import scrollQue from "../utlis/scrollCue.min.js"; +import scrollQue from "../utils/scrollCue.min.js"; import Context from "@/context/Context"; import ProgressWrap from "@/components/common/ProgressWrap"; -import initPlayer from "@/utlis/initPlayer"; +import initPlayer from "@/utils/initPlayer"; import SearchModal from "@/components/modals/SearchModal"; import InfoModal from "@/components/modals/InfoModal"; import Header from "@/components/headers/Header"; diff --git a/app/page.jsx b/app/page.jsx index 1febd35..5de8d45 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -1,7 +1,7 @@ import Hero from "@/components/homes/home-15/Hero"; import SwiperItems from "@/components/homes/home-15/SwiperItems"; import React from "react"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; export const revalidate = 3600; diff --git a/app/products/[...slug]/page.jsx b/app/products/[...slug]/page.jsx index ad942be..7a6c421 100644 --- a/app/products/[...slug]/page.jsx +++ b/app/products/[...slug]/page.jsx @@ -1,6 +1,6 @@ import Banner from "@/components/banner/Banner"; import Category from "@/components/sidebar/Category"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import { notFound } from 'next/navigation'; import DynamicListPage from "@/components/common/DynamicListPage"; import { Suspense } from 'react'; diff --git a/components/footers/Footer.jsx b/components/footers/Footer.jsx index 66c63ac..c6a8ea9 100644 --- a/components/footers/Footer.jsx +++ b/components/footers/Footer.jsx @@ -1,7 +1,7 @@ 'use client'; import React, { useEffect, useState } from "react"; import SocialLinks from "@/components/contact/SocialLinks"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import MenuList from "./MenuList"; import Contact from "@/components/contact/Contact"; import Image from "next/image"; diff --git a/components/footers/Footer15.jsx b/components/footers/Footer15.jsx index f74ed71..ff1accd 100644 --- a/components/footers/Footer15.jsx +++ b/components/footers/Footer15.jsx @@ -1,7 +1,7 @@ 'use client'; import React, { useEffect, useState } from "react"; import SocialLinks from "@/components/contact/SocialLinks"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; import MenuList from "./MenuList"; import Contact from "@/components/contact/Contact"; diff --git a/components/headers/Header.jsx b/components/headers/Header.jsx index 5bcd442..bea7940 100644 --- a/components/headers/Header.jsx +++ b/components/headers/Header.jsx @@ -5,7 +5,7 @@ import Link from "next/link"; import Image from "next/image"; import LoginButton from "./LoginButton"; import SocialLinks from "../contact/SocialLinks"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; export default function Header15() { const [siteSettings, setSiteSettings] = useState({}); diff --git a/components/headers/Header15.jsx b/components/headers/Header15.jsx index b4b8db0..30f0b85 100644 --- a/components/headers/Header15.jsx +++ b/components/headers/Header15.jsx @@ -5,7 +5,7 @@ import Link from "next/link"; import Image from "next/image"; import LanguageSelect from "./LanguageSelect"; import SocialLinks from "../contact/SocialLinks"; -import { getSiteSettings } from "@/utlis/siteSettings"; +import { getSiteSettings } from "@/utils/siteSettings"; export default function Header15() { const [siteSettings, setSiteSettings] = useState({}); diff --git a/components/homes/home-15/SwiperItems.jsx b/components/homes/home-15/SwiperItems.jsx deleted file mode 100644 index 62169a6..0000000 --- a/components/homes/home-15/SwiperItems.jsx +++ /dev/null @@ -1,282 +0,0 @@ -"use client"; -import { useEffect, useState } from "react"; -import { Swiper, SwiperSlide } from "swiper/react"; -import { Navigation, Pagination, Grid } from "swiper/modules"; -import Link from "next/link"; -import Image from "next/image"; -import PropTypes from "prop-types"; -import axios from "axios"; - -export default function SwiperItems(props) { - const [data, setData] = useState(null); - const [posts, setPosts] = useState([]); - const [loading, setLoading] = useState(true); - const [error, setError] = useState(null); - - // 统一字段映射,后台优先,props兜底 - const title = data?.title || props.title; - const subtitle = data?.subtitle || props.subtitle; - const pagetype = data?.t1 || props.pagetype || ""; - const category = data?.t2 || props.category || ""; - const category_slug = data?.t3 || props.category_slug || ""; - const count = data?.t4 || props.count || 8; - const columns = data?.t5 || props.columns || 4; - const rows = (data?.p1 && !isNaN(Number(data.p1))) ? Number(data.p1) : (props.rows || 1); - const button_text = data?.button_text || props.button_text; - - useEffect(() => { - async function fetchComponentData() { - try { - setLoading(true); - const res = await axios.get("/api/get-component-data", { - params: { component_name: "SwiperItems" }, - }); - setData(res.data.data); - } catch (err) { - setError("获取SwiperItems数据失败"); - } finally { - setLoading(false); - } - } - fetchComponentData(); - }, []); - - useEffect(() => { - async function fetchPosts() { - if (!pagetype) return; - setLoading(true); - try { - const params = new URLSearchParams({ pagetype }); - if (category) params.append("category", category); - if (count !== undefined && count !== null) params.append("count", count); - const res = await fetch(`/api/get-listview-data?${params.toString()}`); - const json = await res.json(); - if (Array.isArray(json.data)) { - setPosts(json.data); - } else { - setPosts([]); - } - } catch (e) { - setPosts([]); - } - setLoading(false); - } - fetchPosts(); - }, [pagetype, category, count]); - - if (!data) return null; - // 渲染卡片内容 - function renderCardImage(post, idx) { - // 多图轮播 - if (Array.isArray(post.images) && post.images.length > 1) { - return ( - - {post.images.map((img, i) => ( - - {post.title - - ))} - - ); - } - // 视频 - if (post.video_src || post.videoId) { - if (post.video_src && (post.video_src.endsWith('.mp4') || post.video_src.startsWith('/files/'))) { - return ( - - ); - } - const vid = post.videoId || (post.video_src && post.video_src.includes('youtube') ? post.video_src.split('embed/')[1] : null); - if (vid) { - return ( -