修改infra除repository包

This commit is contained in:
2025-11-05 22:22:46 +08:00
parent 07d8c719ac
commit 97aea66f7c
13 changed files with 293 additions and 242 deletions

View File

@@ -2,6 +2,7 @@ package notify
import (
"bytes"
"context"
"encoding/json"
"fmt"
"net/http"
@@ -19,6 +20,8 @@ const (
// wechatNotifier 实现了 Notifier 接口,用于通过企业微信自建应用发送私聊消息。
type wechatNotifier struct {
ctx context.Context
corpID string // 企业ID (CorpID)
agentID string // 应用ID (AgentID)
secret string // 应用密钥 (Secret)
@@ -31,8 +34,9 @@ type wechatNotifier struct {
// NewWechatNotifier 创建一个新的 wechatNotifier 实例。
// 调用者需要注入企业微信应用的 CorpID, AgentID 和 Secret。
func NewWechatNotifier(corpID, agentID, secret string) Notifier {
func NewWechatNotifier(ctx context.Context, corpID, agentID, secret string) Notifier {
return &wechatNotifier{
ctx: ctx,
corpID: corpID,
agentID: agentID,
secret: secret,
@@ -41,7 +45,7 @@ func NewWechatNotifier(corpID, agentID, secret string) Notifier {
// Send 向指定用户发送一条 markdown 格式的私聊消息。
// toAddr 参数是接收者的 UserID 列表,用逗号或竖线分隔。
func (w *wechatNotifier) Send(content AlarmContent, toAddr string) error {
func (w *wechatNotifier) Send(ctx context.Context, content AlarmContent, toAddr string) error {
// 1. 获取有效的 access_token
token, err := w.getAccessToken()
if err != nil {