1、后台系统设置settings页面增加一个开启关闭网站的按钮

2、如果网站关闭,前台页面所有请求暂时跳转单独的页如果网站关闭,前台页面所有请求暂时跳转单独的页面,页面内容 系统正在升级相关信息
3、要提供一个开发人员可以查看真实网站内容的入口
This commit is contained in:
2026-07-11 10:58:48 +08:00
parent 111c74c7c6
commit d2a30c58ca
11 changed files with 461 additions and 5 deletions
+35
View File
@@ -1622,6 +1622,41 @@ async def update_system_config(
return config
@router.post("/system-configs/regenerate-dev-token")
async def regenerate_dev_token(
admin: User = Depends(get_admin_user),
db: AsyncSession = Depends(get_db),
):
"""重新生成开发者访问令牌。"""
import secrets
result = await db.execute(
select(SystemConfig).where(SystemConfig.key == "site_dev_access_token").limit(1)
)
config = result.scalar_one_or_none()
new_token = secrets.token_urlsafe(32)
if config:
config.value = new_token
else:
config = SystemConfig(
id=generate_id(),
key="site_dev_access_token",
value=new_token,
description="开发者访问令牌(网站关闭时用于绕过限制)",
)
db.add(config)
await db.flush()
await log_operation(
db,
admin.id,
admin.username,
"重新生成开发者访问令牌",
"POST",
"/admin/system-configs/regenerate-dev-token",
)
await db.commit()
return {"token": new_token}
# ── Operation Logs ──────────────────────────────────────
@router.get("/operation-logs")
+7
View File
@@ -345,12 +345,19 @@ async def get_site_info(db: AsyncSession = Depends(get_db)):
base_url = settings.BASE_URL.rstrip("/")
return f"{base_url}{path}"
# 读取网站开关状态(不存在时默认开启)
site_enabled_result = await db.execute(
select(SystemConfig.value).where(SystemConfig.key == "site_enabled").limit(1)
)
site_enabled_value = site_enabled_result.scalar_one_or_none()
return {
"site_name": info.get("site_name", "VideoGen.AI"),
"site_logo": to_full_url(info.get("site_logo")),
"user_agreement_privacy_url": to_full_url(info.get("user_agreement_privacy_url")),
"site_copyright": info.get("site_copyright", "© 2024 民众智创 版权所有"),
"operation_manual": info.get("operation_manual", ""),
"site_enabled": site_enabled_value != "false",
}