53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
"""
|
||
Cookie监控管理系统 - 后台服务
|
||
"""
|
||
from flask import Flask, jsonify
|
||
from flask_cors import CORS
|
||
import os
|
||
|
||
# 导入配置和数据库
|
||
from config.settings import Config
|
||
from models.database import db
|
||
from routes.users import user_bp
|
||
from routes.websites import website_bp
|
||
from routes.cookies import cookie_bp
|
||
from routes.detections import detection_bp
|
||
from routes.notifications import notification_bp
|
||
from routes.admin import admin_bp
|
||
|
||
|
||
def create_app(config_class=Config):
|
||
"""创建Flask应用"""
|
||
app = Flask(__name__)
|
||
app.config.from_object(config_class)
|
||
|
||
# 配置CORS(允许session cookie)
|
||
CORS(app, supports_credentials=True)
|
||
|
||
# 初始化数据库
|
||
db.init_app(app)
|
||
|
||
# 注册蓝图
|
||
app.register_blueprint(admin_bp)
|
||
app.register_blueprint(user_bp, url_prefix='/api/users')
|
||
app.register_blueprint(website_bp, url_prefix='/api/websites')
|
||
app.register_blueprint(cookie_bp, url_prefix='/api/cookies')
|
||
app.register_blueprint(detection_bp, url_prefix='/api/detections')
|
||
app.register_blueprint(notification_bp, url_prefix='/api/notifications')
|
||
|
||
# 健康检查接口
|
||
@app.route('/api/health', methods=['GET'])
|
||
def health_check():
|
||
return jsonify({'status': 'ok', 'message': '服务运行中'})
|
||
|
||
# 创建数据库表
|
||
with app.app_context():
|
||
db.create_all()
|
||
|
||
return app
|
||
|
||
|
||
if __name__ == '__main__':
|
||
app = create_app()
|
||
app.run(host='0.0.0.0', port=5000, debug=True)
|