Spaces:
Sleeping
Sleeping
BrianChuan commited on
Commit ·
5b7fa18
1
Parent(s): 4139bc4
UI fix test
Browse files
app.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import os
|
| 2 |
|
| 3 |
from dotenv import load_dotenv
|
|
|
|
| 4 |
|
| 5 |
# Load .env at startup (project root)
|
| 6 |
load_dotenv()
|
|
@@ -1232,6 +1233,13 @@ with gr.Blocks(title="模擬校園入口與資安防護系統") as demo:
|
|
| 1232 |
)
|
| 1233 |
# =====================================================================
|
| 1234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1235 |
if __name__ == "__main__":
|
| 1236 |
# 1. 取得環境變數,HF 預設 PORT 通常是 7860,HOST 務必用 0.0.0.0
|
| 1237 |
host = os.getenv("HOST", "0.0.0.0")
|
|
@@ -1242,13 +1250,19 @@ if __name__ == "__main__":
|
|
| 1242 |
|
| 1243 |
# 2. 將 Gradio 掛載到 FastAPI (api_app)
|
| 1244 |
# 這樣兩者會「合體」在同一個 Port 執行
|
| 1245 |
-
gr.mount_gradio_app(api_app, demo, path="/")
|
| 1246 |
|
| 1247 |
print(f"🚀 數位保鏢系統啟動中:http://{host}:{port}")
|
| 1248 |
|
| 1249 |
# 3. 唯一啟動點:交給 uvicorn 負責
|
| 1250 |
# 不要再 except 裡面放 demo.launch(),避免自動跳埠到 7861
|
| 1251 |
-
uvicorn.run(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1252 |
|
| 1253 |
except Exception as e:
|
| 1254 |
# 如果啟動失敗,直接印出錯誤,不要嘗試備援啟動
|
|
|
|
| 1 |
import os
|
| 2 |
|
| 3 |
from dotenv import load_dotenv
|
| 4 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 5 |
|
| 6 |
# Load .env at startup (project root)
|
| 7 |
load_dotenv()
|
|
|
|
| 1233 |
)
|
| 1234 |
# =====================================================================
|
| 1235 |
|
| 1236 |
+
api_app.add_middleware(
|
| 1237 |
+
CORSMiddleware,
|
| 1238 |
+
allow_origins=["*"],
|
| 1239 |
+
allow_methods=["*"],
|
| 1240 |
+
allow_headers=["*"],
|
| 1241 |
+
)
|
| 1242 |
+
|
| 1243 |
if __name__ == "__main__":
|
| 1244 |
# 1. 取得環境變數,HF 預設 PORT 通常是 7860,HOST 務必用 0.0.0.0
|
| 1245 |
host = os.getenv("HOST", "0.0.0.0")
|
|
|
|
| 1250 |
|
| 1251 |
# 2. 將 Gradio 掛載到 FastAPI (api_app)
|
| 1252 |
# 這樣兩者會「合體」在同一個 Port 執行
|
| 1253 |
+
app = gr.mount_gradio_app(api_app, demo, path="/")
|
| 1254 |
|
| 1255 |
print(f"🚀 數位保鏢系統啟動中:http://{host}:{port}")
|
| 1256 |
|
| 1257 |
# 3. 唯一啟動點:交給 uvicorn 負責
|
| 1258 |
# 不要再 except 裡面放 demo.launch(),避免自動跳埠到 7861
|
| 1259 |
+
uvicorn.run(
|
| 1260 |
+
api_app,
|
| 1261 |
+
host=host,
|
| 1262 |
+
port=port,
|
| 1263 |
+
proxy_headers=True,
|
| 1264 |
+
forwarded_allow_ips="*"
|
| 1265 |
+
)
|
| 1266 |
|
| 1267 |
except Exception as e:
|
| 1268 |
# 如果啟動失敗,直接印出錯誤,不要嘗試備援啟動
|