# 聚德AI短视频脚本撰写系统 一个基于Flask的AI短视频脚本撰写平台,支持钉钉OAuth登录认证。 ## 功能特性 - 🔐 **钉钉OAuth认证** - 企业级安全登录 - 🤖 **AI脚本生成** - 基于阿里云百炼API - 💬 **智能对话** - 支持多轮对话和上下文记忆 - 📱 **响应式设计** - 现代化UI界面 - 🔒 **JWT认证** - 安全的API访问控制 ## 系统架构 ``` jude-AIwriting/ ├── app.py # Flask主应用 ├── auth_middleware.py # JWT认证中间件 ├── auth_routes.py # 认证相关路由 ├── config.py # 配置管理 ├── utils.py # 工具函数 ├── requirements.txt # Python依赖 ├── static/ # 静态资源 │ ├── css/ # 样式文件 │ ├── js/ # JavaScript文件 │ └── fonts/ # 字体文件 └── templates/ # HTML模板 ├── index.html # 主页面 └── login.html # 登录页面 ``` ## 核心组件 ### 1. 认证系统 (`auth_routes.py`) - 钉钉OAuth登录流程 - JWT token生成和验证 - 用户信息管理 ### 2. 认证中间件 (`auth_middleware.py`) - 登录状态检查 - API访问控制 - Token验证 ### 3. 主应用 (`app.py`) - Flask应用配置 - Session管理 - 路由注册 ## 安装和配置 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 环境变量配置 创建 `.env` 文件: ```env # 钉钉应用配置 DINGTALK_CLIENT_ID=your_client_id DINGTALK_CLIENT_SECRET=your_client_secret DINGTALK_REDIRECT_URI=http://localhost:8000/api/auth/dingtalk/callback # 阿里云API配置 API_KEY=your_api_key APP_ID=your_app_id API_ENDPOINT=https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation # 应用配置 SECRET_KEY=your_secret_key PORT=8000 FLASK_DEBUG=false ``` ### 3. 启动应用 ```bash python app.py ``` ## 使用流程 1. **访问应用** - 浏览器访问 `http://localhost:8000` 2. **钉钉登录** - 点击钉钉登录按钮,完成OAuth认证 3. **开始对话** - 输入需求,AI生成短视频脚本 4. **管理会话** - 支持重置对话、查看历史等 ## 代码优化说明 ### 已完成的优化 - ✅ 去除冗余的日志输出 - ✅ 简化用户信息解析逻辑 - ✅ 合并重复的认证代码 - ✅ 移除不必要的sessionStorage备份 - ✅ 简化前端JavaScript代码 - ✅ 优化Flask配置 ### 核心特性保留 - 🔒 完整的钉钉OAuth认证流程 - 🔐 JWT token安全机制 - 👤 用户信息显示和管理 - 💬 AI对话功能 - 🎨 现代化UI界面 ## 技术栈 - **后端**: Flask + Python 3.8+ - **认证**: JWT + 钉钉OAuth - **前端**: HTML5 + CSS3 + JavaScript - **API**: 阿里云百炼 - **数据库**: 内存存储(可扩展为Redis/MySQL) ## 安全特性 - JWT token过期机制(7天) - 钉钉企业级认证 - API访问频率限制 - 输入内容验证和清理 ## 开发说明 ### 代码结构 - 模块化设计,职责分离 - 统一的错误处理 - 清晰的日志记录 - 类型提示支持 ### 扩展建议 - 添加Redis缓存支持 - 集成数据库存储 - 增加更多AI模型支持 - 添加用户权限管理 ## 许可证 MIT License