Documentation ¶
Index ¶
Constants ¶
View Source
const MagicKey string = "_magic_key_"
Variables ¶
View Source
var MaxTextLength = 18
Functions ¶
This section is empty.
Types ¶
type Blog ¶
type Blog struct { ID uint64 `json:"id" gorm:"primaryKey;autoIncrement"` CreatedAt time.Time `json:"created_at"` Submitter string `json:"submitter" gorm:"index:idx_blogs_query,priority:2"` // 提交者 Platform string `json:"platform" gorm:"index:idx_blogs_query,priority:5"` // 发布平台 Type string `json:"type" gorm:"index:idx_blogs_query,priority:4"` // 博文类型 UID string `json:"uid" gorm:"index:idx_blogs_query,priority:3"` // 账户序号 MID string `json:"mid" gorm:"index:idx_blogs_query,priority:1;column:mid"` // 博文序号 URL string `json:"url"` // 博文网址 Text string `json:"text"` // 文本内容 Time time.Time `json:"time"` // 发送时间 Source string `json:"source"` // 博文来源 Edited bool `json:"edited"` // 是否编辑 Name string `json:"name"` // 账户昵称 Avatar string `json:"avatar"` // 头像网址 Follower string `json:"follower"` // 粉丝数 Following string `json:"following"` // 关注数 Description string `json:"description"` // 个人简介 ReplyID *uint64 `json:"reply_id"` // 被本文回复的博文序号 Reply *Blog `json:"reply"` // 被本文回复的博文 CommentID *uint64 `json:"comment_id"` // 被本文评论的博文序号 Comments []Blog `json:"comments" gorm:"foreignKey:CommentID"` // 本文的评论 Assets pq.StringArray `json:"assets" gorm:"type:text[]"` // 资源网址 Banner pq.StringArray `json:"banner" gorm:"type:text[]"` // 头图网址 Extra map[string]any `json:"extra" gorm:"serializer:json"` // 预留项 }
博文
type Filter ¶
type Filter struct { Submitter string `json:"submitter"` // 提交者 Platform string `json:"platform"` // 发布平台 Type string `json:"type"` // 博文类型 UID string `json:"uid"` // 账户序号 TaskID uint64 `json:"-"` // 外键 }
博文筛选条件,用来描述一类博文,例如:
filter1 表示所有平台为 "weibo"、类型为 "comment" 的博文
filter2 表示所有由 "114" 提交的用户 "514" 的博文
var filter1 = Filter{ Platform: "weibo", Type: "comment", } var filter2 = Filter{ Submitter: "114", UID: "514", }
type Header ¶
以 JSON 格式保存
读取时不解析 仅将字符串存在 MagicKey 键下
func (Header) GormDataType ¶
func (Header) MarshalJSON ¶
type RequestLog ¶
type RequestLog struct { BlogID uint64 `json:"blog_id"` CreatedAt time.Time `json:"created_at"` FinishedAt time.Time `json:"finished_at"` RawResult string `json:"raw_result"` // 响应纯文本 Result any `json:"result" gorm:"serializer:json"` // 响应为 JSON 会自动解析 Error string `json:"error"` // 请求过程中发生的错误 TaskID uint64 `json:"-" gorm:"index:idx_logs_query"` // 外键 }
请求记录
type Task ¶
type Task struct { ID uint64 `json:"id" gorm:"primaryKey;autoIncrement"` CreatedAt time.Time `json:"created_at"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` Public bool `json:"public"` // 是否公开 Enable bool `json:"enable"` // 是否启用 Name string `json:"name"` // 任务名称 Method string `json:"method"` // 请求方法 URL string `json:"url"` // 请求地址 Body string `json:"body"` // 请求内容 Header Header `json:"header"` // 请求头部 README string `json:"README"` // 任务描述 ForkID uint64 `json:"fork_id"` // 复刻来源 ForkCount int `json:"fork_count" gorm:"-"` // 被复刻次数 Filters []Filter `json:"filters"` // 筛选条件 Logs []RequestLog `json:"logs"` // 请求记录 UserID string `json:"user_id"` // 外键 }
任务
type Template ¶
type Template struct {
// contains filtered or unexported fields
}
func NewTemplate ¶
func (*Template) RunTask ¶ added in v0.17.0
func (t *Template) RunTask(task *Task) RequestLog
func (*Template) RunTasks ¶ added in v0.17.0
func (t *Template) RunTasks(tasks []*Task) []RequestLog
type User ¶
type User struct { UID string `json:"uid" gorm:"primaryKey"` CreatedAt time.Time `json:"created_at"` IssuedAt int64 `json:"-"` Ban time.Time `json:"ban"` // 封禁结束时间 Role Role `json:"role"` // 权限等级 Name string `json:"name"` // 用户名 非必要不可变 Nickname string `json:"nickname"` // 昵称 可变 Password string `json:"-"` // 密码 不可变 Tasks []Task `json:"tasks"` // 任务集 Extra map[string]any `json:"-" gorm:"serializer:json"` // 预留项 仅存 }
用户
Click to show internal directories.
Click to hide internal directories.