""" 主路由 """ import logging from datetime import datetime from flask import render_template, jsonify, request from app.camera_manager import CameraManager logger = logging.getLogger(__name__) # 创建摄像头管理器实例(全局) camera_manager = CameraManager() def register_main_routes(app): """注册主路由到Flask应用""" @app.route('/') def index(): """主页面 - 显示6个摄像头的网格布局""" cameras = camera_manager.get_all_cameras() return render_template('index.html', cameras=cameras, current_time=datetime.now().strftime('%Y-%m-%d %H:%M:%S')) @app.route('/api/cameras') def get_cameras(): """获取摄像头列表API""" cameras = camera_manager.get_all_cameras() return jsonify(cameras) @app.route('/api/refresh/', methods=['POST']) def refresh_camera(camera_id): """刷新指定摄像头""" success = camera_manager.refresh_camera(camera_id) return jsonify({'success': success, 'camera_id': camera_id}) @app.route('/api/switch', methods=['POST']) def switch_camera(): """切换摄像头编号""" data = request.get_json() camera_id = data.get('camera_id') camera_number = data.get('camera_number', 'mixed') try: url = camera_manager.get_camera_url(camera_id, camera_number) return jsonify({'success': True, 'url': url}) except Exception as e: return jsonify({'success': False, 'error': str(e)}), 400