Files
wechat_backend/requirements.txt
王宏豪 faa114503f feat(api): 修改oss
- 替换开发环境API基础URL为本地服务地址
- 实现签名URL本地缓存机制,解决微信按URL缓存图片导致重复下载问题
- 添加缓存清理功能,包括过期清理和按需删除特定缓存项
- 集成阿里云OSS上传功能,支持直传减少服务器带宽占用
- 优化头像地址处理逻辑,统一使用签名缓存避免地址频繁变化
- 移除过时的OSS上传示例文件oss-upload.js
- 更新课程页面实现跳转第三方小程序功能
- 调整打卡记录图片地址获取方式,统一使用新的签名缓存逻辑
- 优化图片上传流程,增加压缩处理和批量上传支持
- 完善认证模块中的缓存清理逻辑,切换账号时清除相关图片缓存
- 添加后端环境变量配置模板和代理文档说明
2026-10-10 10:27:00 +08:00

31 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 直接依赖。全部是「>= 下限」约束 —— 注意服务器跑在 **Python 3.9**,
# pip 会自动退到「声明支持 3.9 的最高版本」:fastapi / uvicorn / python-multipart / pytest
# 的最新版都已要求 >=3.10,所以服务器上装到的会比开发机旧一档(这是 pip 的正常行为,不是错误)。
fastapi>=0.110
# 代码里有 8 个文件直接 `from pydantic import BaseModel`。
# 它本来是 fastapi 的传递依赖(装了 fastapi 就会有),所以一直没写进来;
# 2026-10-09 补上 —— 「直接 import 的就要直接声明」,否则 fastapi 哪天换掉它就会静默炸。
# 下限定 2.0:现有各环境实测都是 2.x,且 fastapi>=0.110 接受 <3。
pydantic>=2.0
uvicorn[standard]>=0.29
pymysql>=1.1
# ⚠️ Python 3.9 上 pytest / python-multipart 也会退版本,属正常。
# ⚠️ PyJWT:2026-10-09 全仓库扫描确认**没有任何地方 `import jwt`** ——
# 鉴权走的是 `auth_sessions` 里的 64 位 hex token,`config.JWT_*` 只是历史命名。
# 但 `python-multipart` 不一样:虽然我们也不 import 它,FastAPI 处理
# `File(...)` / `Form(...)` 时**运行时需要它**,删了上传接口就 500,必须留着。
PyJWT>=2.8
httpx>=0.27
python-multipart>=0.0.9
pytest>=8.0
DBUtils>=3.0
# 2026-10-09 补记:`config.py` 一直在用 `from dotenv import load_dotenv`,
# 但这份清单里从来没有它 —— 服务器上是手工装的,没有记录。
# 换机器 / 重建 venv 时就会 ImportError,所以必须写进来。
python-dotenv>=1.0
# 打卡附件 / 头像写 OSS(2026-09-22 新增)。
# 纯 Python 包,但 PyPI 上只有 sdist(没有 wheel)→ 会走源码安装,不需要编译器。
# 它依赖的 `crcmod` 是 C 扩展,好在 setup.py **编译失败时会退回纯 Python 实现**,
# 所以没有编译器的机器也能装上(只是 CRC 校验慢一点)。
oss2>=2.17