4.3 KiB
4.3 KiB
本地启动前检查清单
✅ 配置检查
1. 数据库配置
- SQLite 作为默认数据库
backend/shared/config.py默认值设置为 SQLitebackend/.env.local配置正确- 添加
aiosqlite到 requirements.txt
2. Redis 配置
- Redis 设置为可选(
USE_REDIS=false) auth_service支持内存存储(不依赖 Redis)task_scheduler支持内存锁(不依赖 Redis)- 启动脚本移除 Redis 检查
3. 端口配置
- Auth Service: 8001
- API Service: 8000
- Frontend: 5000
- 所有服务端口配置一致
4. 环境变量
backend/.env.local创建完成frontend/.env创建完成- JWT 密钥配置
- Cookie 加密密钥配置
✅ 文件检查
必需文件
create_sqlite_db.py- 数据库初始化脚本init-db-sqlite.sql- SQLite 建表脚本start_all.bat- Windows 启动脚本stop_all.bat- Windows 停止脚本backend/.env.local- 后端环境配置frontend/.env- 前端环境配置LOCAL_SETUP.md- 本地配置文档CHECKLIST.md- 本检查清单
依赖文件
backend/requirements.txt- 包含 aiosqlitefrontend/requirements.txt- Flask 依赖
✅ 代码修改
backend/shared/config.py
- 默认数据库改为 SQLite
- Redis 设置为可选
- 添加
USE_REDIS配置项
backend/auth_service/app/utils/security.py
- Refresh Token 支持内存存储
- Redis 连接失败时降级到内存
- 添加过期 token 清理逻辑
backend/task_scheduler/app/tasks/signin_tasks.py
- 分布式锁支持内存模式
- Redis 不可用时使用内存锁
backend/requirements.txt
- 添加
aiosqlite==0.19.0
✅ 启动流程
自动启动(推荐)
start_all.bat
手动启动步骤
- 创建数据库:
python create_sqlite_db.py - 安装后端依赖:
cd backend && pip install -r requirements.txt - 安装前端依赖:
cd frontend && pip install -r requirements.txt - 启动 Auth Service (端口 8001)
- 启动 API Service (端口 8000)
- 启动 Frontend (端口 5000)
✅ 功能验证
测试账号
用户名: admin
邮箱: admin@example.com
密码: Admin123!
基础功能
- 访问前端页面 http://localhost:5000
- 使用测试账号登录
- Token 刷新功能
- 添加微博账号
- 查看账号列表
- 编辑账号信息
- 删除账号
- 创建签到任务
- 查看签到日志
- 用户注册功能(创建新用户)
API 文档
- Auth Service API 文档: http://localhost:8001/docs
- API Service API 文档: http://localhost:8000/docs
⚠️ 已知限制
本地开发模式
- ✅ 不需要 Redis(使用内存存储)
- ✅ 不需要 MySQL(使用 SQLite)
- ⚠️ Task Scheduler 和 Signin Executor 需要 Celery(本地测试可跳过)
- ⚠️ 内存存储在服务重启后会丢失 Refresh Token
生产环境要求
- ❌ 必须使用 Redis(分布式环境)
- ❌ 建议使用 MySQL(性能和并发)
- ❌ 必须配置 Celery(任务调度)
- ❌ 必须修改所有默认密钥
🔧 故障排查
问题:找不到模块
解决方案: 设置 PYTHONPATH
set PYTHONPATH=%CD%
问题:端口被占用
解决方案:
- 检查端口占用:
netstat -ano | findstr :8000 - 关闭占用进程或修改端口配置
问题:数据库文件损坏
解决方案:
- 删除
weibo_hotsign.db - 重新运行
python create_sqlite_db.py
问题:Redis 警告
解决方案:
- 本地开发可以忽略,系统会自动使用内存存储
- 如需完整功能,安装并启动 Redis
📝 开发注意事项
- 虚拟环境: 每个服务使用独立的虚拟环境
- 热重载: 开发模式下代码修改会自动重启
- 日志查看: 每个服务有独立的命令行窗口显示日志
- 数据持久化: SQLite 数据库文件在项目根目录
- Session 存储: Flask Session 使用文件系统存储
✨ 下一步
- 测试所有功能
- 添加测试数据
- 配置 Celery(如需任务调度)
- 部署到生产环境
最后更新: 2024 维护者: Weibo-HotSign Team