Update app.py
Browse files
app.py
CHANGED
|
@@ -287,46 +287,35 @@ with gr.Blocks(title="模擬校園入口與資安防護系統", css=custom_css)
|
|
| 287 |
with gr.Accordion("▼ HDBSCAN 異常辨識自動化測試區", open=True, elem_classes="weight-card"):
|
| 288 |
gr.Markdown("<span style='color:gray; font-size:0.9em;'>點擊按鈕將直接以指定時間點執行該系統的操作,結果將顯示於左側 Log 區。</span>")
|
| 289 |
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
|
| 313 |
-
|
| 314 |
-
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
gr.Markdown("#### 4. 學習與日常輔助系統 (具備作息規律)")
|
| 321 |
-
with gr.Row():
|
| 322 |
-
t_istudy_norm = gr.Button("✅ 正常: 北科i學園PLUS (10-18 16:00)", size="sm")
|
| 323 |
-
t_istudy_anom = gr.Button("⚠️ 異常: 北科i學園PLUS (08-20 02:00)", size="sm")
|
| 324 |
-
with gr.Row():
|
| 325 |
-
t_leave_norm = gr.Button("✅ 正常: 學生請假系統 (03-29 08:45)", size="sm")
|
| 326 |
-
t_leave_anom = gr.Button("⚠️ 異常: 學生請假系統 (08-15 13:00)", size="sm")
|
| 327 |
-
with gr.Row():
|
| 328 |
-
t_vdesk_norm = gr.Button("✅ 正常: 軟體雲/WebMail (03-22 18:00)", size="sm")
|
| 329 |
-
t_vdesk_anom = gr.Button("⚠️ 異常: 軟體雲/WebMail (08-10 00:00)", size="sm")
|
| 330 |
|
| 331 |
# --- 綁定事件 ---
|
| 332 |
time_mode.change(fn=toggle_time_input, inputs=time_mode, outputs=custom_time_input)
|
|
|
|
| 287 |
with gr.Accordion("▼ HDBSCAN 異常辨識自動化測試區", open=True, elem_classes="weight-card"):
|
| 288 |
gr.Markdown("<span style='color:gray; font-size:0.9em;'>點擊按鈕將直接以指定時間點執行該系統的操作,結果將顯示於左側 Log 區。</span>")
|
| 289 |
|
| 290 |
+
gr.Markdown("#### 1. 選課相關系統 (具備強烈季節性)")
|
| 291 |
+
with gr.Row():
|
| 292 |
+
t_pre_sel_norm = gr.Button("✅ 正常: 期末預選 (06-13 11:00)", size="sm"); t_pre_sel_anom = gr.Button("⚠️ 異常: 期末預選 (10-15 13:00)", size="sm")
|
| 293 |
+
with gr.Row():
|
| 294 |
+
t_course_norm = gr.Button("✅ 正常: 課程系統 (02-25 07:50)", size="sm"); t_course_anom = gr.Button("⚠️ 異常: 課程系統 (07-15 05:00)", size="sm")
|
| 295 |
+
with gr.Row():
|
| 296 |
+
t_add_drop_norm = gr.Button("✅ 正常: 開學加退選 (02-18 14:00)", size="sm"); t_add_drop_anom = gr.Button("⚠️ 異常: 開學加退選 (05-15 12:00)", size="sm")
|
| 297 |
+
|
| 298 |
+
gr.Markdown("#### 2. 期末與成績相關 (具備週期性)")
|
| 299 |
+
with gr.Row():
|
| 300 |
+
t_eval_norm = gr.Button("✅ 正常: 教學評量 (12-17 13:20)", size="sm"); t_eval_anom = gr.Button("⚠️ 異常: 教學評量 (03-15 03:00)", size="sm")
|
| 301 |
+
with gr.Row():
|
| 302 |
+
t_score_norm = gr.Button("✅ 正常: 成績查詢 (11-17 18:50)", size="sm"); t_score_anom = gr.Button("⚠️ 異常: 成績查詢 (02-15 03:00)", size="sm")
|
| 303 |
+
|
| 304 |
+
gr.Markdown("#### 3. 校務與行政服務 (生活與常規)")
|
| 305 |
+
with gr.Row():
|
| 306 |
+
t_dorm_norm = gr.Button("✅ 正常: 宿舍抽籤 (07-21 23:10)", size="sm"); t_dorm_anom = gr.Button("⚠️ 異常: 宿舍抽籤 (11-15 16:00)", size="sm")
|
| 307 |
+
with gr.Row():
|
| 308 |
+
t_schol_norm = gr.Button("✅ 正常: 獎學金申請 (03-12 14:00)", size="sm"); t_schol_anom = gr.Button("⚠️ 異常: 獎學金申請 (08-15 02:00)", size="sm")
|
| 309 |
+
with gr.Row():
|
| 310 |
+
t_card_norm = gr.Button("✅ 正常: 學生證掛失 (10-23 13:40)", size="sm"); t_card_anom = gr.Button("⚠️ 異常: 學生證掛失 (08-10 03:00)", size="sm")
|
| 311 |
+
|
| 312 |
+
gr.Markdown("#### 4. 學習與日常輔助系統 (具備作息規律)")
|
| 313 |
+
with gr.Row():
|
| 314 |
+
t_istudy_norm = gr.Button("✅ 正常: i學園PLUS (10-18 16:00)", size="sm"); t_istudy_anom = gr.Button("⚠️ 異常: i學園PLUS (08-20 02:00)", size="sm")
|
| 315 |
+
with gr.Row():
|
| 316 |
+
t_leave_norm = gr.Button("✅ 正常: 學生請假 (03-29 08:45)", size="sm"); t_leave_anom = gr.Button("⚠️ 異常: 學生請假 (08-15 13:00)", size="sm")
|
| 317 |
+
with gr.Row():
|
| 318 |
+
t_vdesk_norm = gr.Button("✅ 正常: 軟體雲/WebMail (03-22 18:00)", size="sm"); t_vdesk_anom = gr.Button("⚠️ 異常: 軟體雲/WebMail (08-10 00:00)", size="sm")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
|
| 320 |
# --- 綁定事件 ---
|
| 321 |
time_mode.change(fn=toggle_time_input, inputs=time_mode, outputs=custom_time_input)
|