Commit Graph

450 Commits

Author SHA1 Message Date
张翔 7d514d4b51 feat: add TestimonialBlock, TestimonialSection, and CTASection components 2026-04-30 19:19:28 +08:00
张翔 a6e1761b3d feat: add ProductCard, ProductMatrixSection, ChallengeCard, and ChallengeSection components 2026-04-30 19:18:07 +08:00
张翔 84501fda14 feat: add SocialProofSection with stats cards and scroll animation 2026-04-30 19:13:45 +08:00
张翔 06a9d33556 feat: add StatsBar reusable component for social proof stats 2026-04-30 19:12:26 +08:00
张翔 14ca4b104f feat: add HeroSectionV2 with Atlassian-style clean layout and stats bar 2026-04-30 19:11:43 +08:00
张翔 6a098d115d feat: refactor Header with NAVIGATION_V2 and MegaDropdown integration 2026-04-30 19:09:29 +08:00
张翔 85fcb615d8 feat: add MegaDropdown component for product/solution matrix navigation 2026-04-30 19:06:09 +08:00
张翔 84422da250 feat: add NAVIGATION_V2 and MEGA_DROPDOWN_DATA for mega dropdown navigation 2026-04-30 19:04:52 +08:00
张翔 fcf9759f8b feat: add challenge scenario color tokens to design system 2026-04-30 19:01:50 +08:00
张翔 95f246fa36 feat(analytics): 增强 Google Analytics 隐私合规与追踪功能
- 修复 allow_google_signals 配置为 false,禁用跨设备追踪
- 升级 Cookie 同意组件,支持三级偏好控制(必要/分析/营销)
- 新增滚动深度追踪组件,追踪 25%/50%/75%/100% 里程碑
- 更新隐私政策,新增 Cookie 和网站分析工具章节
- 新增细化同意管理函数,支持 PIPL 合规
2026-04-22 22:09:38 +08:00
张翔 96dddeb20b chore: 上线前测试修复与部署配置更新
- fix(test): 添加 useSearchParams mock,修正联系链接断言
- style(nav): 将"联系我们"改为"联系"
- chore(deploy): 更新 Nginx 配置和部署文档
- style(logo): 更新 Logo SVG 文件
- feat(scripts): 添加字体处理和站点配置脚本
2026-04-22 20:17:13 +08:00
张翔 84f488a253 fix(types): 修复 16 个 TypeScript 类型检查错误
- 修复 animations.test.tsx 中的 Variant 类型访问问题
- 清理 9 个测试文件中的未使用导入
- 使用可选链操作符处理可能为 undefined 的属性访问
- 修复 mock 组件缺少 displayName 的 ESLint 错误
2026-04-22 19:47:52 +08:00
张翔 92ab2a83d5 fix: 修复部署脚本,部署到正确的静态文件目录
- 部署到 /home/novalon/docker-app/novalon-static/
- 添加 Nginx 缓存清除步骤
- 添加生产环境验证步骤
2026-04-22 17:20:46 +08:00
张翔 cc1c42a648 feat: 添加简化部署脚本 deploy-dist.sh
- 仅上传 dist 目录到生产服务器
- 自动备份旧版本
- 支持清理旧备份(保留最近3个)
- 无需重构 Docker 容器
2026-04-22 16:18:28 +08:00
张翔 2b7efb23ec fix: 修复字体加载警告和Logo图片宽高比问题
## 修复内容

### 字体优化
- 创建 AoyagiReisho-subset.ttf 子集字体,仅包含"睿新致远"4个字符
- 文件大小从 4.4MB 减小到 5KB(99.9% 减少)
- 修复 vmtx 表解析错误导致的 48 个控制台警告

### Logo 图片修复
- 修复 Logo SVG 宽高比问题(原始 480x120,4:1 比例)
- Header: width=128 height=32
- Footer: width=192 height=48
- 消除 Next.js Image 组件警告

### 其他优化
- 简化字体加载逻辑
- 更新部署配置

