diff --git a/internal/push/jpush/push.go b/internal/push/jpush/push.go index 2fe39c27f..03827d9e9 100644 --- a/internal/push/jpush/push.go +++ b/internal/push/jpush/push.go @@ -20,8 +20,7 @@ func JGAccountListPush(accounts []string, content, detailContent, platform strin var au requestBody.Audience au.SetAlias(accounts) var no requestBody.Notification - no.SetAlert(content) - no.SetAndroidIntent() + no.SetAlert(content, platform) var me requestBody.Message me.SetMsgContent(detailContent) var po requestBody.PushObj diff --git a/internal/push/jpush/requestBody/notification.go b/internal/push/jpush/requestBody/notification.go index 838621606..3f2876612 100644 --- a/internal/push/jpush/requestBody/notification.go +++ b/internal/push/jpush/requestBody/notification.go @@ -1,6 +1,9 @@ package requestBody -import "Open_IM/pkg/common/config" +import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" +) type Notification struct { Alert string `json:"alert,omitempty"` @@ -15,11 +18,23 @@ type Android struct { } `json:"intent,omitempty"` } type Ios struct { + Alert string `json:"alert,omitempty"` + Sound string `json:"sound,omitempty"` + Badge string `json:"badge,omitempty"` } -func (n *Notification) SetAlert(alert string) { +func (n *Notification) SetAlert(alert, platform string) { n.Alert = alert - n.Android.Alert = alert + switch platform { + case constant.AndroidPlatformStr: + n.Android.Alert = alert + n.SetAndroidIntent() + case constant.IOSPlatformStr: + n.IOS.Alert = alert + n.IOS.Sound = "default" + n.IOS.Badge = "+1" + default: + } } func (n *Notification) SetAndroidIntent() { n.Android.Intent.URL = config.Config.Push.Jpns.PushIntent