Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoSubmitter = errors.New("model: post has no submitter")
View Source
var ErrSubmitted = errors.New("您已提交过")
View Source
var ErrType = errors.New("model: failed to unmarshal JSONB value")
View Source
var TestJob = &Job{ Filter: Filter{ Platform: "weibo", Uid: "\\d+", }, Job: request.Job{ Method: http.MethodGet, Url: "http://api.nana7mi.link:5760/weibo", Query: request.M{ "channel": "9673211", "message": `{{.Name}} 粉丝 {{.Follower}} | 关注 {{.Following}} “{{.Content}}” {{if .Repost}} {{.Repost.Name}} 粉丝 {{.Repost.Follower}} | 关注 {{.Repost.Following}} “{{.Repost.Content}}” {{.Repost.Time.Format "%m-%d %H:%M:%S"}} 来自{{.Repost.Source}} {{end}} {{.Time.Format "%m-%d %H:%M:%S"}} 来自{{.Source}}`, }, }, }
View Source
var TestPost = &Post{ Platform: "weibo", Uid: "7198559139", Name: "七海Nana7mi", Avatar: "https://wx4.sinaimg.cn/orj480/007Raq4zly8hd1vqpx3coj30u00u00uv.jpg", Follower: "104.8万", Following: "192", Description: "蓝色饭团", Mid: "4952487292307646", Time: 1696248446000, Text: `<span class="url-icon"><img alt=[good] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_good-0c51afc69c.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[good] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_good-0c51afc69c.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[good] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_good-0c51afc69c.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[good] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_good-0c51afc69c.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[赞] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_zan-44ddc70637.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[赞] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_zan-44ddc70637.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[赞] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_zan-44ddc70637.png" style="width:1em; height:1em;" /></span><span class="url-icon"><img alt=[赞] src="https://h5.sinaimg.cn/m/emoticon/icon/others/h_zan-44ddc70637.png" style="width:1em; height:1em;" /></span>`, Source: "🦈iPhone 14 Pro Max", Submitter: &User{Uid: "188888131", Permission: Owner}, Repost: &Post{ Platform: "weibo", Uid: "2203177060", Name: "阿梓从小就很可爱", Avatar: "https://wx4.sinaimg.cn/orj480/8351d064ly8hiph621dryj20u00u00vw.jpg", Follower: "61.9万", Following: "306", Description: "本人只喜欢读书", Mid: "4952449691946355", Time: 1696239481000, Text: "[看书] ", Source: "iPhone 13 Pro Max", Attachments: pq.StringArray{"https://wx2.sinaimg.cn/large/8351d064ly1hih23pb486j21tk19k7wk.jpg"}, Submitter: &User{Uid: "188888131"}, Repost: &Post{}, }, }
测试博文
Functions ¶
func MatchRegexp ¶
Types ¶
type Filter ¶
type Job ¶
type Job struct {
gorms.Model[uint64]
// 过滤器
Filter
// 任务参数
request.Job
// 所有者
UserUid string `json:"-"`
// 软删除
Deleted gorm.DeletedAt `json:"-"`
}
任务
type Permission ¶
type Permission uint64
权限
const ( Owner Permission = 1 << iota Administrator Trustor )
func (Permission) Has ¶
func (p Permission) Has(permissions ...Permission) bool
func (Permission) Is ¶
func (p Permission) Is(permissions ...Permission) bool
func (Permission) IsAdmin ¶
func (p Permission) IsAdmin() bool
func (Permission) IsOwner ¶
func (p Permission) IsOwner() bool
func (Permission) IsTrusted ¶
func (p Permission) IsTrusted() bool
func (Permission) String ¶
func (p Permission) String() string
type Post ¶
type Post struct {
gorms.Model[uint64] `form:"-" json:"-"`
// 平台
Platform string `form:"platform" json:"platform"`
// 平台序号
Uid string `form:"uid" json:"uid" cmps:"1"`
// 昵称
Name string `form:"name" json:"name"`
// 粉丝数
Follower string `form:"follower" json:"follower"`
// 关注数
Following string `form:"following" json:"following"`
// 简介
Description string `form:"description" json:"description"`
// 头像
Avatar string `form:"avatar" json:"avatar"`
// 装扮
Pendant string `form:"pendant" json:"pendant"`
// 头图
Banner string `form:"banner" json:"banner"`
// 博文序号
Mid string `form:"mid" json:"mid"`
// 发送时间
Time intime.Time `form:"time" json:"time"`
// 文本
Text string `form:"text" json:"text"`
// 来源
Source string `form:"source" json:"source"`
// 附件
Attachments pq.StringArray `gorm:"type:text[]" form:"attachments" json:"attachments"`
// 标签
Tags []Tag
// 提交者
Submitter *User `form:"-" json:"submitter"`
// 回复
RepostID *uint64 `form:"-" json:"-" gorm:"column:repost"`
Repost *Post `form:"repost" json:"repost"`
// 评论
CommentID *uint64 `form:"-" json:"-" gorm:"column:comment"`
Comments []Post `form:"comments" json:"comments" gorm:"foreignKey:CommentID"`
}
博文
func (*Post) ScanAndSend ¶
type User ¶
type User struct {
Permission `json:"permission"`
// 哔哩哔哩 uid
Uid string `json:"uid" gorm:"primaryKey"`
// 鉴权码
Auth string `json:"auth,omitempty"`
// 账户下任务
Jobs []Job `json:"jobs,omitempty" gorm:"foreignKey:UserUid"`
// 关注的账号
Follow pq.StringArray `gorm:"type:text[]" json:"follow,omitempty"`
}
提交者
Click to show internal directories.
Click to hide internal directories.