## 测试结果
- 32 个回归测试全部通过
- 0 个控制台警告
- 0 个错误
2026-04-22 16:00:49 +08:00
张翔 4066c82939 fix: 系统性解决青柳隶书体'份'字不显示的问题
根本原因:
- 青柳隶书体字体文件中'份'字(U+4EFD)的绘制指令数量为0
- 虽然字符映射表包含该字符,但字形数据为空,导致无法渲染

解决方案:
- 修改CSS字体回退链,添加Ma Shan Zheng作为主要回退字体
- 当青柳隶书体无法渲染'份'字时,浏览器自动使用Ma Shan Zheng字体
- 保持青柳隶书体的整体风格,同时确保所有字符都能正常显示

修改文件:
- src/app/globals.css: 更新.font-calligraphy类的字体回退链
- src/components/sections/home-solutions-section.tsx: 恢复使用font-calligraphy类

验证结果:
- 字体文件分析确认'份'字绘制指令数量为0
- Ma Shan Zheng字体包含完整的'身'和'份'字绘制数据
- 本地测试验证'身份'两个字都能正常显示
2026-04-22 07:49:09 +08:00
张翔 9be474b06b fix: 暂时移除'身份'的书法字体,使用普通字体确保完整显示
- 由于书法字体渲染问题,暂时使用普通字体
- 确保'身份'两个字都能完整显示
- 后续可以尝试其他书法字体方案
2026-04-22 07:38:26 +08:00
张翔 40b698ff01 fix: 修复'身份'书法字体显示问题
- 确认AoyagiReisho.ttf字体包含完整的'身份'两个字
- 优化font-calligraphy类的字体加载顺序
- 将var(--font-aoyagi-reisho)放在最前面确保优先使用
- 确保书法字体能够正确加载和显示
2026-04-22 07:29:27 +08:00
张翔 7873bcf089 fix: 移除'身份'的书法字体样式,确保完整显示
- 移除可能导致字符缺失的书法字体样式
- 改用普通加粗样式突出显示'身份'
- 确保所有字符都能正常显示
2026-04-22 07:27:45 +08:00
张翔 f952f61d6a fix: 修复首页解决方案部分'身份'字体显示问题
- 将'身份'的字体样式从CSS类改为内联样式
- 确保书法字体'Aoyagi Reisho'能够正确加载
- 提高字体加载的可靠性
2026-04-22 07:23:51 +08:00
张翔 2f45818724 feat(analytics): enhance Google Analytics with privacy compliance and comprehensive tracking
- Add automatic route change tracking for SPA navigation
- Implement Cookie consent banner for GDPR compliance
- Add performance tracking (LCP, FID, CLS Web Vitals)
- Add outbound link click tracking
- Integrate contact form submission tracking with conversion events
- Add CTA button click tracking in hero section
- Integrate error tracking in ErrorBoundary component
- Extend analytics utility library with 15+ tracking functions
- Configure IP anonymization and privacy settings
- Remove unused test files and deployment scripts
- Update case studies to include only specified cases
- Fix mobile navigation active state issues
- Fix lint errors in test files and components

