Spaces:
Running
Running
Upload app.py
Browse files
app.py
CHANGED
|
@@ -583,6 +583,25 @@ async def get_public_project_version():
|
|
| 583 |
return {"status": "success", "data": version_data}
|
| 584 |
|
| 585 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 586 |
@app.put("/api/admin/config/{config_key}")
|
| 587 |
async def set_system_config(config_key: str, value: dict, current_user: str = Depends(require_auth)):
|
| 588 |
""" 🔒 设置系统配置(仅管理员) """
|
|
|
|
| 583 |
return {"status": "success", "data": version_data}
|
| 584 |
|
| 585 |
|
| 586 |
+
@app.get("/api/public/banner_config")
|
| 587 |
+
async def get_public_banner_config():
|
| 588 |
+
"""公开接口:获取广告横幅配置(所有已登录/未登录用户均可访问)"""
|
| 589 |
+
config = _load_system_config()
|
| 590 |
+
banner = config.get("banner_config")
|
| 591 |
+
if not banner or not banner.get("enabled"):
|
| 592 |
+
return {"status": "success", "data": None}
|
| 593 |
+
# 只返回展示所需的字段,不暴露管理内部数据
|
| 594 |
+
return {"status": "success", "data": {
|
| 595 |
+
"enabled": banner.get("enabled", False),
|
| 596 |
+
"bannerImage": banner.get("bannerImage", ""),
|
| 597 |
+
"title": banner.get("title", ""),
|
| 598 |
+
"description": banner.get("description", ""),
|
| 599 |
+
"detailImage": banner.get("detailImage", ""),
|
| 600 |
+
"detailContent": banner.get("detailContent", ""),
|
| 601 |
+
"link": banner.get("link", "")
|
| 602 |
+
}}
|
| 603 |
+
|
| 604 |
+
|
| 605 |
@app.put("/api/admin/config/{config_key}")
|
| 606 |
async def set_system_config(config_key: str, value: dict, current_user: str = Depends(require_auth)):
|
| 607 |
""" 🔒 设置系统配置(仅管理员) """
|