lty/qy_lty/readme.md
2026-03-17 13:17:02 +08:00

243 lines
4.2 KiB
Markdown
Raw 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.

# QY LTY Backend
This is the backend service for QY LTY project.
## Development Setup
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Copy environment file:
```bash
cp .env.bak .env
```
3. Start development server:
```bash
daphne -b 0.0.0.0 -p 8000 qy_lty.asgi:application
```
## Docker Deployment
1. Build and start the container:
```bash
docker-compose up -d --build
```
2. Access the application at: http://localhost:12012
## 功能特性
- 用户管理系统
- 用户名密码注册登录
- 手机号验证码登录
- 用户信息管理
- AI 对话系统
- 单轮对话功能
- 多轮上下文对话
- 语音对话支持
- 卡片管理系统
- 卡片类别管理
- 卡片生命周期管理
- 批次生成与导出
- 扫描和使用功能
- 设备交互系统
- WebSocket 实时通信
- 多种消息类型支持
- 天气查询功能
## API 文档
项目的 API 文档使用 Swagger UI 生成,按以下模块组织:
### 用户模块 (/api/user/)
- 用户注册
- 用户登录(用户名密码/手机验证码)
- 用户信息管理
### AI 对话模块 (/api/ai/)
- 单轮对话 (/chat/{bot_id}/)
- 多轮对话 (/multichat/)
- 支持文本和语音输入输出
### 卡片模块 (/api/card/)
- 卡片类别管理
- 卡片批次管理
- 卡片扫描和使用
### 设备交互模块 (/api/device/)
- 消息发送
- 天气查询
- 实时通信
## 开发环境配置
1. 安装依赖:
```bash
pip install -r requirements.txt
```
2. 配置环境变量:
创建 `.env` 文件并设置必要的环境变量:
```
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=your-database-url
REDIS_URL=your-redis-url
```
3. 数据库迁移:
```bash
python manage.py migrate
```
4. 运行开发服务器:
```bash
python manage.py runserver
```
## API 文档访问
- Swagger UI: `/swagger/`
- ReDoc: `/redoc/`
## WebSocket 连接
WebSocket 连接地址:`ws://domain/api/device/messages/{user_id}/`
### 消息格式
```json
{
"type": "消息类型",
"message": "消息内容",
"user_id": "用户ID"
}
```
### 支持的消息类型
- chat_message: 文本消息
- weather: 天气消息
- sing: 唱歌消息
- dance: 跳舞消息
## 部署说明
1. 设置生产环境变量
2. 收集静态文件:`python manage.py collectstatic`
3. 使用 gunicorn 或 uwsgi 作为生产服务器
4. 配置 nginx 作为反向代理
## 安全说明
- API 认证使用 Token 认证
- 文件上传有大小限制
- 敏感操作需要管理员权限
- 用户密码使用 bcrypt 加密存储
## 贡献指南
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 发起 Pull Request
## 许可证
本项目采用 MIT 许可证
## 项目启动无anaconda
```
# python3.9
pip install -r requirements.txt
# 启动ASGI服务器支持WebSocket
./run.sh
# 或者直接使用daphne命令
daphne -b 0.0.0.0 -p 8000 fengye_website_backend.asgi:application
```
## 项目启动有anaconda
```
conda env create -f environment.yml
conda activate fengye
# 启动ASGI服务器支持WebSocket
./run.sh
# 或者直接使用daphne命令
daphne -b 0.0.0.0 -p 8000 fengye_website_backend.asgi:application
```
## 注意事项
1. 启动前请确保Redis服务已启动因为WebSocket功能依赖Redis作为后端
2. 确保.env文件中的环境变量已正确配置
3. 如果使用run.sh脚本请确保有执行权限
```bash
chmod +x run.sh
```
## 项目依赖
```
django
djangorestframework
mysqlclient
django-redis
django-allauth
django-simpleui
django-phone-verify
requests
cryptography
aliyun-python-sdk-core
aliyun-python-sdk-dysmsapi
dj_rest_auth
python-decouple
openai
drf-yasg
# ali-vi
alibabacloud_facebody20191230
alibabacloud_tea_console
alibabacloud_tea_util
alibabacloud_tea_openapi
# PostgreSQL 适配驱动
psycopg2
django-debug-toolbar
# rosetta po翻译 路径 /rosetta/
django-rosetta
```
## i18n
django-admin makemessages -l en
django-admin makemessages -l zh_HAns
django-admin compilemessages
apscheduler
django-cors-headers
## 文档
+ 项目对接了swagger进行文档管理
+ swagger访问地址 http://localhost:8000/swagger/
## 管理员
admin123
111111
# workflow应用设计
+ 多租户
+ 计费套餐
+ 工作流管理
+ 放到
工作流
-