mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-23 13:13:09 +00:00
feat(backend): 新增模块示例和路径配置 fix(backend): 修复菜单模型名称唯一性约束 refactor(backend): 重构日志模块和路径配置 style(backend): 统一API方法命名规范 refactor(frontend): 重构API方法命名规范 fix(frontend): 修复权限校验问题 refactor: 移动定时任务测试文件到正确模块 docs: 更新模板文件路径 refactor: 优化日志记录和错误处理 fix: 修复排序默认值问题
41 lines
1.7 KiB
Python
41 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from rich import get_console
|
|
from rich.panel import Panel
|
|
from rich.prompt import IntPrompt
|
|
from rich.table import Table
|
|
from rich.text import Text
|
|
|
|
from app.config.setting import settings
|
|
|
|
console = get_console()
|
|
|
|
def run(host: str, port: int, reload: bool, workers: int, *, redis_ready: bool | None = None, scheduler_jobs: int | None = None, scheduler_status: str | None = None) -> None:
|
|
url = f'http://{host}:{port}'
|
|
base_url = f'{url}{settings.ROOT_PATH}'
|
|
docs_url = base_url + settings.DOCS_URL
|
|
redoc_url = base_url + settings.REDOC_URL
|
|
|
|
panel_content = Text()
|
|
panel_content.append(f'当前版本: v{settings.VERSION}')
|
|
panel_content.append(f'\n服务地址: {url}')
|
|
panel_content.append(f'\n根路由前缀: {settings.ROOT_PATH}')
|
|
panel_content.append(f'\n运行环境: {getattr(settings.ENVIRONMENT, "value", settings.ENVIRONMENT)}')
|
|
panel_content.append(f'\n数据库类型: {settings.DATABASE_TYPE}')
|
|
panel_content.append(f'\n重载: {reload} 进程: {workers}')
|
|
|
|
# 附加运行时组件状态
|
|
if redis_ready is not None:
|
|
panel_content.append(f'\nRedis: {"Ready" if redis_ready else "Disabled/Not Ready"}')
|
|
if scheduler_status is not None:
|
|
jobs_text = f'{scheduler_jobs or 0} jobs'
|
|
panel_content.append(f'\nScheduler: {scheduler_status} ({jobs_text})')
|
|
|
|
panel_content.append('\n官方地址: https://service.fastapiadmin.com')
|
|
|
|
if settings.DEBUG:
|
|
panel_content.append(f'\n\n📖 Swagger 文档: {docs_url}', style='yellow')
|
|
panel_content.append(f'\n📚 Redoc 文档: {redoc_url}', style='blue')
|
|
|
|
console.print(Panel(panel_content, title='FastapiAdmin 服务信息', border_style='purple', padding=(1, 2)))
|