2427237116342a6a7eb6603818f60268f1fdf813
Weibo-HotSign - 微博超话智能签到系统
基于开发文档实现的分布式微博超话智能签到系统,具备多账户管理、高稳定性反爬虫、Web可视化管理等核心功能。
🏗️ 项目架构
本项目采用微服务架构,包含以下核心服务:
- 认证服务 (auth_service) - 用户注册、登录、JWT认证
- API网关 (api_service) - 统一API入口和路由
- 任务调度 (task_scheduler) - 基于Celery Beat的定时任务
- 签到执行 (signin_executor) - 核心签到业务逻辑
- 浏览器自动化 (browser_automation_service) - 处理复杂JS加密
- 通知中心 (notification_hub) - 多渠道通知分发
- 前端应用 (frontend) - React可视化界面
🚀 快速启动
环境要求
- Docker & Docker Compose
- Python 3.11+
- Node.js 18+
启动步骤
-
克隆项目
cd d:/code/weibo -
启动所有服务
docker-compose up -d -
查看服务状态
docker-compose ps -
访问服务
- 前端界面: http://localhost:3000
- API文档: http://localhost:8000/docs
- 认证服务: http://localhost:8001/docs
- 健康检查: http://localhost:8000/health
📋 已实现功能
✅ 认证服务 (auth_service)
- 用户注册 (
POST /auth/register) - 用户登录 (
POST /auth/login) - JWT Token生成和验证
- 密码强度验证和bcrypt哈希
- CORS跨域支持
- 数据库连接管理
- 完整的错误处理和日志记录
✅ 任务调度服务 (task_scheduler)
- Celery Beat定时任务调度
- Cron表达式解析和动态任务加载
- 任务队列管理 (Redis)
- 任务重试和错误处理
- 调用签到执行服务
✅ 签到执行服务 (signin_executor)
- 微博超话签到核心逻辑
- 动态IP代理池集成 (模拟)
- 浏览器指纹模拟 (模拟)
- Cookie管理和验证 (模拟)
- 完整的签到工作流和状态管理
- 反爬虫保护机制 (随机延迟)
✅ 基础设施
- Docker容器化配置
- PostgreSQL数据库初始化
- Redis缓存配置
- Nginx反向代理配置
- 微服务网络通信
🔄 待实现功能
API网关服务 (api_service)
- 请求路由和负载均衡
- API组合和聚合
- 速率限制和熔断
浏览器自动化服务 (browser_automation_service)
- Playwright无头浏览器
- JS加密参数逆向
- 网络请求拦截和提取
前端React应用 (frontend)
- 用户登录注册界面
- 账号管理面板
- 任务配置界面
- 签到日志查看
- 实时状态监控
通知中心服务 (notification_hub)
- 多渠道通知分发 (Server酱, Email等)
🛠️ 技术栈
后端
- Web框架: FastAPI (Python)
- 数据库: PostgreSQL + SQLAlchemy
- 缓存: Redis
- 任务队列: Celery + Redis
- 认证: JWT + bcrypt
- 浏览器自动化: Playwright
前端
- 框架: React 18 + Vite
- 状态管理: Zustand
- UI库: Ant Design
- HTTP客户端: Axios
基础设施
- 容器化: Docker + Docker Compose
- 反向代理: Nginx
- 监控: Prometheus + Grafana
- 日志: ELK Stack
📊 数据库设计
系统包含以下核心数据表:
users- 用户信息accounts- 微博账号管理tasks- 签到任务配置signin_logs- 签到历史记录
详细表结构见 init-db.sql
🔧 配置说明
环境变量
主要配置通过环境变量设置:
# 数据库
DATABASE_URL=postgresql+asyncpg://user:pass@postgres:5432/dbname
REDIS_URL=redis://redis:6379
# JWT
JWT_SECRET_KEY=your-super-secret-jwt-key
JWT_EXPIRATION_HOURS=24
# 应用
DEBUG=true
HOST=0.0.0.0
PORT=8000
📝 API规范
遵循RESTful设计规范:
- 协议: HTTPS
- 数据格式: JSON
- 认证: Bearer Token (JWT)
- 版本控制: URL路径 (
/api/v1/) - 通用响应结构:
{ "success": true, "data": {...}, "message": "Operation successful", "error": null }
🤝 贡献指南
- Fork项目
- 创建特性分支
- 提交代码变更
- 推送到分支
- 创建Pull Request
📄 许可证
MIT License
🙏 致谢
感谢开发文档提供的详细技术规范和架构指导,本实现严格遵循文档中的各项技术要求。
Description
Languages
Python
98.5%
C++
0.7%
C
0.3%
HTML
0.2%
Cython
0.1%