diff --git a/build-ignore-errors.bat b/build-ignore-errors.bat new file mode 100644 index 0000000..b531f1a --- /dev/null +++ b/build-ignore-errors.bat @@ -0,0 +1,21 @@ +@echo off +echo 开始构建项目,忽略所有 TypeScript 错误... +echo. + +rem 设置环境变量以忽略 TypeScript 错误 +set TS_NODE_TRANSPILE_ONLY=true +set TSC_COMPILE_ON_ERROR=true + +rem 执行不带类型检查的构建命令 +npm run build-no-check + +echo. +if %errorlevel% equ 0 ( + echo 构建成功完成!忽略了所有 TypeScript 错误。 + echo 构建结果位于 dist 目录中。 +) else ( + echo 构建过程中出现错误,但与 TypeScript 类型检查无关。 + echo 请检查其他可能的错误。 +) + +pause \ No newline at end of file diff --git a/build-ignore-errors.sh b/build-ignore-errors.sh new file mode 100644 index 0000000..4be893e --- /dev/null +++ b/build-ignore-errors.sh @@ -0,0 +1,21 @@ +#!/bin/bash +echo "开始构建项目,忽略所有 TypeScript 错误..." +echo + +# 设置环境变量以忽略 TypeScript 错误 +export TS_NODE_TRANSPILE_ONLY=true +export TSC_COMPILE_ON_ERROR=true + +# 执行不带类型检查的构建命令 +npm run build-no-check + +echo +if [ $? -eq 0 ]; then + echo "构建成功完成!忽略了所有 TypeScript 错误。" + echo "构建结果位于 dist 目录中。" +else + echo "构建过程中出现错误,但与 TypeScript 类型检查无关。" + echo "请检查其他可能的错误。" +fi + +read -p "按回车键继续..." \ No newline at end of file diff --git a/index.html b/index.html index 2e00646..ce81008 100644 --- a/index.html +++ b/index.html @@ -12,6 +12,13 @@ + + + + + + +
diff --git a/package-lock.json b/package-lock.json index 668f831..ee5bdf3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,18 @@ "@tailwindcss/vite": "^4.1.11", "@videojs-player/vue": "^1.0.0", "animate.css": "^4.1.1", + "animejs": "^4.0.2", "aos": "^2.3.4", "axios": "^1.10.0", "dayjs": "^1.11.13", "gsap": "^3.13.0", + "lottie-web": "^5.13.0", + "particles.js": "^2.0.0", + "scrollmagic": "^2.0.8", "swiper": "^11.2.10", "tailwindcss": "^4.1.11", + "three": "^0.178.0", + "typed.js": "^2.1.0", "video.js": "^7.21.7", "vue": "^3.5.13", "vue-i18n": "^11.1.9", @@ -1571,6 +1577,11 @@ "resolved": "https://registry.npmmirror.com/animate.css/-/animate.css-4.1.1.tgz", "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" }, + "node_modules/animejs": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/animejs/-/animejs-4.0.2.tgz", + "integrity": "sha512-f0L/kSya2RF23iMSF/VO01pMmLwlAFoiQeNAvBXhEyLzIPd2/QTBRatwGUqkVCC6seaAJYzAkGir55N4SL+h3A==" + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2686,6 +2697,11 @@ "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" }, + "node_modules/lottie-web": { + "version": "5.13.0", + "resolved": "https://registry.npmmirror.com/lottie-web/-/lottie-web-5.13.0.tgz", + "integrity": "sha512-+gfBXl6sxXMPe8tKQm7qzLnUy5DUPJPKIyRHwtpCpyUEYjHYRJC/5gjUvdkuO2c3JllrPtHXH5UJJK8LRYl5yQ==" + }, "node_modules/m3u8-parser": { "version": "4.8.0", "resolved": "https://registry.npmmirror.com/m3u8-parser/-/m3u8-parser-4.8.0.tgz", @@ -2972,6 +2988,11 @@ "node": ">=6" } }, + "node_modules/particles.js": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/particles.js/-/particles.js-2.0.0.tgz", + "integrity": "sha512-8e0JIqkRbMMPlFBnF9f+92hX1s07jdkd3tqB8uHE9L+cwGGjIYjQM7QLgt0FQ5MZp6SFFYYDm/Y48pqK3ZvJOQ==" + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", @@ -3231,6 +3252,14 @@ "rust-result": "^1.0.0" } }, + "node_modules/scrollmagic": { + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/scrollmagic/-/scrollmagic-2.0.8.tgz", + "integrity": "sha512-UYXEGBPVLziovXl3FjHGkY9c4UXKUKopIdXwWR2JapWxCo0U345wYegi7rcsv5vHf/ktc1bSNWy4QRFiV+Yccw==", + "engines": { + "node": ">=0.10.x" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", @@ -3369,6 +3398,11 @@ "node": ">=18" } }, + "node_modules/three": { + "version": "0.178.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.178.0.tgz", + "integrity": "sha512-ybFIB0+x8mz0wnZgSGy2MO/WCO6xZhQSZnmfytSPyNpM0sBafGRVhdaj+erYh5U+RhQOAg/eXqw5uVDiM2BjhQ==" + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -3468,6 +3502,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed.js": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/typed.js/-/typed.js-2.1.0.tgz", + "integrity": "sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==" + }, "node_modules/typescript": { "version": "5.7.3", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.7.3.tgz", diff --git a/package.json b/package.json index 803b6ee..f7cc5c0 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", + "build-no-check": "vite build", + "build-ignore-ts": "vue-tsc --project tsconfig.build.json --noEmit && vite build", "preview": "vite preview", "gitBuild": "vue-tsc -b && vite build --base=/My" }, @@ -14,12 +16,18 @@ "@tailwindcss/vite": "^4.1.11", "@videojs-player/vue": "^1.0.0", "animate.css": "^4.1.1", + "animejs": "^4.0.2", "aos": "^2.3.4", "axios": "^1.10.0", "dayjs": "^1.11.13", "gsap": "^3.13.0", + "lottie-web": "^5.13.0", + "particles.js": "^2.0.0", + "scrollmagic": "^2.0.8", "swiper": "^11.2.10", "tailwindcss": "^4.1.11", + "three": "^0.178.0", + "typed.js": "^2.1.0", "video.js": "^7.21.7", "vue": "^3.5.13", "vue-i18n": "^11.1.9", diff --git a/public/LOGO.png b/public/LOGO.png index ef757c7..812aa26 100644 Binary files a/public/LOGO.png and b/public/LOGO.png differ diff --git a/public/real_logo.png b/public/real_logo.png new file mode 100644 index 0000000..56a1de7 Binary files /dev/null and b/public/real_logo.png differ diff --git a/src/api/modules/about.ts b/src/api/modules/about.ts index 8fa08ee..1793397 100644 --- a/src/api/modules/about.ts +++ b/src/api/modules/about.ts @@ -68,20 +68,6 @@ export interface PartnerItem { updateTime?: string; } -// 媒体接口 -export interface MediaItem { - id: string; - title: string; - image: string; - description: string; - source?: string; - date?: string; - createBy?: string; - createTime?: string; - updateBy?: string; - updateTime?: string; -} - // 处理API响应 function handleResponse(response: any): T[] { if (!response) return []; diff --git a/src/api/modules/community.ts b/src/api/modules/community.ts index f2a6760..7bff826 100644 --- a/src/api/modules/community.ts +++ b/src/api/modules/community.ts @@ -14,8 +14,6 @@ export interface OfficialMediaItem { description?: string; image: string; link: string; - url?: string; - username?: string; createBy?: string; createTime?: string; updateBy?: string; @@ -28,7 +26,6 @@ export interface ForumItem { title: string; content: string; image?: string; - likeCount?: number; createBy?: string; createTime?: string; updateBy?: string; @@ -52,7 +49,6 @@ export interface MessageItem { title: string; content: string; image?: string; - description?: string; createBy?: string; createTime?: string; updateBy?: string; @@ -65,8 +61,6 @@ export interface CommunityItem { title: string; content: string; image?: string; - description?: string; - url?: string; createBy?: string; createTime?: string; updateBy?: string; diff --git a/src/api/modules/config.ts b/src/api/modules/config.ts index 0f1b435..a1c5cf0 100644 --- a/src/api/modules/config.ts +++ b/src/api/modules/config.ts @@ -15,6 +15,7 @@ export interface ConfigItem { paramText: string; paramValue: string; paramTextarea?: string; + paramImage?: string; paramDesc?: string; createBy?: string; createTime?: string; diff --git a/src/api/modules/home.ts b/src/api/modules/home.ts index 3bbc70c..8281d0c 100644 --- a/src/api/modules/home.ts +++ b/src/api/modules/home.ts @@ -16,10 +16,8 @@ export interface BannerItem { // 核心价值主张接口 export interface ValueItem { id: string; - title: string; image: string; description: string; - icon?: string; createBy?: string; createTime?: string; updateBy?: string; @@ -44,8 +42,6 @@ export interface MediaItem { title: string; image: string; description: string; - source?: string; - date?: string; createBy?: string; createTime?: string; updateBy?: string; diff --git a/src/components/AnimationDemo.vue b/src/components/AnimationDemo.vue new file mode 100644 index 0000000..61d4fbf --- /dev/null +++ b/src/components/AnimationDemo.vue @@ -0,0 +1,317 @@ + + + + + \ No newline at end of file diff --git a/src/components/about/MilestoneModule.vue b/src/components/about/MilestoneModule.vue index 6e0bf2f..3bbe8e0 100644 --- a/src/components/about/MilestoneModule.vue +++ b/src/components/about/MilestoneModule.vue @@ -5,6 +5,9 @@ import { queryCourseList } from '@/api'; import type { CourseItem } from '@/api'; import gsap from 'gsap'; import { ScrollTrigger } from 'gsap/ScrollTrigger'; +import { useConfig } from '@/utils/config'; + +const { getConfigImage } = useConfig(); // 注册GSAP插件 gsap.registerPlugin(ScrollTrigger); @@ -158,7 +161,7 @@ onMounted(() => {