feat: 使用 Playwright 实现自动化 cookie 获取和验证
主要变更: - 新增 Playwright 登录认证服务 (services/playwright-auth.ts) - 重构 get-activity.ts 使用 Playwright 替代 Axios 登录 - 实现自动 cookie 过期检测和重试机制 - 优化 Docker 配置支持 Playwright 浏览器运行 - 添加启动脚本自动验证和刷新 cookies - 完善错误处理:区分 4xx(认证失败) 和 5xx(服务器错误) 技术细节: - 删除旧版 login_template.txt 和 nkcs-engage.cookie.txt - 添加 startup.sh 启动时自动验证 cookies - 改进 cookie 验证逻辑,添加指数退避重试 - Dockerfile 安装 Playwright 系统依赖 - docker-compose.yaml 添加 volumes 和 health checks 测试: - 添加 auth.spec.ts 自动化测试 - 添加 get-cookies.ts 和 test-cookies-validity.ts 工具脚本 - 验证 401/500/000 等错误场景处理正确
This commit is contained in:
@@ -5,21 +5,29 @@ services:
|
||||
dockerfile: Dockerfile
|
||||
container_name: dsas-cca-backend
|
||||
ports:
|
||||
- "${PORT}:${PORT}"
|
||||
- "${PORT:-3000}:${PORT:-3000}"
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- redis
|
||||
redis:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ./services/cookies.json:/usr/src/app/services/cookies.json
|
||||
networks:
|
||||
- cca_network
|
||||
mem_limit: 1g
|
||||
cpus: 1.0
|
||||
|
||||
redis:
|
||||
image: "redis:8.0-alpine"
|
||||
container_name: dsas-cca-redis
|
||||
command: redis-server --requirepass "dsas-cca"
|
||||
volumes:
|
||||
- ./redis_data:/data
|
||||
- redis_data:/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- cca_network
|
||||
@@ -28,6 +36,10 @@ services:
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
mem_limit: 256m
|
||||
|
||||
volumes:
|
||||
redis_data:
|
||||
|
||||
networks:
|
||||
cca_network:
|
||||
|
||||
Reference in New Issue
Block a user