You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
77 lines
1.8 KiB
package jpush |
|
|
|
const ( |
|
// CallbackTypeReceive 送达才回执 |
|
CallbackTypeReceive = callbackType(1) |
|
// CallbackTypeClick 点击才回执 |
|
CallbackTypeClick = callbackType(2) |
|
// CallbackTypeAll 送达和点击都回执 |
|
CallbackTypeAll = callbackType(3) |
|
|
|
// StatusSwitchOn 回执时候通知栏开关状态:开 |
|
StatusSwitchOn = int(1) |
|
// StatusSwitchOff 回执时候通知栏开关状态:关 |
|
StatusSwitchOff = int(2) |
|
|
|
defaultCallbackURL = "https://api.bilibili.com/x/push/callback/jpush" |
|
) |
|
|
|
type callbackType int |
|
|
|
// CallbackReq 消息回执请求体 |
|
type CallbackReq struct { |
|
// URL 接受回执数据的URL |
|
URL string `json:"url"` |
|
// Type 需要的回执类型 |
|
Type callbackType `json:"type"` |
|
// Params 携带的自定义参数 |
|
Params map[string]string `json:"params"` |
|
} |
|
|
|
// NewCallbackReq new Callback |
|
func NewCallbackReq() *CallbackReq { |
|
return &CallbackReq{ |
|
URL: defaultCallbackURL, |
|
Type: CallbackTypeReceive, |
|
Params: make(map[string]string), |
|
} |
|
} |
|
|
|
// SetURL 设置接收回执的URL |
|
func (cb *CallbackReq) SetURL(url string) { |
|
if url == "" { |
|
return |
|
} |
|
cb.URL = url |
|
} |
|
|
|
// SetType 设置需要回执的类型 |
|
func (cb *CallbackReq) SetType(typ callbackType) { |
|
cb.Type = typ |
|
} |
|
|
|
// SetParam 设置自定义参数 |
|
func (cb *CallbackReq) SetParam(m map[string]string) { |
|
if m == nil { |
|
return |
|
} |
|
cb.Params = m |
|
} |
|
|
|
// CallbackReply 消息回执接收体 |
|
type CallbackReply struct { |
|
// Token device token |
|
Token string `json:"registration_id"` |
|
// Platform android or ios |
|
Platform string `json:"platform"` |
|
// Time 消息送达或点击的秒级时间戳 |
|
Time int64 `json:"sent_time"` |
|
// Switch 通知栏消息开关 |
|
Switch bool `json:"notification_state"` |
|
// Type 送达或点击 |
|
Type callbackType `json:"callback_type"` |
|
// Channel 下发通道 |
|
Channel int `json:"channel"` |
|
// Params 自定义参数 |
|
Params map[string]string `json:"params"` |
|
}
|
|
|