fix(alerts): Pro 到期后告警引擎停止评估 + 规则/通道写操作挂 RequirePro
用户指出的漏洞:免费期配完规则,到期后若引擎继续跑,告警等于免费功能,Pro 形同虚设; 重装又拿新试用继续白用。修复: - 引擎每轮先查 IsPro(),非 Pro 整轮跳过(规则与投递历史保留,重新授权即恢复) - 规则建/改、通道保存、立即检查挂 RequirePro 闸门(读列表/历史保持可见,升级引导有据可依) - 试用期内 IsPro=true 照常工作(实测建规则 200)
This commit is contained in:
1 parent
897899305f
commit
b8eca87a89
2 files changed
+11
-5
No files matched your search
@@ -143,14 +143,14 @@ func SetupRouter() *gin.Engine {
|
||||
alertNotify.PUT("/notify-config", middleware.AdminAuth(), alertsCtrl.UpdateNotifyConfig)
|
||||
alertNotify.POST("/notify-config/test", middleware.AdminAuth(), alertsCtrl.TestNotifyConfig)
|
||||
alertNotify.GET("/rules", alertsCtrl.ListRules)
|
||||
alertNotify.POST("/rules", middleware.AdminAuth(), alertsCtrl.CreateRule)
|
||||
alertNotify.PUT("/rules/:id", middleware.AdminAuth(), alertsCtrl.UpdateRule)
|
||||
alertNotify.POST("/rules", middleware.AdminAuth(), middleware.RequirePro(), alertsCtrl.CreateRule)
|
||||
alertNotify.PUT("/rules/:id", middleware.AdminAuth(), middleware.RequirePro(), alertsCtrl.UpdateRule)
|
||||
alertNotify.DELETE("/rules/:id", middleware.AdminAuth(), alertsCtrl.DeleteRule)
|
||||
alertNotify.POST("/check", middleware.AdminAuth(), alertsCtrl.CheckNow)
|
||||
alertNotify.POST("/check", middleware.AdminAuth(), middleware.RequirePro(), alertsCtrl.CheckNow)
|
||||
alertNotify.GET("/deliveries", alertsCtrl.Deliveries)
|
||||
alertNotify.GET("/channels", alertsCtrl.ListChannels)
|
||||
alertNotify.POST("/channels", middleware.AdminAuth(), alertsCtrl.SaveChannel)
|
||||
alertNotify.PUT("/channels/:id", middleware.AdminAuth(), alertsCtrl.SaveChannel)
|
||||
alertNotify.POST("/channels", middleware.AdminAuth(), middleware.RequirePro(), alertsCtrl.SaveChannel)
|
||||
alertNotify.PUT("/channels/:id", middleware.AdminAuth(), middleware.RequirePro(), alertsCtrl.SaveChannel)
|
||||
alertNotify.DELETE("/channels/:id", middleware.AdminAuth(), alertsCtrl.DeleteChannel)
|
||||
alertNotify.POST("/channels/test", middleware.AdminAuth(), alertsCtrl.TestChannel)
|
||||
}
|
||||
|
||||
@@ -84,6 +84,12 @@ func StartAlertEngine() {
|
||||
log.Printf("[alert] 上一轮检查仍在运行,跳过本轮")
|
||||
continue
|
||||
}
|
||||
// Pro 闸门:日志告警是 Pro 功能,免费/试用到期后引擎不再评估
|
||||
// (规则与历史保留,重新授权即恢复,不删任何数据)
|
||||
if !IsPro() {
|
||||
alertCheckRunning.Store(false)
|
||||
continue
|
||||
}
|
||||
start := time.Now()
|
||||
ok := true
|
||||
func() {
|
||||
|
||||
Reference in new issue
Block a user