feat(backend): T1.1 认证与权限 — 注册/登录/刷新/获取用户

- 后端:auth 路由(register/login/refresh/me)+ JWT + bcrypt 密码哈希
- 依赖注入:get_current_user + require_role 角色权限校验
- 跨数据库兼容:JSONBType(PG 用 JSONB,SQLite 用 JSON)
- 测试:11 个认证测试 + 4 个健康检查测试 = 15 passed
This commit is contained in:
selfrelease
2026-07-18 21:54:06 +08:00
parent 51feae55ba
commit 2be0778ec7
13 changed files with 568 additions and 15 deletions
+63
View File
@@ -0,0 +1,63 @@
# 项目进度记录
> 最后更新:2026-07-18
## Phase 0:项目骨架 ✅ 完成
### 已完成清单
| 任务 | 状态 | 验证结果 |
|---|---|---|
| T0.1 项目目录结构 | ✅ | `.gitignore` + `.env.example` + 目录树 |
| T0.2 后端项目初始化 | ✅ | `pytest test_health.py` → 4 passed |
| T0.3 前端项目初始化 | ✅ | `pnpm build` → 8 路由构建成功 |
| T0.4 Docker Compose | ✅ | docker-compose.yml + DockerfileDocker Hub 网络受限,使用本地 PostgreSQL |
| T0.5 数据库迁移基座 | ✅ | `alembic upgrade head` → 7 张核心表创建成功 |
### 技术栈实际版本
- **后端**Python 3.12.10 + FastAPI 0.139.2 + SQLAlchemy 2.0.51 + Alembic 1.18.5
- **前端**Next.js 16.2.10 + React 19.2.4 + TailwindCSS 4.3.3 + TypeScript 5.9.3
- **数据库**PostgreSQL 15.13(本地 Postgres.app,非 Docker
- **包管理**pip + venv(后端,uv 安装受阻) / pnpm 10.33.2(前端)
### 网络问题记录
- Google Fonts、Docker Hub、PyPI 均有 SSL 连接问题
- **解决方案**:PyPI 用清华镜像源;前端用系统字体替代 Google Fonts;数据库用本地 Postgres.app
### 核心表结构
1. `tenants` — 租户(投资机构)
2. `users` — 用户(多角色)
3. `companies` — 被投企业
4. `monthly_reports` — 月报
5. `health_scores` — 健康度评分
6. `risk_events` — 风险事件
7. `audit_logs` — 审计日志
### 前端路由
- `/` → 重定向到 `/dashboard`
- `/dashboard` → 投资人端驾驶舱(B 端,左 Sidebar)
- `/founder` → 创始人端概览(C 端,顶部 Header + 底部导航)
- `/founder/reports` → 月报
- `/founder/copilot` → AI 副驾驶
- `/admin` → 管理后台(Admin 端,slate-950 Header
- `/login` → 登录页
---
## Phase 1MVP 核心功能 — 待开始
### 优先级排序
1. **T1.1 认证与权限** — 登录/注册/JWT/角色控制
2. **T1.2 企业档案 CRUD** — 被投企业列表/详情/编辑
3. **T1.3 月报管理** — 提交/查看/AI 解析
4. **T1.4 健康度仪表盘** — 投资人端驾驶舱首页
5. **T1.5 风险工作台** — 风险列表/详情/处理
### 下一步行动
→ 开始 T1.1:认证与权限(后端 auth 路由 + 前端登录页对接)