init
This commit is contained in:
95
start.py
Normal file
95
start.py
Normal file
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
工作任务管理系统启动脚本
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import webbrowser
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
def check_python_version():
|
||||
"""检查Python版本"""
|
||||
if sys.version_info < (3, 7):
|
||||
print("错误: 需要Python 3.7或更高版本")
|
||||
sys.exit(1)
|
||||
|
||||
def install_dependencies():
|
||||
"""安装依赖"""
|
||||
print("正在安装Python依赖...")
|
||||
try:
|
||||
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "backend/requirements.txt"])
|
||||
print("✓ Python依赖安装完成")
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"错误: 安装依赖失败 - {e}")
|
||||
sys.exit(1)
|
||||
|
||||
def create_env_file():
|
||||
"""创建环境变量文件"""
|
||||
env_file = Path("backend/.env")
|
||||
if not env_file.exists():
|
||||
print("创建环境变量文件...")
|
||||
with open(env_file, "w", encoding="utf-8") as f:
|
||||
f.write("""# OpenAI API配置(可选,用于AI润色功能)
|
||||
OPENAI_API_KEY=your_openai_api_key_here
|
||||
|
||||
# 数据库配置
|
||||
DATABASE_URL=sqlite:///worklist.db
|
||||
|
||||
# Flask配置
|
||||
SECRET_KEY=your-secret-key-here
|
||||
""")
|
||||
print("✓ 环境变量文件已创建: backend/.env")
|
||||
print("提示: 如需使用AI润色功能,请在.env文件中设置OPENAI_API_KEY")
|
||||
|
||||
def start_server():
|
||||
"""启动服务器"""
|
||||
print("正在启动服务器...")
|
||||
os.chdir("backend")
|
||||
try:
|
||||
# 启动Flask应用
|
||||
subprocess.run([sys.executable, "app.py"])
|
||||
except KeyboardInterrupt:
|
||||
print("\n服务器已停止")
|
||||
except Exception as e:
|
||||
print(f"错误: 启动服务器失败 - {e}")
|
||||
sys.exit(1)
|
||||
|
||||
def main():
|
||||
"""主函数"""
|
||||
print("=" * 50)
|
||||
print("工作任务管理系统")
|
||||
print("=" * 50)
|
||||
|
||||
# 检查Python版本
|
||||
check_python_version()
|
||||
|
||||
# 安装依赖
|
||||
install_dependencies()
|
||||
|
||||
# 创建环境变量文件
|
||||
create_env_file()
|
||||
|
||||
print("\n启动说明:")
|
||||
print("1. 服务器启动后,请在浏览器中访问: http://localhost:5000")
|
||||
print("2. 按 Ctrl+C 停止服务器")
|
||||
print("3. 如需使用AI润色功能,请配置OpenAI API密钥")
|
||||
print("\n正在启动服务器...")
|
||||
|
||||
# 延迟2秒后自动打开浏览器
|
||||
def open_browser():
|
||||
time.sleep(2)
|
||||
webbrowser.open("http://localhost:5000")
|
||||
|
||||
import threading
|
||||
browser_thread = threading.Thread(target=open_browser)
|
||||
browser_thread.daemon = True
|
||||
browser_thread.start()
|
||||
|
||||
# 启动服务器
|
||||
start_server()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user