BREAKING CHANGE: Google Analytics now requires user consent before tracking
2026-04-22 07:19:29 +08:00
张翔 b117372b03 refactor: 重构首页布局并新增团队页面
- 删除 insights-section 和 testimonials-section 组件
- 新增团队页面 (team/) 及相关组件
- 添加"解决方案"导航项
- 新增 home-solutions-section、methodology-section、team-section 组件
- 优化首页内容结构和产品区块
2026-04-21 17:42:51 +08:00
张翔 3ea5cf849e feat(cases): 新增智慧农业案例并优化政府案例数据
- 新增农业种植灌溉信息化建设咨询项目案例
- 更新政府案例:添加关键成果数据、优化客户评价
- 同步更新测试用例和页面组件
2026-04-21 16:57:20 +08:00
张翔 de94e931af feat(deploy): 添加 Docker 部署配置与 SSR 优化
- 添加 Dockerfile.static、docker-compose.server.yml 和 nginx-internal.conf
- 优化 Hero 统计数据为 SSR 渲染,提升首屏性能
- 更新案例数据为政府单位数字化解决方案
- 统计数据改为动态计算,基于案例数据和当前年份
- 修复计数器动画初始状态问题
2026-04-21 15:51:03 +08:00
张翔 933a831ab3 feat: 添加 AoyagiReisho 书法字体并优化表单反馈
- 使用 next/font/local 加载 AoyagiReisho.ttf 字体
- 为标题红色高亮文字应用书法字体样式
- 优化联系表单提交反馈,添加成功/失败提示
- 修复 section 参数滚动定位的时序问题
2026-04-21 11:18:29 +08:00
张翔 2fc1a586f8 fix(contact): 修复静态导出时 useSearchParams 需要 Suspense 的问题
- 将 ContactFormContent 组件用 Suspense 包裹
- 添加加载中 fallback 状态
- 确保静态导出兼容性
2026-04-21 08:38:17 +08:00
张翔 46cff87f27 fix(contact): 切换表单服务到 FormSubmit 并改进错误处理
- 将表单提交服务从 Formspree 切换到 FormSubmit(无需 API Key)
- 添加成功状态 URL 参数处理(?success=true)
- 改进错误提示,区分开发环境和生产环境
- 添加 _next 参数支持成功后重定向
- 重构状态初始化避免 useEffect 中同步调用 setState
2026-04-21 08:31:35 +08:00
张翔 6403489954 refactor: 完成静态网站转换,移除所有 CMS 和动态功能
- 删除数据库相关代码 (src/db/)
- 删除 API 路由 (src/app/api/)
- 删除认证相关代码 (src/lib/auth/, src/providers/)
- 删除监控和安全中间件 (src/lib/security/, src/lib/monitoring/)
- 删除 hooks (use-news, use-products, use-services)
- 更新组件为静态数据源
- 添加 nginx 静态配置和部署脚本
- 添加 static-link 组件
2026-04-21 07:53:56 +08:00
张翔 cd1d6aa28a chore: 清理过时的计划文档,保留最新优化计划 2026-04-21 07:51:27 +08:00
张翔 6e09bcf33e refactor: 拆分 constants.ts 为多个模块文件 2026-04-21 07:49:36 +08:00
张翔 78090d1f15 fix: 修正 Jest 配置中的文件路径,移除 next-auth mock 2026-04-21 07:43:28 +08:00
张翔 a88466965b fix: E2E 测试支持环境变量 URL,可在本地运行 2026-04-21 07:41:14 +08:00
张翔 da0d1d21ea chore: 清理无效的 npm 脚本命令 2026-04-21 07:40:04 +08:00
张翔 b3eab2437b refactor: 移除暗色主题切换脚本,纯静态网站不需要主题切换 2026-04-21 07:38:35 +08:00
张翔 a1d8ee292a refactor: 移除无效的 headers 配置,安全头已在 nginx 中配置 2026-04-21 07:37:59 +08:00
张翔 896a960159 fix: 添加 Jest 类型支持,修复测试文件类型错误 2026-04-21 07:34:47 +08:00
张翔 e6e3f79a2b feat: 更新项目配置和文档,优化UI样式和CI配置
- 从tsconfig.json中移除测试文件排除规则
- 优化错误边界组件的min-h样式
- 修正about-section中的引号转义和背景样式
- 更新woodpecker.yml中的release分支匹配模式
- 新增monorepo多站点架构设计方案文档
2026-03-28 14:39:28 +08:00
张翔 a003f1192e feat(ui/ux): 优化用户体验和可访问性
- 字体加载优化: 添加 font-display: block 策略,创建 useFontLoading hook
- 色彩对比度: 调整 text-muted 和 text-tertiary 颜色值确保 WCAG AA 合规
- 滚动进度条: 新增 ScrollProgress 组件,支持 reduced motion
- 表单自动保存: 新增 useFormAutosave hook,防止用户数据丢失
- 返回顶部按钮: 新增 BackToTop 组件,提升长页面导航体验
- 图片懒加载: 优化 OptimizedImage 组件,添加 blur placeholder 和加载动画

