Commit Graph

64 Commits

Author SHA1 Message Date
陈春 3ffc2086e3 fix: 修复客户评价模糊 + 工作流程卡片溢出
🐛 HomeTestimonials:
- 移除 blur 滤镜,卡片不再模糊
- 添加触摸支持(touchstart/touchmove/touchend)
- 降低拖拽阈值(100px → 50px),更灵敏
- 加快切换动画(0.8s → 0.5s)
- 添加 select-none 防止拖拽选中文本
- 鼠标样式:grab / grabbing

🐛 HomeProcess:
- 卡片宽度缩小(280/320px → 240/280px)
- 编号圆圈缩小(20/24 → 16/20)
- 图标容器缩小
- 内边距缩小(p-6/8 → p-5/6)
- 防止最后一张卡片被遮挡

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 20:15:00 +08:00
陈春 77567b2cc2 refactor: 移除新增板块的 ScrollTrigger pin 效果
从 HomeServices 开始往后的 6 个板块,
去掉 pin(固定)和 scrub(滚动驱动)效果,
改为正常的入场动画:滚动到时触发动画,播放完毕后正常滚动

修改的板块:
- HomeServices: 卡片飞入归位(无 pin)
- HomeAchievements: 逐个数字展示(无 pin)
- HomeTestimonials: 卡片扩散入场(无 pin)
- HomeTechStack: 标签散开入场(无 pin)
- HomeProcess: 标题 + 线条 + 步骤入场(无 pin)
- HomeUpdates: 卡片错开入场(无 pin)

保留 HomePartnersWork 的 pin 效果(原有板块)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 20:10:40 +08:00
陈春 e94f7d92e9 fix: 修复所有板块 pin 滚动空白间隙 + 服务卡片适配屏幕
🐛 问题1: 滚动到下一个内容时有空白区
根因: 时间线动画之间有间隙(动画 duration < 步骤间距)
修复: 所有板块改用 cursor 模式,每个步骤精确衔接,无空白

🐛 问题2: 服务卡片太大,一屏显示不全
根因: 卡片高度固定 h-[380px],不适配小屏幕
修复: 改用 clamp(260px, 38vh, 400px) 自适应屏幕高度

🔧 修复的 6 个板块:
1. HomeTestimonials - 淡入淡出切换无间隙
2. HomeServices - 卡片聚焦无间隙 + 自适应高度
3. HomeAchievements - 数字展示无间隙
4. HomeTechStack - 球体旋转无间隙
5. HomeProcess - 步骤展示 + 横向滚动无间隙
6. HomeUpdates - 卡片分批出现无间隙

📐 cursor 模式:
每一步动画 duration 正好等于步骤间距,
动画结束 = 下一步开始,完美衔接

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 20:03:36 +08:00
陈春 02323fd426 fix: 修复所有首页板块 pin 滚动不连贯问题
🐛 问题根源:
每个板块有两套独立的 ScrollTrigger 在同一个元素上:
- 入场动画用独立的 scrollTrigger
- pin 效果用 ScrollTrigger.create
两者互相冲突,导致空白间隙和动画跳变

 修复方案:
将所有板块的入场动画和 pin 滚动合并为一个统一时间线(timeline),
确保动画从 pin 开始到结束完全连续,无空白区

🔧 修复的 6 个板块:
1. HomeTestimonials - 标题入场 + 卡片逐张切换(淡入淡出)
2. HomeServices - 标题入场 + 卡片飞入归位 + 逐张聚焦
3. HomeAchievements - 逐个成就项展示(前一个淡出,后一个淡入)
4. HomeTechStack - 内容入场 + 标签散开 + 球体旋转
5. HomeProcess - 标题入场 + 线条绘制 + 步骤逐个出现 + 横向滚动
6. HomeUpdates - 标题入场 + 卡片分批出现

🎯 效果:
- pin 期间动画完全连续,无空白间隙
- 入场和 pin 共享同一个 timeline
- scrub: 0.5 让滚动更平滑
- 每个板块到下一个板块无缝过渡

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:53:46 +08:00
陈春 bb0020b406 feat: 为首页新增板块添加 ScrollTrigger pin 滚动效果
 新增 pin 效果(板块固定,内容随滚动切换):

1. HomeTestimonials - 客户评价
   - 固定板块,滚动自动切换卡片
   - 每屏切换一张评价卡片

