陈春
|
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 |
|
陈春
|
c9cf644ac5
|
chore: 添加构建推送脚本并更新项目配置
- 添加 build-and-push.sh 脚本用于自动化构建和推送 Docker 镜像
- 更新 .dockerignore 排除 pnpm-workspace.yaml
- 更新项目依赖和配置文件
|
2026-06-03 17:19:14 +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
|
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 |
|
virtheart
|
f6f8e82a7b
|
feat(页面): 添加新闻、作品、工作室和联系页面
添加四个新的页面组件:news.vue、work.vue、studio.vue 和 contact.vue
同时更新.gitignore文件,添加.trae忽略项
|
2026-04-26 23:01:19 +08:00 |
|
virtheart
|
78439ba069
|
feat(header): 重构导航栏动画逻辑并优化入场效果
将导航栏动画控制从首页迁移到组件内部,实现更流畅的从底部飞入效果
添加自定义事件监听和保底机制确保导航栏正常显示
优化导航链接样式和交互效果
|
2026-04-26 22:57:41 +08:00 |
|
virtheart
|
4d4f5caaa5
|
style(ArcticNewOneCursor): 重构光标组件样式并添加混合模式容器
将光标元素包裹在混合模式容器中,调整层级和定位方式
优化z-index值,移除重复的混合模式属性
|
2026-04-26 22:46:12 +08:00 |
|
virtheart
|
c1da2963d2
|
style(layouts): 调整头部组件样式和尺寸
增加头部组件高度,优化logo和导航链接的尺寸及间距
改进导航链接的悬停动画效果
统一底部组件高度与头部一致
|
2026-04-26 22:33:14 +08:00 |
|
virtheart
|
ed9866211d
|
feat(i18n): 添加应用名称和描述的国际化支持
添加中英文的应用名称和描述配置
优化全局和首页的SEO meta设置
配置响应式的标题模板和国际化meta信息
|
2026-04-26 22:26:53 +08:00 |
|
virtheart
|
449010718e
|
feat(header): 添加导航菜单和响应式布局
- 新增导航菜单数据配置
- 实现左侧logo和标题区域
- 添加中间导航链接区域
- 添加右侧菜单图标
- 优化header布局为flex响应式设计
|
2026-04-26 22:19:10 +08:00 |
|
virtheart
|
af898f1cfe
|
refactor(页面动画): 优化首页动画元素引用和初始化逻辑
移除未使用的 introCharRefs 引用,改用 gsap.utils.toArray 获取字符元素
将 '.hero-intro-tm' 选择器结果缓存为 tmElement 避免重复查询
为静态元素添加 v-once 指令提升性能
调整部分元素的初始 opacity 和 visibility 状态
|
2026-04-26 21:58:25 +08:00 |
|
virtheart
|
c1ab766c49
|
feat: 添加页面加载动画并优化首屏入场效果
- 在页面加载时添加加载进度条动画
- 重构首屏入场动画逻辑,分离加载层和品牌展示层
- 优化滚动控制逻辑,避免 class 和 inline style 冲突
- 添加动画状态管理变量,防止重复触发
|
2026-04-26 21:55:48 +08:00 |
|