278 lines
5.9 KiB
JSON
278 lines
5.9 KiB
JSON
{
|
|
"app": {
|
|
"name": "身体平衡评估系统",
|
|
"version": "1.0.0",
|
|
"description": "基于多传感器融合技术的专业平衡能力评估与分析系统",
|
|
"author": "身体平衡评估系统开发团队",
|
|
"language": "zh-CN",
|
|
"theme": "light",
|
|
"auto_start": false,
|
|
"auto_update": true,
|
|
"window": {
|
|
"width": 1200,
|
|
"height": 800,
|
|
"min_width": 1000,
|
|
"min_height": 600,
|
|
"resizable": true,
|
|
"center": true,
|
|
"show": true,
|
|
"frame": true,
|
|
"transparent": false,
|
|
"always_on_top": false
|
|
}
|
|
},
|
|
"server": {
|
|
"host": "0.0.0.0",
|
|
"port": 5000,
|
|
"debug": false,
|
|
"cors": {
|
|
"enabled": true,
|
|
"origins": ["http://localhost:5173", "http://127.0.0.1:5173"]
|
|
},
|
|
"ssl": {
|
|
"enabled": false,
|
|
"cert_file": "",
|
|
"key_file": ""
|
|
},
|
|
"rate_limit": {
|
|
"enabled": true,
|
|
"requests_per_minute": 100
|
|
}
|
|
},
|
|
"database": {
|
|
"type": "sqlite",
|
|
"path": "data/database.db",
|
|
"backup": {
|
|
"enabled": true,
|
|
"interval_hours": 24,
|
|
"max_backups": 7
|
|
},
|
|
"connection": {
|
|
"timeout": 30,
|
|
"pool_size": 10
|
|
}
|
|
},
|
|
"devices": {
|
|
"camera": {
|
|
"enabled": true,
|
|
"device_id": 0,
|
|
"resolution": {
|
|
"width": 1280,
|
|
"height": 720
|
|
},
|
|
"fps": 30,
|
|
"format": "MJPG",
|
|
"auto_exposure": true,
|
|
"brightness": 0,
|
|
"contrast": 0,
|
|
"saturation": 0,
|
|
"calibration": {
|
|
"enabled": false,
|
|
"matrix": null,
|
|
"distortion": null
|
|
}
|
|
},
|
|
"imu": {
|
|
"enabled": true,
|
|
"port": "COM3",
|
|
"baudrate": 115200,
|
|
"timeout": 1.0,
|
|
"sample_rate": 100,
|
|
"range": {
|
|
"accelerometer": 16,
|
|
"gyroscope": 2000,
|
|
"magnetometer": 4800
|
|
},
|
|
"calibration": {
|
|
"enabled": false,
|
|
"offset": {
|
|
"accel": [0, 0, 0],
|
|
"gyro": [0, 0, 0],
|
|
"mag": [0, 0, 0]
|
|
},
|
|
"scale": {
|
|
"accel": [1, 1, 1],
|
|
"gyro": [1, 1, 1],
|
|
"mag": [1, 1, 1]
|
|
}
|
|
}
|
|
},
|
|
"pressure": {
|
|
"enabled": true,
|
|
"port": "COM4",
|
|
"baudrate": 9600,
|
|
"timeout": 1.0,
|
|
"sample_rate": 50,
|
|
"sensors": 4,
|
|
"range": {
|
|
"min": 0,
|
|
"max": 1000
|
|
},
|
|
"calibration": {
|
|
"enabled": false,
|
|
"zero_offset": [0, 0, 0, 0],
|
|
"scale_factor": [1, 1, 1, 1]
|
|
}
|
|
}
|
|
},
|
|
"detection": {
|
|
"default_duration": 60,
|
|
"min_duration": 10,
|
|
"max_duration": 300,
|
|
"sample_rate": 30,
|
|
"recording": {
|
|
"enabled": true,
|
|
"format": "mp4",
|
|
"quality": "medium",
|
|
"fps": 30
|
|
},
|
|
"analysis": {
|
|
"real_time": true,
|
|
"pose_detection": {
|
|
"enabled": true,
|
|
"model": "mediapipe",
|
|
"confidence": 0.5,
|
|
"tracking": true
|
|
},
|
|
"balance_metrics": {
|
|
"cop_analysis": true,
|
|
"sway_analysis": true,
|
|
"stability_index": true,
|
|
"frequency_analysis": true
|
|
},
|
|
"filters": {
|
|
"low_pass": {
|
|
"enabled": true,
|
|
"cutoff": 10.0
|
|
},
|
|
"median": {
|
|
"enabled": true,
|
|
"window_size": 5
|
|
}
|
|
}
|
|
},
|
|
"alerts": {
|
|
"enabled": true,
|
|
"thresholds": {
|
|
"excessive_sway": 50.0,
|
|
"instability": 0.8,
|
|
"device_disconnect": 5.0
|
|
}
|
|
}
|
|
},
|
|
"data": {
|
|
"storage": {
|
|
"base_path": "data",
|
|
"patients_path": "data/patients",
|
|
"sessions_path": "data/sessions",
|
|
"exports_path": "data/exports",
|
|
"backups_path": "data/backups",
|
|
"temp_path": "temp",
|
|
"logs_path": "logs"
|
|
},
|
|
"cleanup": {
|
|
"enabled": true,
|
|
"temp_files_days": 7,
|
|
"log_files_days": 30,
|
|
"session_files_days": 365
|
|
},
|
|
"compression": {
|
|
"enabled": true,
|
|
"algorithm": "gzip",
|
|
"level": 6
|
|
},
|
|
"export": {
|
|
"formats": ["csv", "json", "pdf"],
|
|
"include_raw_data": true,
|
|
"include_analysis": true,
|
|
"include_charts": true
|
|
}
|
|
},
|
|
"logging": {
|
|
"level": "INFO",
|
|
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
"file": {
|
|
"enabled": true,
|
|
"path": "logs/app.log",
|
|
"max_size": "10MB",
|
|
"backup_count": 5,
|
|
"rotation": "daily"
|
|
},
|
|
"console": {
|
|
"enabled": true,
|
|
"level": "INFO"
|
|
},
|
|
"modules": {
|
|
"flask": "WARNING",
|
|
"werkzeug": "WARNING",
|
|
"urllib3": "WARNING",
|
|
"matplotlib": "WARNING"
|
|
}
|
|
},
|
|
"security": {
|
|
"session": {
|
|
"timeout_minutes": 60,
|
|
"secret_key": "your-secret-key-here",
|
|
"secure_cookies": false
|
|
},
|
|
"api": {
|
|
"rate_limiting": true,
|
|
"request_timeout": 30,
|
|
"max_request_size": "100MB"
|
|
},
|
|
"data": {
|
|
"encryption": false,
|
|
"backup_encryption": false,
|
|
"anonymization": {
|
|
"enabled": false,
|
|
"fields": ["name", "phone", "email"]
|
|
}
|
|
}
|
|
},
|
|
"ui": {
|
|
"language": "zh-CN",
|
|
"theme": "light",
|
|
"animations": true,
|
|
"sound_effects": true,
|
|
"notifications": {
|
|
"enabled": true,
|
|
"position": "top-right",
|
|
"duration": 5000
|
|
},
|
|
"charts": {
|
|
"default_type": "line",
|
|
"colors": {
|
|
"primary": "#409EFF",
|
|
"success": "#67C23A",
|
|
"warning": "#E6A23C",
|
|
"danger": "#F56C6C",
|
|
"info": "#909399"
|
|
},
|
|
"animation_duration": 1000
|
|
},
|
|
"table": {
|
|
"page_size": 20,
|
|
"show_pagination": true,
|
|
"sortable": true,
|
|
"filterable": true
|
|
}
|
|
},
|
|
"performance": {
|
|
"monitoring": {
|
|
"enabled": true,
|
|
"interval_seconds": 60,
|
|
"metrics": ["cpu", "memory", "disk", "network"]
|
|
},
|
|
"optimization": {
|
|
"image_compression": true,
|
|
"data_caching": true,
|
|
"lazy_loading": true,
|
|
"batch_processing": true
|
|
},
|
|
"limits": {
|
|
"max_concurrent_sessions": 5,
|
|
"max_file_size_mb": 100,
|
|
"max_session_duration_minutes": 300
|
|
}
|
|
}
|
|
} |