mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 00:12:18 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			257 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 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"`
 | |
| }
 |