Просмотр исходного кода

✨ feat(controller): gracefully handle missing Uptime Kuma configuration

Previously, the uptime status endpoint returned HTTP 400 with
“未配置 Uptime Kuma URL/Slug” when either option was not set, resulting in
frontend error states.

Changes:
• Treat absence of `UptimeKumaUrl` or `UptimeKumaSlug` as a valid scenario.
• Immediately respond with HTTP 200, `success: true`, and an empty `data` array.
• Preserve existing behavior when both options are provided.

This prevents unnecessary error notifications on the dashboard when
Uptime Kuma integration is not configured and improves overall UX.
Apple\Apple 10 месяцев назад
Родитель
Сommit
3d6859b865
1 измененных файлов с 5 добавлено и 12 удалено
  1. 5 12
      controller/uptime_kuma.go

+ 5 - 12
controller/uptime_kuma.go

@@ -82,18 +82,11 @@ func GetUptimeKumaStatus(c *gin.Context) {
 	slug := common.OptionMap["UptimeKumaSlug"]
 	slug := common.OptionMap["UptimeKumaSlug"]
 	common.OptionMapRWMutex.RUnlock()
 	common.OptionMapRWMutex.RUnlock()
 
 
-	if uptimeKumaUrl == "" {
-		c.JSON(http.StatusBadRequest, gin.H{
-			"success": false,
-			"message": "未配置 Uptime Kuma URL",
-		})
-		return
-	}
-
-	if slug == "" {
-		c.JSON(http.StatusBadRequest, gin.H{
-			"success": false,
-			"message": "未配置 Uptime Kuma Slug",
+	if uptimeKumaUrl == "" || slug == "" {
+		c.JSON(http.StatusOK, gin.H{
+			"success": true,
+			"message": "",
+			"data":    []MonitorStatus{},
 		})
 		})
 		return
 		return
 	}
 	}