2. HomeTechStack - 技术栈
   - 固定板块,3D 球体自动旋转一圈
   - 滚动控制旋转进度

3. HomeProcess - 创意流程
   - 固定板块,横向滚动浏览所有步骤
   - 6 个步骤依次展示

4. HomeServices - 服务能力
   - 固定板块,逐张卡片聚焦展示
   - 聚焦卡片放大,其他缩小变暗
   - 所有卡片飞入归位后逐个聚焦

5. HomeAchievements - 数字成就
   - 固定板块,逐个成就项展示
   - 每个数字滚动计数动画触发

6. HomeUpdates - 最新动态
   - 固定板块,逐批展示卡片
   - 分批出现,每批 3 个卡片

🎯 效果:
- 滚动到板块时自动固定(pin)
- 内部元素随滚动依次展示
- 所有内部元素展示完毕后才继续下一个板块
- 每个板块独特的 pin 动画效果

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:49:18 +08:00
陈春 89c4c4c7b5 fix: 恢复首页动画序列控制逻辑
🐛 根本问题:
- 添加新板块时误删了首页的核心动画控制代码
- 导致 HomeIntro 和 HomeHero 的 play() 方法从未被调用
- 动画序列完全失效

 缺失的关键代码:
1. HomeIntro 和 HomeHero 的 ref 引用
2. watch 监听 appStore.isAppLoading 状态
3. 依次调用 intro.play() 和 hero.play()
4. usePageScrollLock 滚动锁定
5. isIntroActive 状态管理

 修复内容:
- 恢复完整的动画序列控制逻辑
- 重新添加 ref 引用和 watch 监听
- 确保动画按正确顺序播放:
  AppLoader → HomeIntro → HomeHero → 解锁滚动
- 保留所有新增的板块组件

🎯 现在的加载流程:
1. AppLoader (1.2s)
2. HomeIntro - ArcticNewOne 文字动画
3. HomeHero - 主视觉滑入
4. Header 菜单出现
5. 解锁页面滚动
6. 用户可以滚动浏览后续板块

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:34:56 +08:00
陈春 0c5ad55621 fix: 修复首屏加载慢和菜单延迟问题
🐛 核心问题:
- HomePartnersWork 的 ScrollTrigger 在 onMounted 时立即初始化
- 复杂的卡片堆叠动画计算阻塞了首屏 Hero 动画
- 导致菜单延迟出现,用户体验不佳

 解决方案:
- 监听 'hero-intro-done' 事件,等待 Hero 动画完成后才初始化
- 添加 3 秒保底延迟,确保不会无限等待
- 将 ScrollTrigger 初始化封装为独立函数
- 不影响原有的卡片堆叠滚动效果

🎯 效果:
- 首屏 Hero 动画流畅,不再被阻塞
- 菜单在 Hero 动画 60% 时立即出现
- HomePartnersWork 在 Hero 完成后异步初始化
- 用户体验大幅提升

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:31:44 +08:00
陈春 ae20560a35 fix: 修复首页加载和动画时序问题
🐛 问题修复:
- 移除所有新板块的初始 opacity: 0 样式
- 防止新板块初始隐藏导致黑屏问题
- 确保页面加载后内容立即可见
- 修复菜单延迟出现的问题

🎨 优化调整:
- 改用 CSS class 控制动画初始状态
- ScrollTrigger 动画在滚动到对应位置时才触发
- 不影响首屏 Hero 和 Intro 的加载动画
- 保持所有板块的入场动画效果

 修复的组件:
- HomeServices
- HomeAchievements
- HomeTestimonials
- HomeTechStack
- HomeProcess
- HomeUpdates
- HomeCTA

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:26:57 +08:00
陈春 42c96f7363 refactor: 调整首页所有板块为全屏布局
🎨 设计调整:
- 所有板块改为 min-h-screen 全屏展示
- 每个板块独立占据一屏,视觉冲击力更强
- 统一使用 flex 居中布局
- 调整标题和内容间距,更适合全屏显示
- 保持响应式设计和所有动画效果

📐 修改的组件:
- HomeServices: 服务能力展示
- HomeAchievements: 数字成就展示
- HomeTestimonials: 客户评价轮播
- HomeTechStack: 技术栈展示
- HomeProcess: 创意流程时间线
- HomeUpdates: 最新动态网格

 视觉效果:
