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
This commit is contained in:
张翔
2026-04-22 07:19:29 +08:00
parent b117372b03
commit 2f45818724
45 changed files with 652 additions and 2293 deletions
-89
View File
@@ -1,89 +0,0 @@
#!/bin/bash
set -e
CDN_DOMAIN=${CDN_DOMAIN:-"https://cdn.novalon.cn"}
COS_BUCKET=${COS_BUCKET:-"novalon-cdn-1250000000"}
COS_REGION=${COS_REGION:-"ap-chengdu"}
DIST_DIR=${DIST_DIR:-"dist/static"}
STANDALONE_DIR=${STANDALONE_DIR:-"dist/standalone"}
echo "========================================="
echo "CDN静态资源部署脚本"
echo "========================================="
echo "CDN域名: $CDN_DOMAIN"
echo "COS存储桶: $COS_BUCKET"
echo "COS区域: $COS_REGION"
echo "静态资源目录: $DIST_DIR"
echo "========================================="
if [ ! -d "$DIST_DIR" ]; then
echo "错误: 静态资源目录不存在: $DIST_DIR"
echo "请先运行 npm run build 构建项目"
exit 1
fi
echo ""
echo "步骤1: 检查coscmd工具..."
if ! command -v coscmd &> /dev/null; then
echo "安装coscmd工具..."
pip install coscmd
fi
echo ""
echo "步骤2: 配置coscmd..."
if [ -z "$COS_SECRET_ID" ] || [ -z "$COS_SECRET_KEY" ]; then
echo "错误: 请设置环境变量 COS_SECRET_ID 和 COS_SECRET_KEY"
echo "可以在腾讯云控制台 > 访问管理 > API密钥管理中获取"
exit 1
fi
coscmd config -a "$COS_SECRET_ID" -s "$COS_SECRET_KEY" -b "$COS_BUCKET" -r "$COS_REGION"
echo ""
echo "步骤3: 上传静态资源到COS..."
echo "上传 _next/static/ 目录..."
coscmd upload -r "$DIST_DIR" /_next/static/ --sync --delete
echo ""
echo "步骤4: 上传public目录中的静态资源..."
if [ -d "public" ]; then
echo "上传 public/ 目录..."
coscmd upload -r public/ / --sync
fi
echo ""
echo "步骤5: 设置COS对象缓存策略..."
echo "为静态资源设置长期缓存 (1年)..."
coscmd set-meta "_next/static/*" "Cache-Control: public, max-age=31536000, immutable" -r
echo ""
echo "步骤6: 刷新CDN缓存..."
if [ -n "$CDN_DOMAIN" ]; then
CDN_DOMAIN_CLEAN=$(echo "$CDN_DOMAIN" | sed 's|https://||' | sed 's|http://||')
echo "刷新CDN域名: $CDN_DOMAIN_CLEAN"
if command -v tccli &> /dev/null; then
tccli cdn PurgePathsCache --Paths '["https://'"$CDN_DOMAIN_CLEAN"'/_next/static/"]' --FlushType flush
echo "CDN缓存刷新请求已提交"
else
echo "提示: 未安装tccli工具,请手动在腾讯云控制台刷新CDN缓存"
echo "刷新路径: https://$CDN_DOMAIN_CLEAN/_next/static/"
fi
fi
echo ""
echo "========================================="
echo "部署完成!"
echo "========================================="
echo "静态资源已上传到: https://$COS_BUCKET.cos.$COS_REGION.myqcloud.com"
echo "CDN加速域名: $CDN_DOMAIN"
echo ""
echo "后续步骤:"
echo "1. 在腾讯云CDN控制台配置加速域名: cdn.novalon.cn"
echo "2. 设置源站为COS存储桶: $COS_BUCKET.cos.$COS_REGION.myqcloud.com"
echo "3. 配置HTTPS证书"
echo "4. 测试CDN加速效果"
echo "========================================="
-43
View File
@@ -1,43 +0,0 @@
#!/bin/bash
set -e
CDN_DOMAIN=${CDN_DOMAIN:-"https://cdn.novalon.cn"}
COS_BUCKET=${COS_BUCKET:-"novalon-cdn-1250000000"}
COS_REGION=${COS_REGION:-"ap-chengdu"}
echo "========================================="
echo "CDN缓存刷新脚本"
echo "========================================="
echo "CDN域名: $CDN_DOMAIN"
echo "========================================="
CDN_DOMAIN_CLEAN=$(echo "$CDN_DOMAIN" | sed 's|https://||' | sed 's|http://||')
echo ""
echo "刷新CDN缓存..."
if command -v tccli &> /dev/null; then
echo "使用tccli刷新CDN缓存..."
tccli cdn PurgePathsCache \
--Paths "[\"https://$CDN_DOMAIN_CLEAN/_next/static/\"]" \
--FlushType flush
echo "CDN缓存刷新请求已提交"
echo "刷新ID可通过腾讯云控制台查看进度"
else
echo "错误: 未安装tccli工具"
echo ""
echo "请手动在腾讯云控制台刷新CDN缓存:"
echo "1. 登录腾讯云控制台: https://console.cloud.tencent.com/cdn"
echo "2. 进入缓存刷新页面"
echo "3. 选择'目录刷新'"
echo "4. 输入刷新URL: https://$CDN_DOMAIN_CLEAN/_next/static/"
echo "5. 点击提交"
fi
echo ""
echo "========================================="
echo "完成!"
echo "========================================="