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.
257 lines
5.8 KiB
257 lines
5.8 KiB
2 years ago
|
package tpns
|
||
|
|
||
|
type CommonRspEnv string
|
||
|
|
||
|
const (
|
||
|
// EnvProd
|
||
|
EnvProd CommonRspEnv = "product"
|
||
|
// EnvDev
|
||
|
EnvDev CommonRspEnv = "dev"
|
||
|
)
|
||
|
|
||
|
type CommonRsp struct {
|
||
|
// TODO: doc this
|
||
|
Seq int64 `json:"seq"`
|
||
|
|
||
|
PushID string `json:"push_id"`
|
||
|
|
||
|
RetCode int `json:"ret_code"`
|
||
|
|
||
|
Environment CommonRspEnv `json:"environment"`
|
||
|
|
||
|
ErrMsg string `json:"err_msg,omitempty"`
|
||
|
|
||
|
Result map[string]string `json:"result,omitempty"`
|
||
|
}
|
||
|
|
||
|
type AudienceType string
|
||
|
|
||
|
const (
|
||
|
AdAll AudienceType = "all"
|
||
|
|
||
|
AdTag AudienceType = "tag"
|
||
|
|
||
|
AdToken AudienceType = "token"
|
||
|
|
||
|
AdTokenList AudienceType = "token_list"
|
||
|
|
||
|
AdAccount AudienceType = "account"
|
||
|
|
||
|
AdAccountList AudienceType = "account_list"
|
||
|
|
||
|
AdPackageAccount AudienceType = "package_account_push"
|
||
|
|
||
|
AdPackageToken AudienceType = "package_token_push"
|
||
|
)
|
||
|
|
||
|
// MessageType push API message_type
|
||
|
type MessageType string
|
||
|
|
||
|
const (
|
||
|
MsgTypeNotify MessageType = "notify"
|
||
|
|
||
|
MsgTypeMessage MessageType = "message"
|
||
|
)
|
||
|
|
||
|
type Request struct {
|
||
|
AudienceType AudienceType `json:"audience_type"`
|
||
|
|
||
|
Message Message `json:"message"`
|
||
|
|
||
|
MessageType MessageType `json:"message_type"`
|
||
|
|
||
|
Tag []TagRule `json:"tag_rules,omitempty"`
|
||
|
|
||
|
TokenList []string `json:"token_list,omitempty"`
|
||
|
|
||
|
AccountList []string `json:"account_list,omitempty"`
|
||
|
|
||
|
Environment CommonRspEnv `json:"environment,omitempty"`
|
||
|
|
||
|
UploadId int `json:"upload_id,omitempty"`
|
||
|
|
||
|
ExpireTime int `json:"expire_time,omitempty"`
|
||
|
|
||
|
SendTime string `json:"send_time,omitempty"`
|
||
|
|
||
|
MultiPkg bool `json:"multi_pkg,omitempty"`
|
||
|
|
||
|
PlanId string `json:"plan_id,omitempty"`
|
||
|
|
||
|
AccountPushType int `json:"account_push_type,omitempty"`
|
||
|
|
||
|
PushSpeed int `json:"push_speed,omitempty"`
|
||
|
|
||
|
CollapseId int `json:"collapse_id"`
|
||
|
|
||
|
TPNSOnlinePushType int `json:"tpns_online_push_type"`
|
||
|
|
||
|
ChannelRules []*ChannelDistributeRule `json:"channel_rules,omitempty"`
|
||
|
|
||
|
LoopParam *PushLoopParam `json:"loop_param,omitempty"`
|
||
|
ForceCollapse bool `json:"force_collapse"`
|
||
|
}
|
||
|
|
||
|
type TagListOperation string
|
||
|
|
||
|
type ChannelDistributeRule struct {
|
||
|
ChannelName string `json:"channel"`
|
||
|
Disable bool `json:"disable"`
|
||
|
}
|
||
|
|
||
|
type PushLoopParam struct {
|
||
|
StartDate string `json:"startDate"`
|
||
|
|
||
|
EndDate string `json:"endDate"`
|
||
|
|
||
|
LoopType PushLoopType `json:"loopType"`
|
||
|
|
||
|
LoopDayIndexs []uint32 `json:"loopDayIndexs"`
|
||
|
|
||
|
DayTimes []string `json:"dayTimes"`
|
||
|
}
|
||
|
|
||
|
type PushLoopType int32
|
||
|
|
||
|
const (
|
||
|
TagListOpAnd TagListOperation = "AND"
|
||
|
|
||
|
TagListOpOr TagListOperation = "OR"
|
||
|
)
|
||
|
|
||
|
type TagType string
|
||
|
|
||
|
const (
|
||
|
XGAutoProvince TagType = "xg_auto_province"
|
||
|
XGAutoActive TagType = "xg_auto_active"
|
||
|
XGUserDefine TagType = "xg_user_define"
|
||
|
XGAutoVersion TagType = "xg_auto_version"
|
||
|
XGAutoSdkversion TagType = "xg_auto_sdkversion"
|
||
|
XGAutoDevicebrand TagType = "xg_auto_devicebrand"
|
||
|
XGAutoDeviceversion TagType = "xg_auto_deviceversion"
|
||
|
XGAutoCountry TagType = "xg_auto_country"
|
||
|
)
|
||
|
|
||
|
type TagRule struct {
|
||
|
TagItems []TagItem `json:"tag_items"`
|
||
|
|
||
|
IsNot bool `json:"is_not"`
|
||
|
|
||
|
Operator TagListOperation `json:"operator"`
|
||
|
}
|
||
|
|
||
|
type TagItem struct {
|
||
|
// 标签
|
||
|
Tags []string `json:"tags"`
|
||
|
IsNot bool `json:"is_not"`
|
||
|
TagsOperator TagListOperation `json:"tags_operator"`
|
||
|
ItemsOperator TagListOperation `json:"items_operator"`
|
||
|
TagType TagType `json:"tag_type"`
|
||
|
}
|
||
|
|
||
|
type Message struct {
|
||
|
Title string `json:"title,omitempty"`
|
||
|
Content string `json:"content,omitempty"`
|
||
|
|
||
|
AcceptTime []AcceptTimeItem `json:"accept_time,omitempty"`
|
||
|
|
||
|
Android *AndroidParams `json:"android,omitempty"`
|
||
|
|
||
|
IOS *IOSParams `json:"ios,omitempty"`
|
||
|
|
||
|
ThreadId string `json:"thread_id,omitempty"`
|
||
|
|
||
|
ThreadSumtext string `json:"thread_sumtext,omitempty"`
|
||
|
|
||
|
XGMediaResources string `json:"xg_media_resources,omitempty"`
|
||
|
|
||
|
XGMediaAudioResources string `json:"xg_media_audio_resources,omitempty"`
|
||
|
}
|
||
|
|
||
|
type AcceptTimeItem struct {
|
||
|
Start HourAndMin `json:"start,omitempty"`
|
||
|
End HourAndMin `json:"end,omitempty"`
|
||
|
}
|
||
|
|
||
|
type HourAndMin struct {
|
||
|
Hour string `json:"hour,omitempty"`
|
||
|
Min string `json:"min,omitempty"`
|
||
|
}
|
||
|
|
||
|
type AndroidParams struct {
|
||
|
BuilderId *int `json:"builder_id,omitempty"`
|
||
|
|
||
|
Ring *int `json:"ring,omitempty"`
|
||
|
|
||
|
RingRaw string `json:"ring_raw,omitempty"`
|
||
|
|
||
|
Vibrate *int `json:"vibrate,omitempty"`
|
||
|
|
||
|
Lights *int `json:"lights,omitempty"`
|
||
|
|
||
|
Clearable *int `json:"clearable,omitempty"`
|
||
|
|
||
|
IconType *int `json:"icon_type"`
|
||
|
|
||
|
IconRes string `json:"icon_res,omitempty"`
|
||
|
|
||
|
StyleId *int `json:"style_id,omitempty"`
|
||
|
|
||
|
SmallIcon string `json:"small_icon,omitempty"`
|
||
|
|
||
|
Action *Action `json:"action,omitempty"`
|
||
|
|
||
|
CustomContent string `json:"custom_content,omitempty"`
|
||
|
|
||
|
ShowType *int `json:"show_type,omitempty"`
|
||
|
|
||
|
NChId string `json:"n_ch_id,omitempty"`
|
||
|
|
||
|
NChName string `json:"n_ch_name,omitempty"`
|
||
|
|
||
|
HwChId string `json:"hw_ch_id,omitempty"`
|
||
|
|
||
|
XmChId string `json:"xm_ch_id,omitempty"`
|
||
|
|
||
|
OppoChId string `json:"oppo_ch_id,omitempty"`
|
||
|
|
||
|
VivoChId string `json:"vivo_ch_id,omitempty"`
|
||
|
|
||
|
BadgeType *int `json:"badge_type,omitempty"`
|
||
|
|
||
|
IconColor *int `json:"icon_color,omitempty"`
|
||
|
}
|
||
|
|
||
|
type Action struct {
|
||
|
ActionType *int `json:"action_type,omitempty"`
|
||
|
Activity string `json:"activity"`
|
||
|
AtyAttr AtyAttr `json:"aty_attr,omitempty"`
|
||
|
Intent string `json:"intent"`
|
||
|
Browser Browser `json:"browser,omitempty"`
|
||
|
}
|
||
|
|
||
|
type Browser struct {
|
||
|
Url string `json:"url,omitempty"`
|
||
|
Confirm *int `json:"confirm,omitempty"`
|
||
|
}
|
||
|
|
||
|
type AtyAttr struct {
|
||
|
AttrIf *int `json:"if,omitempty"`
|
||
|
Pf *int `json:"pf,omitempty"`
|
||
|
}
|
||
|
|
||
|
type IOSParams struct {
|
||
|
Aps *Aps `json:"aps,omitempty"`
|
||
|
|
||
|
CustomContent string `json:"custom_content,omitempty"`
|
||
|
}
|
||
|
|
||
|
type Aps struct {
|
||
|
Alert map[string]string `json:"alert,omitempty"`
|
||
|
BadgeType *int `json:"badge_type,omitempty"`
|
||
|
Category string `json:"category,omitempty"`
|
||
|
ContentAvailableInt *int `json:"content-available,omitempty"`
|
||
|
MutableContent *int `json:"mutable-content,omitempty"`
|
||
|
Sound string `json:"sound,omitempty"`
|
||
|
}
|