- 更加现代化的全屏滚动体验
- 每个板块都有足够的呼吸空间
- 符合整体设计风格

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:19:17 +08:00
陈春 cd87644d41 feat: 扩展首页内容,新增7个高级动画板块
 新增首页板块:
- HomeServices: 服务能力展示(3D卡片翻转 + 视差移动)
- HomeAchievements: 数字成就展示(数字滚动 + 粒子背景)
- HomeTestimonials: 客户评价轮播(3D轮播 + 拖拽交互)
- HomeTechStack: 技术栈展示(3D球体 + 鼠标控制旋转)
- HomeProcess: 创意流程时间线(横向滚动 + SVG线条动画)
- HomeUpdates: 最新动态网格(Bento布局 + 悬浮卡片)
- HomeCTA: 全屏CTA区域(文字分裂动画 + 星空粒子)

🎨 设计亮点:
- 每个板块独特的动画效果(翻转、滚动、拖拽、旋转、绘制)
- 避免传统布局,采用创意设计
- 丰富的交互效果(hover、拖拽、视差)
- Canvas粒子动画和SVG路径动画
- 响应式设计,完美适配移动端

🌍 国际化:
- 完整的中英文内容
- 涵盖所有新板块的文案

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:14:53 +08:00
陈春 f4684f694e feat: 完成所有页面功能和用户认证系统
 新增功能:
- Work 和 News 页面实现筛选功能
- Contact 页面联系表单提交功能(加载状态、成功/失败反馈)
- Newsletter 订阅功能(邮箱验证、状态反馈)
- 移动端汉堡菜单功能(全屏菜单、动画效果)
- 用户登录/注册系统(支持账号/邮箱/手机号三合一)
- 用户状态管理(Pinia store + localStorage 持久化)
- 登录和注册弹窗组件(表单验证、错误提示)
- 用户头像和下拉菜单(桌面端和移动端)

🎨 优化改进:
- Footer 显示问题修复(多重备用机制)
- 联系信息更新(邮箱改为 chenchun@virtheart.com,手机改为微信)
- 完整的国际化支持(中英文双语)
- 响应式设计优化

🔧 技术实现:
- GSAP 动画系统
- 表单验证和反馈
- 状态持久化
- 自动生成用户头像

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:03:57 +08:00
陈春 be0b644e4c chore: 添加 docker-compose.yml 用于容器化部署 2026-06-03 17:21:48 +08:00
陈春 c9cf644ac5 chore: 添加构建推送脚本并更新项目配置
- 添加 build-and-push.sh 脚本用于自动化构建和推送 Docker 镜像
- 更新 .dockerignore 排除 pnpm-workspace.yaml
- 更新项目依赖和配置文件
2026-06-03 17:19:14 +08:00
virtheart a4ee86a22b ci: 更新 Jenkinsfile 配置及部署流程
- 将镜像标签从构建号改为 latest
- 添加容器端口和主机端口配置
- 简化构建和部署脚本
- 添加容器拉取步骤并配置端口映射
2026-05-06 17:17:18 +08:00
virtheart d64af52c2e ci(Jenkinsfile): 移除硬编码的registry用户名并增加docker调试信息
删除硬编码的REGISTRY_USERNAME环境变量,改为从外部传入
在docker构建和推送步骤中添加set -x和版本信息输出以便调试
增加docker构建失败时的错误处理和退出机制
2026-05-06 17:02:49 +08:00
virtheart 0b065f3693 ci: 改进镜像名称的生成规则以支持更多字符
将镜像名称生成规则中的空格替换改为替换所有非字母数字、点和横线的字符,以避免潜在的命名冲突
2026-05-06 16:56:07 +08:00
virtheart 854817e0c4 ci: 添加 Jenkinsfile 用于构建、推送和部署 Docker 镜像 2026-05-06 16:42:32 +08:00
virtheart a5d681d55b perf(HomeHero): 将图片加载方式从eager改为lazy以优化性能 2026-05-02 12:27:48 +08:00
virtheart 0c1bcd6237 feat(首页): 添加合作伙伴和作品集展示组件
添加新的HomePartnersWork组件,包含合作伙伴列表和作品集展示区
更新中英文翻译文件,新增相关文案
移除首页占位内容,使用新组件替代
2026-04-29 21:39:19 +08:00
virtheart c62c65e15e feat(scroll-lock): 使用 className 追踪锁定计数,优化多组件并发锁定处理 2026-04-29 18:04:43 +08:00
virtheart 3256ed8ff4 feat(页面): 添加工具页面链接并优化页脚动画效果
在页脚添加工具页面链接,并优化动画效果使用GSAP实现更流畅的过渡。同时为工具数据添加类型定义以提高代码可维护性。

