first commit

This commit is contained in:
2022-03-17 15:59:24 +08:00
commit 2b0debb847
592 changed files with 73946 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
package android
import (
"errors"
"gitlab.33.cn/chat/dtalk/pkg/util"
"strconv"
push "github.com/oofpgDLD/u-push"
android_push "github.com/oofpgDLD/u-push/android"
"gitlab.33.cn/chat/dtalk/service/offline-push/pusher"
)
type androidPusher struct {
AppKey string
AppMasterSecret string
MiActivity string
environment string
}
func (t *androidPusher) SinglePush(deviceToken, title, text string, extra *pusher.Extra) error {
var client push.PushClient
unicast := android_push.NewAndroidUnicast(t.AppKey, t.AppMasterSecret)
//fmt.Println(t.AppKey, t.AppMasterSecret, t.DeviceToken, title, text)
unicast.SetDeviceToken(deviceToken)
unicast.SetTitle(title)
unicast.SetText(text)
unicast.GoCustomAfterOpen("")
unicast.SetDisplayType(push.NOTIFICATION)
unicast.SetMipush(true, t.MiActivity)
unicast.SetExpireTime(util.UnixToTime(extra.TimeOutTime).In(util.Shanghai()).Format("2006-01-02 15:04:05"))
switch t.environment {
case "debug":
// 测试模式
unicast.SetTestMode()
case "release":
// 线上模式
unicast.SetReleaseMode()
default:
return errors.New("unknown environment")
}
// Set customized fields
unicast.SetExtraField("address", extra.Address)
unicast.SetExtraField("channelType", strconv.FormatInt(int64(extra.ChannelType), 10))
return client.Send(unicast)
}
func (t *androidPusher) SingleCustomPush(address, title, text string, extra *pusher.Extra) error {
var client push.PushClient
unicast := android_push.NewAndroidCustomizedcast(t.AppKey, t.AppMasterSecret)
//fmt.Println(t.AppKey, t.AppMasterSecret, t.DeviceToken, title, text)
unicast.SetAlias(address, "ADDRESS")
unicast.SetTitle(title)
unicast.SetText(text)
unicast.GoCustomAfterOpen("")
unicast.SetDisplayType(push.NOTIFICATION)
unicast.SetMipush(true, t.MiActivity)
unicast.SetExpireTime(util.UnixToTime(extra.TimeOutTime).In(util.Shanghai()).Format("2006-01-02 15:04:05"))
switch t.environment {
case "debug":
// 测试模式
unicast.SetTestMode()
case "release":
// 线上模式
unicast.SetReleaseMode()
default:
return errors.New("unknown environment")
}
// Set customized fields
unicast.SetExtraField("address", extra.Address)
unicast.SetExtraField("channelType", strconv.FormatInt(int64(extra.ChannelType), 10))
return client.Send(unicast)
}