Files
goodBaby/main.go
T

65 lines
1.1 KiB
Go
Raw Normal View History

2025-10-06 16:23:56 +08:00
package main
import (
"log"
"time"
"github.com/gin-gonic/gin"
"github.com/ssdomei232/goodBaby/configs"
"github.com/ssdomei232/goodBaby/internal"
)
var timer *time.Timer
var duration time.Duration
func init() {
config, err := configs.GetConfig()
if err != nil {
log.Printf("获取配置文件失败: %v", err)
}
2025-10-06 17:26:00 +08:00
2025-10-06 17:18:44 +08:00
if config.Debug {
duration = time.Duration(config.DisconnectDuration) * time.Second
} else {
duration = time.Duration(config.DisconnectDuration) * time.Hour
}
2025-10-06 17:26:00 +08:00
2025-10-06 16:23:56 +08:00
timer = time.NewTimer(duration)
go func() {
<-timer.C
trigger()
}()
}
func trigger() {
2025-10-06 17:14:54 +08:00
go internal.SendQQ()
go internal.SendMail()
go internal.Github()
2025-10-06 16:23:56 +08:00
}
func main() {
2025-10-06 18:57:53 +08:00
config, err := configs.GetConfig()
if err != nil {
log.Printf("获取配置文件失败: %v", err)
}
2025-10-06 16:23:56 +08:00
r := gin.Default()
r.GET("/signal", func(c *gin.Context) {
2025-10-06 18:57:53 +08:00
secret := c.Query("secret")
if secret != config.SignalSecret {
c.JSON(403, gin.H{
"code": 403,
"message": "secret error",
})
return
}
2025-10-06 16:23:56 +08:00
timer.Reset(duration)
c.JSON(200, gin.H{
"code": 200,
"message": "ok",
})
2025-10-06 18:57:53 +08:00
log.Println("触发信号")
2025-10-06 16:23:56 +08:00
})
r.Run(":8088")
}