这是一个基于 Vue3 + Flask + SQLite 开发的弹幕展示系统,支持弹幕的发送、展示、点击互动。
- 弹幕自动循环展示
- 支持用户自定义输入弹幕
- 点击弹幕可触发礼花动画
- 动态样式与轨迹生成
- 与后端进行实时交互(获取与提交)
- 弹幕数据接口(GET 获取、POST 添加、DELETE 删除)
- 使用 SQLite 作为数据库
- 支持跨域访问(通过 CORS)
- 通过 Nginx 反向代理部署,支持 API 前缀
/graduation2025/api/
project-root/
│
├── frontend/ # 前端项目目录(Vue3)
│ ├── App.vue
│ ├── main.js
│ └── ...
│
├── backend/ # 后端项目目录(Flask)
│ ├── app.py # 主 Flask 程序
│ └── danmu.db # SQLite 数据库
│
├── assets/ # README.md图片
│
└── README.md # 项目说明
cd backend
pip install flask flask_sqlalchemy flask_cors
python app.py
cd frontend
npm install
npm run dev
location /graduation2025/api/ {
proxy_pass http://127.0.0.1:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
因为 nginx
默认转发采取的是 GET
方法,我并未找到可用的解决方法,所以全都使用了 GET
方法。
GET /graduation2025/api/danmus
返回格式:
{
"list": [
{"id": 1, "text": "hello"},
{"id": 2, "text": "world"}
]
}
GET /graduation2025/api/danmus
请求体:
{
"text": "这是一条弹幕"
}
返回:
{"status": "success"}
GET /graduation2025/api/danmus/<id>
本项目使用 MIT 许可证,欢迎自由使用与修改。