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"` // 发送时间
Title string `json:"title"` // 博文标题
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" form:"submitter"` // 提交者
Platform string `json:"platform" form:"platform"` // 发布平台
Type string `json:"type" form:"type"` // 博文类型
UID string `json:"uid" form:"uid"` // 账户序号
TaskID uint64 `json:"-" form:"-"` // 外键
}
博文筛选条件,用来描述一类博文,例如:
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"`
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"` // 任务名称
Icon string `json:"icon"` // 任务图标
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.