v2.1: 新增通知提醒功能和安全增强

功能:
- 通知提醒系统: 还款日提醒、逾期提醒、系统消息横幅、登录时通知
- 通知中心UI: 铃铛图标 + 下拉列表 + 未读徽章
- 定时任务: APScheduler 每小时检查即将到期的还款
- 邮件通知: SMTP 发送还款提醒和安全警告
- 异常登录通知: 3/5/10次失败触发网页和邮件通知

安全:
- 登录安全告警: 异常登录次数达到阈值时发送通知
- 密码重置链接: 一次性使用, 5分钟有效期
- 登录频率限制: IP级和账户级限制

技术:
- 后端: FastAPI + SQLAlchemy + PostgreSQL
- 前端: 纯 HTML/CSS/JS
- 部署: Docker Compose (新增 build 配置)
This commit is contained in:
OP
2026-06-28 18:06:56 +08:00
commit ffca168dbe
41 changed files with 4834 additions and 0 deletions

76
DEPLOY.md Normal file
View File

@@ -0,0 +1,76 @@
# 债务管理系统 - 部署指南
## 环境要求
- Docker 20.10+
- Docker Compose 2.0+
- 至少 1GB 可用内存
## 快速部署
```bash
# 1. 解压项目
tar -xzf debt-manager.tar.gz
cd debt-manager
# 2. 启动所有服务
docker compose up -d
# 3. 等待启动完成约30秒
docker compose ps
# 4. 访问系统
# 前台: http://localhost:806
# 后台: http://localhost:806/admin.html
# API文档: http://localhost:8000/docs
```
## 默认账户
| 账号 | 密码 | 角色 |
|------|------|------|
| admin | admin123 | 管理员 |
| test | test123 | 用户 |
## 端口说明
| 服务 | 端口 | 说明 |
|------|------|------|
| 前端 | 806 | 用户界面 |
| 后端 | 8000 | API接口 |
| 数据库 | 54326 | PostgreSQL |
如需修改端口,编辑 `docker-compose.yml` 中的 ports 映射。
## 数据备份
```bash
# 备份数据库
docker compose exec db pg_dump -U postgres debt_manager > backup.sql
# 恢复数据库
docker compose exec -T db psql -U postgres debt_manager < backup.sql
```
## 停止/重启
```bash
# 停止
docker compose down
# 重启
docker compose restart
# 重建(代码更新后)
docker compose up -d --build
```
## 常见问题
**Q: 启动后前端打不开?**
A: 等待30秒让后端启动完成然后刷新页面。
**Q: 新用户注册后看不到?**
A: 管理员需先登录前台,再访问后台管理页面审批。
**Q: 如何修改管理员密码?**
A: 登录前台 → 右上角"修改密码"。