flask_api.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from flask import Flask
  2. from flask_cors import CORS
  3. import os
  4. from application.kodi_alive_thread import start_kodi_alive_check
  5. from application.kodi_free_time_thread import start_kodi_free_time_play
  6. from utils.logger_config import logger
  7. # 导入所有蓝图
  8. from api.auth import auth_bp
  9. from api.main import main_bp
  10. from api.led import led_bp
  11. from api.kodi import kodi_bp
  12. from api.mitv import mitv_bp
  13. from api.ha import ha_bp
  14. from api.door import door_bp
  15. from api.utils import UPLOAD_FOLDER
  16. app = Flask(__name__)
  17. app.secret_key = 'your_secret_key_here_hnhz_0821' # 用于 session 加密,请更改为随机字符串
  18. CORS(app) # 允许跨域请求
  19. # 配置上传文件夹
  20. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
  21. app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 限制上传文件大小为16MB
  22. # 确保上传文件夹存在
  23. if not os.path.exists(UPLOAD_FOLDER):
  24. os.makedirs(UPLOAD_FOLDER)
  25. # 注册蓝图
  26. app.register_blueprint(auth_bp)
  27. app.register_blueprint(main_bp)
  28. app.register_blueprint(led_bp)
  29. app.register_blueprint(kodi_bp)
  30. app.register_blueprint(mitv_bp)
  31. app.register_blueprint(ha_bp)
  32. app.register_blueprint(door_bp)
  33. if __name__ == '__main__':
  34. # 创建templates目录
  35. if not os.path.exists('templates'):
  36. os.makedirs('templates')
  37. logger.info("启动Kodi心跳检测")
  38. start_kodi_alive_check()
  39. logger.info("启动Kodi空闲时间播放")
  40. start_kodi_free_time_play()
  41. logger.info("Flask API服务器启动中...")
  42. logger.info("访问 http://localhost:5050 查看HTML页面")
  43. logger.info("API端点已通过蓝图注册")
  44. app.run(debug=True, host='0.0.0.0', port=5050)