bilibili-backup/app/service/main/push/model/model.go
2019-04-22 02:59:20 +00:00

192 lines
5.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
xtime "go-common/library/time"
)
// Report APP report info.
type Report struct {
ID int64 `json:"id"`
APPID int64 `json:"app_id"` // application
PlatformID int `json:"platform_id"`
Mid int64 `json:"mid"`
Buvid string `json:"buvid"`
Build int `json:"build"`
TimeZone int `json:"time_zone"`
NotifySwitch int `json:"notify_switch"` // global notification switch
DeviceToken string `json:"device_token"`
DeviceBrand string `json:"device_brand"`
DeviceModel string `json:"device_model"`
OSVersion string `json:"os_version"`
Extra string `json:"extra"`
Dtime int64 `json:"dtime"`
}
// Task push task info.
type Task struct {
ID string `json:"id"` // task id
Job int64 `json:"job"` // 多个子任务拥有同一个 job name
Type int `json:"type"` // 任务类型 1:后台全量 2:后台批量 3:业务推送
APPID int64 `json:"app_id"`
BusinessID int64 `json:"business_id"`
PlatformID int `json:"platform_id"`
Platform []int `json:"platform"`
Title string `json:"title"`
Summary string `json:"summary"`
LinkType int8 `json:"link_type"`
LinkValue string `json:"link_value"`
Build map[int]*Build `json:"build"`
Sound int `json:"sound"`
Vibration int `json:"vibration"`
PassThrough int `json:"pass_through"`
MidFile string `json:"mid_file"`
Progress *Progress `json:"progress"`
PushTime xtime.Time `json:"push_time"`
ExpireTime xtime.Time `json:"expire_time"`
Status int8 `json:"status"`
Group string `json:"group"`
ImageURL string `json:"image_url"`
Extra *TaskExtra `json:"extra"`
}
// TaskExtra task extra.
type TaskExtra struct {
Group string `json:"group"`
Filename string `json:"filename,omitempty"` // 任务文件的名称(前端展示用)
}
// Build version limit.
type Build struct {
Build int `json:"build"`
Condition string `json:"condition"`
}
// Progress task push progress.
type Progress struct {
// total indicators
Status int8 `json:"st"` // 任务状态
MidTotal int64 `json:"mid_total"` // 任务接收到的mid总数
MidValid int64 `json:"mid_valid"` // 能查到token的mid数
MidMissed int64 `json:"mm"` // mid_missed 查不到token的mid数
MidMissedSuccess int64 `json:"mms"` // mid_missed_success 无效mid补偿推送成功的
MidMissedFailed int64 `json:"mmf"` // mid_missed_failed 无效mid补偿推送失败的
TokenTotal int64 `json:"token_total"` // 一共要推送的token数
TokenValid int64 `json:"token_valid"` // 有效token
TokenDelay int64 `json:"token_delay"` // 延迟推送的token
TokenSuccess int64 `json:"token_success"` // 推送成功的
TokenFailed int64 `json:"token_failed"` // 推送失败的
// brand indicators
Brands map[int]int64 `json:"brands"` // 各品牌统计数据
// server indicators
RetryTimes int64 `json:"retry"` // 重试次数
BeginTime xtime.Time `json:"btime"` // 开始时间
PushTime xtime.Time `json:"ptime"` // 开始推送时间
EndTime xtime.Time `json:"etime"` // 结束时间
}
// APP appication
type APP struct {
ID int64
Name string
PushLimitUser int
}
// Business business
type Business struct {
ID int64 `json:"id"`
APPID int64 `json:"app_id"`
Name string `json:"name"`
Desc string `json:"desc"`
Token string `json:"token"`
Sound int `json:"sound"`
Vibration int `json:"vibration"`
ReceiveSwitch int `json:"receive_switch"`
PushSwitch int `json:"push_switch"`
SilentTime BusinessSilentTime `json:"silent_time"`
PushLimitUser int `json:"push_limit_user"`
Whitelist int `json:"whitelist"`
}
// BusinessSilentTime .
type BusinessSilentTime struct {
BeginHour, EndHour int
BeginMinute, EndMinute int
}
// PushInfo push message.
type PushInfo struct {
Job int64
TaskID string
APPID int64
Title string
Summary string
LinkType int8
LinkValue string
PushTime xtime.Time
ExpireTime xtime.Time
PassThrough int
Sound int
Vibration int
ImageURL string
}
// PushItem push item.
type PushItem struct {
Platform int
Token string
Mid int64
Sound int
Vibration int
Build int
}
// PushChanItem push channel item.
type PushChanItem struct {
Info *PushInfo
Item *PushItem
}
// PushChanItems push channel item.
type PushChanItems struct {
Info *PushInfo
Items []*PushItem
}
// Auth cert or auth info.
type Auth struct {
APPID int64
PlatformID int
Name string // 第三方名称 for android例如 小米
Key string // android的包名 或 iOS的 cert key
Value string // android的 auth 或 iOS的 cert value
BundleID string // just for iOS
}
// HTTPResponse http response.
type HTTPResponse struct {
Code int
Msg string
}
// Callback push callback.
type Callback struct {
Task string
APP int64
Platform int
Mid int64
Pid int // mobi_app ID
Token string
Buvid string
Click uint8 // 是否被点击
Brand int
Extra *CallbackExtra
}
// CallbackExtra .
type CallbackExtra struct {
Status int `json:"st"`
Channel int `json:"chan"`
}