- 在ArcticNewOneFooter.vue中添加工具链接
- 优化GSAP动画配置,使用fromTo实现更精细控制
- 为tools.vue中的工具数据添加ToolItem接口类型
- 添加CSS类实现动画元素的初始状态
2026-04-28 15:11:47 +08:00
virtheart dee222648d feat: 添加图标库依赖并优化首页按钮动画
添加@iconify-json/ph图标库依赖
在nuxt.config.ts中配置vite优化依赖
更新社交媒体图标为ph:x-logo
实现首页"Talk"按钮的悬停动画效果
2026-04-28 14:40:14 +08:00
virtheart b71ab1a342 feat(tools): 添加工具箱页面及国际化支持
添加新的工具箱页面,包含三个实用工具卡片。更新国际化文件支持多语言显示。优化页面滚动锁定功能,使其可配置自定义类名。调整导航栏菜单项显示逻辑。

工具箱页面包含入场动画效果,并添加SEO元信息。滚动锁定功能现在支持自定义类名,便于不同场景使用。导航栏现在动态显示中间菜单项,排除最后一项。
2026-04-28 14:32:57 +08:00
virtheart 6aa61cc78f build: 添加 Docker 配置文件和忽略文件
添加 Dockerfile 用于构建和运行 Node.js 应用,同时添加 .dockerignore 文件排除不必要的文件和目录
2026-04-28 13:10:04 +08:00
virtheart 8845c8293d chore: 添加启动脚本到package.json 2026-04-28 01:33:21 +08:00
virtheart 2a3e8fa880 chore: 更新网站favicon图标 2026-04-28 01:30:34 +08:00
virtheart 1de8cd61aa refactor(layouts): 移除ArcticNewOneFooter中未使用的动画函数 2026-04-27 22:01:28 +08:00
virtheart 0a738e2074 feat(页脚): 添加多语言支持和动画效果
重构页脚组件,增加中英文翻译支持
创建 FooterLogo 和 AnimatedButton 通用组件
实现滚动动画和按钮悬停效果
2026-04-27 21:07:22 +08:00
virtheart e6e0426d25 style(header): 优化移动端布局和样式
调整 AppLogo 的最小宽度,重构 ArcticNewOneHeader 的网格布局以适应移动端
优化 HomeHero 组件的间距和字体大小,提升移动端显示效果
2026-04-27 18:48:17 +08:00
virtheart afe0dc9492 refactor(layouts): 移除未使用的Observer插件并整理导入顺序
移除ArcticNewOneHeader中已注释的Observer插件注册代码
整理default.vue中的组件导入顺序
2026-04-27 18:13:05 +08:00
virtheart c4075db8ef feat(HomeHero): 添加小字文本向上浮现动画效果
为服务列表、描述文本、按钮和小圆点等元素添加统一的向上浮现动画效果
使用GSAP实现动画序列,与大标题动画协调
2026-04-27 17:59:11 +08:00
virtheart 5390b70fa9 feat(home): 为首页对话按钮添加悬停动画效果
添加GSAP动画效果,当鼠标悬停在对话按钮上时,文字会向上滑动并显示克隆文字,同时背景色块从底部滑入。离开时恢复原始状态。
2026-04-27 17:51:47 +08:00
virtheart be0bf01845 feat(i18n): 添加首页英雄区域的多语言支持
为首页英雄区域添加中英文翻译内容,包括服务列表、描述文本和按钮文字
同时优化AppLogo组件的动画安全检查和HomeHero组件的布局与动画效果
2026-04-27 17:51:00 +08:00
virtheart 52112284cb fix(动画): 修复首页动画重复播放和顶部导航显示问题
修复首页动画在特定条件下可能重复播放的问题,通过添加 hasPlayedIntro 状态控制
优化顶部导航的显示逻辑,增加即时显示和隐藏功能,并清理事件监听和定时器
2026-04-27 17:01:39 +08:00
virtheart 500bdda0e5 feat(header): 重构头部组件并添加底部导航栏
将头部组件中的logo动画逻辑提取为独立组件
添加底部导航栏并实现滚动显示逻辑
更新国际化文件中的app名称
2026-04-27 16:47:38 +08:00
virtheart 5bb0c344b9 feat(header): 添加logo悬停动画效果并优化代码格式
添加logo元素的悬停动画效果,当鼠标悬停时显示品牌名称和副标题的动画过渡
优化代码格式,包括调整缩进和注释掉未使用的Observer插件
重构logo部分的DOM结构,使用绝对定位确保布局稳定性
2026-04-27 15:41:57 +08:00
virtheart bb7e2c04c8 refactor(composables): 移除未使用的 Lenis 类型导入并优化 useHead 配置
移除未使用的 Lenis 类型导入以简化代码
在 htmlAttrs 中添加 lang 属性配置
2026-04-27 15:41:50 +08:00
virtheart b7fdb21ef0 fix(composables): 修复类型断言问题,直接使用nuxtApp类型
移除对nuxtApp的any类型断言,直接使用其类型访问$lenis属性
2026-04-27 14:15:33 +08:00
virtheart dba0c18001 refactor(composables): 改进页面滚动锁定逻辑并修复潜在问题
确保在客户端插件加载完成后再获取 Lenis 实例
修复组件卸载时可能的状态不一致问题
将 useHead 配置整合到 usePageScrollLock 中
2026-04-27 02:51:45 +08:00
virtheart a353322454 refactor: 移除用户存储及相关演示用户逻辑 2026-04-27 02:44:55 +08:00
virtheart ea9b7747e2 fix(首页): 修复入场动画期间滚动锁定问题
确保在 Lenis 加载完成前后都能正确锁定页面滚动
修复滚动锁定计数逻辑,避免重复操作
2026-04-27 02:42:03 +08:00
virtheart 226dc5c147 refactor(滚动锁定): 重构页面滚动锁定逻辑
- 使用全局计数器解决多组件并发锁定竞态问题
- 将 HTML class 注入逻辑移至 composable 中统一管理
- 优化锁定状态更新逻辑,避免重复操作
- 移除不再需要的计算属性和导入
2026-04-27 02:34:19 +08:00
virtheart 76e7b4b817 refactor(components): 优化动画组件代码结构并移除冗余样式
style(pages): 使用实用类替换内联样式
refactor(composables): 简化页面标题模板逻辑
docs(components): 添加详细注释说明动画逻辑
2026-04-27 02:28:49 +08:00
virtheart 044042fe7e feat: 重构应用加载流程和动画管理
- 新增 AppLoader 组件作为全局加载器
- 引入 Pinia 状态管理应用加载状态
- 创建 usePageScrollLock 组合式函数管理滚动锁定
- 重构首页动画流程,使用 Promise 链式调用
- 移除旧的 HomeLoader 组件
- 优化头部导航栏的入场动画触发逻辑
2026-04-27 02:19:29 +08:00
virtheart 6b41e053a1 feat(types): 添加NuxtApp中$lenis的类型声明
在HomeHero组件中简化$lenis的类型获取方式
2026-04-26 23:12:37 +08:00
virtheart 1407e2c8eb refactor(HomeHero): 添加 useNuxtApp 导入以支持 Nuxt 功能 2026-04-26 23:09:57 +08:00
virtheart 4dbf05555d refactor(layouts): 为导航菜单数据添加类型定义 2026-04-26 23:09:00 +08:00
virtheart 1bc881994f refactor(home): 将首页组件拆分为独立模块并优化代码结构
将首页的加载动画、介绍动画和英雄区域拆分为独立的组件文件
移除index.vue中冗余的样式和逻辑,通过组件引用方式重构
优化代码组织结构,提高可维护性
2026-04-26 23:07:37 +08:00
virtheart 8b5f6720cd feat(seo): 为页面添加SEO元数据配置 2026-04-26 23:06:41 +08:00
virtheart 364a21ea18 feat(i18n): 添加导航菜单多语言支持并调整头部样式
- 在en.json和zh.json中添加导航菜单和品牌名称的翻译
- 修改ArcticNewOneHeader组件使用vue-i18n实现多语言切换
- 调整导航菜单的间距和字体大小
2026-04-26 23:06:19 +08:00