所有新组件均包含完整测试,1450+ 测试通过
2026-03-28 11:21:04 +08:00
张翔 ebaa7f3c50 fix: 修复Woodpecker CI配置文件中的linter错误
ci/woodpecker/manual/woodpecker Pipeline was successful
- 移除未使用的YAML锚点定义
- 替换commands字段中的锚点引用为实际值
- 移除有问题的通知步骤
- 修复测试文件中的问题
- 添加新的测试用例和配置文件
2026-03-28 09:42:45 +08:00
张翔 a5ee6489a1 fix(assets): 重命名备案图标为英文名避免编码问题 2026-03-27 22:41:19 +08:00
张翔 d3df2299bd fix(footer): 更新公安备案链接并添加备案图标 2026-03-27 17:23:37 +08:00
张翔 1c8241da4e style(layout): 优化移动端标签栏的样式类名
refactor(.gitignore): 重构并清理.gitignore文件
将文件内容按功能分类并添加注释,删除冗余条目,提高可读性和维护性
2026-03-27 16:17:49 +08:00
张翔 5bb3d48e4c chore: 删除不再使用的playwright测试脚本 2026-03-27 16:17:22 +08:00
张翔 c784c205f4 chore: 移除敏感配置文件并优化.gitignore
- 从git追踪中移除.env.production(包含真实API密钥和密码)
- 在.gitignore中明确添加.env.production规则
- 清理.gitignore中的重复规则(.bak, .backup, .tmp, .temp, .trae/)
- 提升安全性,防止敏感配置泄露
2026-03-27 15:54:17 +08:00
张翔 7145add64d chore: 更新.gitignore并删除敏感文件和备份文件
添加.auth目录和备份文件到.gitignore
删除已存在的敏感认证文件和CSS备份文件
2026-03-27 15:39:49 +08:00
张翔 df8043c0df feat: 添加E2E测试并优化Docker部署配置
- 新增Playwright E2E测试配置和测试脚本
- 优化Dockerfile和docker-compose.yml配置
- 新增novalon-nginx和novalon-website的docker-compose配置
- 优化contact页面和contact-section组件的代码结构
- 更新多个页面的SEO和元数据配置
- 添加备案图标资源
- 修复ESLint错误:转义引号、添加ESLint禁用注释、移除未使用变量

测试覆盖: 新增website-acceptance.spec.ts E2E测试
2026-03-27 12:39:30 +08:00
张翔 7a38eae6e0 chore: 删除e2e测试相关的初始化文件和快照文件
清理不再需要的测试初始化文件和视觉回归测试的快照文件,以保持代码库整洁
2026-03-27 09:56:57 +08:00
张翔 f76137b8b0 feat: 移除电话号码展示,更新ICP备案号
- 暂时移除联系方式中的电话号码展示
- 更新ICP备案号为:蜀ICP备2026013658号
2026-03-27 09:28:58 +08:00
张翔 6c4c6c0c1f refactor: 全面改进部署脚本,增强健壮性和可维护性
高优先级改进:
- 使用更精确的容器状态检查方法(docker inspect)
- 添加容器日志命令的错误处理
- 将nginx容器名称改为变量(NGINX_CONTAINER_NAME)

中优先级改进:
- 添加部署前文件检查(检查必要文件和工具)
- 添加部署后验证(HTTP/HTTPS服务响应检查)
- 添加日志记录功能(自动创建日志文件)
- 改进健康检查机制(检查容器状态和服务响应)

低优先级改进:
- 添加参数化配置(支持命令行参数)
- 添加帮助信息(-h选项)

其他改进:
- 更新.gitignore,忽略部署日志文件
- 支持自定义服务器IP、用户名、项目名、容器名、版本号
- 提供详细的帮助信息和使用说明
2026-03-26 20:15:21 +08:00
张翔 88837924f2 refactor: 调整部署结构以支持多容器管理
- 重新组织部署目录结构:
  - DEPLOY_ROOT: /home/novalon/docker-app (多容器管理根目录)
  - PROJECT_NAME: novalon-website (项目名称)
  - PROJECT_DIR: /home/novalon/docker-app/novalon-website (项目目录)
  - CONTAINER_NAME: novalon-website (容器名称)
- 修复heredoc变量展开问题,使用双引号ENDSSH
- 在上传文件前创建项目目录
- 更新所有容器相关命令使用正确的变量
- 更新部署文档,添加多容器管理结构说明
- 添加运维告警邮箱信息到项目信息
2026-03-26 19:38:17 +08:00