from flask import Flask, render_template from flask_cors import CORS from sqlalchemy import create_engine from backend.models.models import Base from backend.api.projects import projects_bp from backend.api.timerecords import timerecords_bp from backend.api.statistics import statistics_bp import os def create_app(): app = Flask(__name__, template_folder='../templates', static_folder='../static') # 启用CORS支持 CORS(app) # 确保数据目录存在 os.makedirs('data', exist_ok=True) # 创建数据库表 engine = create_engine('sqlite:///data/timetrack.db') Base.metadata.create_all(engine) # 注册蓝图 app.register_blueprint(projects_bp) app.register_blueprint(timerecords_bp) app.register_blueprint(statistics_bp) # 主页路由 @app.route('/') def index(): return render_template('index.html') @app.route('/projects') def projects(): return render_template('projects.html') @app.route('/timerecords') def timerecords(): return render_template('timerecords.html') @app.route('/statistics') def statistics(): return render_template('statistics.html') return app if __name__ == '__main__': app = create_app() app.run(debug=True, host='0.0.0.0', port=5000)