🧭 后端开发路线
✅ 阶段 1:基础搭建与身份认证模块
目标:建立项目结构、数据库、JWT认证机制
✅ 工作项:
项目结构搭建
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18backend/
├── main.py # FastAPI 启动入口
├── api/ # 路由模块
│ ├── auth.py
│ └── user.py
├── models/ # 数据模型
│ └── user.py
├── db/ # 数据库操作
│ ├── database.py
│ └── crud_user.py
├── core/ # 核心配置
│ ├── config.py
│ └── security.py
├── schemas/ # Pydantic数据结构
│ ├── user.py
│ └── token.py
└── utils/ # 实用函数
└── encryption.py数据库
- 使用 SQLite + SQLAlchemy 创建
User
表 - 密码使用 bcrypt 加密
- 使用 SQLite + SQLAlchemy 创建
认证模块
- 注册
/auth/register
- 登录
/auth/login
,返回 JWT - 获取当前用户
/user/me
- 注册
配置
- 使用
.env
存储密钥和数据库路径 - JWT 配置(
SECRET_KEY
,ALGORITHM
,ACCESS_TOKEN_EXPIRE_MINUTES
)
- 使用
✅ 阶段 2:论文结构与存储模块
目标:实现论文结构的保存与管理接口(包括章节、标题、内容)
✅ 工作项:
定义模型
Paper
,Section
,UserTemplate
- 论文结构嵌套(标题+内容)
接口设计
路由 方法 说明 /paper/
GET 获取用户所有论文 /paper/{id}
GET 获取指定论文内容 /paper/
POST 创建新论文 /paper/{id}
PUT 修改论文结构或内容 /paper/{id}
DELETE 删除论文 前端配合格式
- 每篇论文包含章节(带排序字段)
- 每个章节保存 Markdown 格式内容
✅ 阶段 3:AI内容生成模块
目标:接入 AI 接口,实现根据请求生成内容的能力
✅ 工作项:
- 定义接口
- POST
/ai/generate
- 输入:prompt、当前章节上下文
- 输出:Markdown文本
- POST
- AI 接入
- 接 OpenAI GPT API 或本地模型接口
- 可加入角色设定(如论文助手、润色专家)
- AI内容与结构整合
- 支持 AI 输出自动添加为新章节或合并到当前章节
✅ 阶段 4:LaTeX 模板与 PDF 生成模块
目标:支持选择模板并生成 LaTeX + PDF
✅ 工作项:
模板文件结构
1
2
3
4
5
6templates/
├── default/
│ ├── main.tex
│ └── style.sty
└── ieee/
└── ...模板管理接口
路由 方法 说明 /template/list
GET 获取模板列表 /template/upload
POST 上传模板(zip) /template/set
POST 设置论文模板 LaTeX渲染与PDF生成
- 使用
Jinja2
渲染.tex
模板 - 编译命令行调用
pdflatex
或xelatex
- 输出 PDF 到
media/
目录 - 返回 Base64 或下载链接
- 使用
✅ 阶段 5:安全通信与加密模块
目标:实现数据加密(选配)
✅ 工作项:
- JWT认证
- 全部受保护接口使用
Depends(get_current_user)
- 全部受保护接口使用
- AES 数据加密(可选)
- 使用
pycryptodome
- 加密内容如论文正文(可选加密内容块)
- 使用
✅ 阶段 6:接口联调与部署
目标:完成接口测试,准备上线部署
✅ 工作项:
- 接口调试(Postman)
- 全流程测试论文编辑 → 生成PDF
- 启动脚本与跨域支持
- CORS中间件配置
- 加入
gunicorn
,uvicorn
,supervisor
- 部署建议
- FastAPI + Uvicorn
- SQLite可换为 PostgreSQL(如需扩展)
- 前后端分离部署,Nginx 反向代理
🚀 附加建议
阶段 | 可选扩展功能 |
---|---|
1 | 邮箱验证、找回密码 |
2 | 章节评论、版本管理 |
3 | AI润色 / AI纠错功能 |
4 | 支持 BibTeX 引文 / 参考文献管理 |
6 | Docker 容器化部署 |