分离钉钉消息到通知管理

This commit is contained in:
ayflying
2025-03-04 17:24:10 +08:00
parent 6988e99717
commit 6eeb5a57cd
5 changed files with 79 additions and 3 deletions

View File

@@ -0,0 +1,43 @@
package drive
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/gtime"
)
type Mod struct {
DingTalkWebHook string
}
func Load(webHook string) *Mod {
return &Mod{
DingTalkWebHook: webHook,
}
}
func (m Mod) Send(value string) {
ctx := gctx.New()
// 从配置中获取发送者名称
name, _ := g.Cfg().Get(ctx, "name")
// 定义钉钉机器人发送消息的URL其中access_token为固定值
url := m.DingTalkWebHook
url += "&timestamp=" + gtime.Now().TimestampMilliStr()
// 使用goroutine异步发送消息
var post = g.Map{
"msgtype": "text",
"text": g.Map{
"content": "通知姬 " + name.String() + "\n" + value + "\n" + gtime.Now().String(),
},
}
// 构建发送的消息体,包含消息类型和内容
_, err := g.Client().Discovery(nil).ContentJson().Post(ctx, url, post)
if err != nil {
g.Log().Info(ctx, err)
}
return
}