1e1e5957e8
- Ips.vue: el-select 添加 width: 280px,修复网段下拉框过窄 - Ips.vue: query 参数 networkId → network_id(与 FastAPI snake_case 一致) - Scan.vue: el-select 用 network.id 代替整个 network 对象作为 value,修复切换网段不生效 - enhanced_scan_service.py: 替换失效的 scapy ARP 扫描为 arp-scan 命令;扫描结果自动创建缺失 IP 记录
36 lines
859 B
Python
36 lines
859 B
Python
from pydantic_settings import BaseSettings
|
|
from typing import Optional
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# 应用配置
|
|
APP_NAME: str = "IPAM Management System"
|
|
APP_VERSION: str = "0.1.0"
|
|
DEBUG: bool = True
|
|
|
|
# 数据库配置
|
|
DATABASE_URL: str = "mysql+pymysql://ipam:***@localhost:3308/ipam"
|
|
|
|
# Redis配置
|
|
REDIS_URL: str = "redis://localhost:6379/0"
|
|
|
|
# Celery配置
|
|
CELERY_BROKER_URL: str = "redis://localhost:6379/1"
|
|
CELERY_RESULT_BACKEND: str = "redis://localhost:6379/2"
|
|
|
|
# JWT配置
|
|
SECRET_KEY: str = "your-super-secret-key-here-change-in-production"
|
|
ALGORITHM: str = "HS256"
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 7
|
|
|
|
# 扫描配置
|
|
PING_TIMEOUT: int = 2
|
|
PING_RETRIES: int = 2
|
|
SCAN_CONCURRENCY: int = 50
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
|
|
|
|
settings = Settings()
|