mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
- 新增 AlertWindowsApi 结构体和 SendNotification 方法,用于发送 Windows 系统通知 - 实现 SendDingDingMessageByType 方法,支持根据不同消息类型发送通知 - 添加消息类型 TTL 和名称映射,优化消息发送逻辑 - 更新前端接口,增加 SendDingDingMessageByType 方法调用- 引入 go-toast 库,用于 Windows 系统通知
49 lines
936 B
Go
49 lines
936 B
Go
//go:build windows
|
|
|
|
package data
|
|
|
|
import (
|
|
"github.com/go-toast/toast"
|
|
"go-stock/backend/logger"
|
|
)
|
|
|
|
// AlertWindowsApi @Author spark
|
|
// @Date 2025/1/8 9:40
|
|
// @Desc
|
|
// -----------------------------------------------------------------------------------
|
|
type alertWindowsApi struct {
|
|
AppID string
|
|
// 窗口标题
|
|
Title string
|
|
// 窗口内容
|
|
Content string
|
|
// 窗口图标
|
|
Icon string
|
|
}
|
|
|
|
func NewAlertWindowsApi(AppID string, Title string, Content string, Icon string) *alertWindowsApi {
|
|
return &alertWindowsApi{
|
|
AppID: AppID,
|
|
Title: Title,
|
|
Content: Content,
|
|
Icon: Icon,
|
|
}
|
|
}
|
|
|
|
func (a alertWindowsApi) SendNotification() bool {
|
|
notification := toast.Notification{
|
|
AppID: a.AppID,
|
|
Title: a.Title,
|
|
Message: a.Content,
|
|
Icon: a.Icon,
|
|
Duration: "short",
|
|
Audio: toast.Default,
|
|
}
|
|
err := notification.Push()
|
|
if err != nil {
|
|
logger.SugaredLogger.Error(err)
|
|
return false
|
|
}
|
|
return true
|
|
}
|