Documentation
¶
Index ¶
- Constants
- Variables
- type AccountExpose
- type AccountPO
- type BanInfo
- type BaseDBManager
- type Metadata
- type MongoDBManager
- func (m *MongoDBManager) AddAccount(acc *AccountPO) error
- func (m *MongoDBManager) AddOAuth2App(app *OAuthAppPO) error
- func (m *MongoDBManager) AddPost(post *PostPO) (int, error)
- func (m *MongoDBManager) AddPostLog(log *PostLogPO) error
- func (m *MongoDBManager) BanAccount(banInfo BanInfo) error
- func (m *MongoDBManager) CheckMetadata() error
- func (m *MongoDBManager) CountPost() (int, error)
- func (m *MongoDBManager) DeleteOAuth2App(clientID string) error
- func (m *MongoDBManager) GetAccountByUIN(uin int64) (*AccountPO, error)
- func (m *MongoDBManager) GetAccounts(uin int64, userGroup UserGroup, timeOrder int, page, pageSize int) ([]AccountExpose, int, error)
- func (m *MongoDBManager) GetBanList(uin int64, onlyValid bool, timeOrder int, page, pageSize int) ([]BanInfo, int, error)
- func (m *MongoDBManager) GetCurrentBanInfo(uin int64) (*BanInfo, error)
- func (m *MongoDBManager) GetMaxPostID() (int, error)
- func (m *MongoDBManager) GetMetadata(key string) (string, error)
- func (m *MongoDBManager) GetMetadataList() ([]Metadata, error)
- func (m *MongoDBManager) GetOAuth2App(clientID string) (*OAuthAppPO, error)
- func (m *MongoDBManager) GetOAuth2AppByName(name string) (*OAuthAppPO, error)
- func (m *MongoDBManager) GetOAuth2Apps() ([]OAuthAppPO, error)
- func (m *MongoDBManager) GetPost(id int) (*PostPO, error)
- func (m *MongoDBManager) GetPostLogs(postID int) ([]PostLogPO, error)
- func (m *MongoDBManager) GetPosts(uin int64, status PostStatus, timeOrder int, page, pageSize int) ([]PostPO, int, error)
- func (m *MongoDBManager) SavePostVerbose(pv *PostVerbose) error
- func (m *MongoDBManager) SetMetadata(key, value string) error
- func (m *MongoDBManager) UnbanAccount(uin int64) error
- func (m *MongoDBManager) UpdatePassword(uin int64, pwd string) error
- func (m *MongoDBManager) UpdatePostStatus(id int, status PostStatus) error
- func (m *MongoDBManager) UpdateUserGroup(uin int64, userGroup UserGroup) error
- type OAuthAppPO
- type PostLogPO
- type PostPO
- type PostStatus
- type PostVerbose
- type ReviewOption
- type SQLiteDBManager
- func (m *SQLiteDBManager) AddAccount(acc *AccountPO) error
- func (m *SQLiteDBManager) AddOAuth2App(app *OAuthAppPO) error
- func (m *SQLiteDBManager) AddPost(post *PostPO) (int, error)
- func (m *SQLiteDBManager) AddPostLog(log *PostLogPO) error
- func (m *SQLiteDBManager) BanAccount(banInfo BanInfo) error
- func (m *SQLiteDBManager) CheckMetadata() error
- func (m *SQLiteDBManager) CountPost() (int, error)
- func (m *SQLiteDBManager) DeleteOAuth2App(clientID string) error
- func (m *SQLiteDBManager) GetAccountByUIN(uin int64) (*AccountPO, error)
- func (m *SQLiteDBManager) GetAccounts(uin int64, userGroup UserGroup, timeOrder int, page, pageSize int) ([]AccountExpose, int, error)
- func (m *SQLiteDBManager) GetBanList(uin int64, onlyValid bool, timeOrder int, page, pageSize int) ([]BanInfo, int, error)
- func (m *SQLiteDBManager) GetCurrentBanInfo(uin int64) (*BanInfo, error)
- func (m *SQLiteDBManager) GetMaxPostID() (int, error)
- func (m *SQLiteDBManager) GetMetadata(key string) (string, error)
- func (m *SQLiteDBManager) GetMetadataList() ([]Metadata, error)
- func (m *SQLiteDBManager) GetOAuth2App(clientID string) (*OAuthAppPO, error)
- func (m *SQLiteDBManager) GetOAuth2AppByName(name string) (*OAuthAppPO, error)
- func (m *SQLiteDBManager) GetOAuth2Apps() ([]OAuthAppPO, error)
- func (m *SQLiteDBManager) GetPost(id int) (*PostPO, error)
- func (m *SQLiteDBManager) GetPostLogs(postID int) ([]PostLogPO, error)
- func (m *SQLiteDBManager) GetPosts(uin int64, status PostStatus, timeOrder int, page, pageSize int) ([]PostPO, int, error)
- func (m *SQLiteDBManager) SavePostVerbose(pv *PostVerbose) error
- func (m *SQLiteDBManager) SetMetadata(key, value string) error
- func (m *SQLiteDBManager) UnbanAccount(uin int64) error
- func (m *SQLiteDBManager) UpdatePassword(uin int64, pwd string) error
- func (m *SQLiteDBManager) UpdatePostStatus(id int, status PostStatus) error
- func (m *SQLiteDBManager) UpdateUserGroup(uin int64, userGroup UserGroup) error
- type UserGroup
Constants ¶
View Source
const ( ACCOUNT_COLLECTION = "account" POST_COLLECTION = "post" POST_LOG_COLLECTION = "post_log" POST_VERBOSE_COLLECTION = "post_verbose" METADATA_COLLECTION = "metadata" BAN_LIST_COLLECTION = "ban_list" OAUTH_APP_COLLECTION = "oauth_app" )
Variables ¶
View Source
var PresetMetadata = []Metadata{
{
Key: "banner",
Value: "投稿前请阅读投稿规则!",
},
{
Key: "popup_announcement",
Value: "欢迎使用 Campux!",
},
{
Key: "post_rules",
Value: `[
"投稿规则是数组",
"每个元素是一个字符串"
]`,
},
{
Key: "services",
Value: `[
{
"name": "服务名称",
"description": "服务也是数组形式,会显示在服务tab",
"link": "https://url.to.service",
"toast": "点击时的提示",
"emoji": "🗺️"
}
]`,
},
{
Key: "brand",
Value: "Campux 这个是你的墙的名称",
},
{
Key: "beianhao",
Value: "桂ICP备1145141919号-1",
},
}
Functions ¶
This section is empty.
Types ¶
type AccountExpose ¶
type AccountPO ¶
type AccountPO struct { Uin int64 `json:"uin" bson:"uin"` // QQ号 Pwd string `json:"pwd" bson:"pwd" gorm:"type:varchar(256);not null"` // 数据库存md5之后的密码 CreatedAt time.Time `json:"created_at" bson:"created_at" gorm:"autoCreateTime"` // CST时间 UserGroup UserGroup `json:"user_group" bson:"user_group" gorm:"type:varchar(32);not null;default:'user'"` // 用户 }
type BanInfo ¶
type BanInfo struct { Uin int64 `json:"uin" bson:"uin"` // QQ号 Op int64 `json:"op" bson:"op"` // 操作者QQ号 Comment string `json:"comment" bson:"comment" gorm:"type:varchar(512)"` // 备注 StartTime time.Time `json:"start_time" bson:"start_time" gorm:"autoCreateTime"` // 开始时间 EndTime time.Time `json:"end_time" bson:"end_time"` // 结束时间 }
type BaseDBManager ¶
type BaseDBManager interface { CheckMetadata() error AddAccount(acc *AccountPO) error GetAccountByUIN(uin int64) (*AccountPO, error) UpdatePassword(uin int64, pwd string) error GetAccounts( uin int64, userGroup UserGroup, timeOrder int, page, pageSize int, ) ([]AccountExpose, int, error) BanAccount(banInfo BanInfo) error UnbanAccount(uin int64) error GetBanList( uin int64, onlyValid bool, timeOrder int, page, pageSize int, ) ([]BanInfo, int, error) UpdateUserGroup(uin int64, userGroup UserGroup) error GetCurrentBanInfo(uin int64) (*BanInfo, error) CountPost() (int, error) GetMaxPostID() (int, error) AddPost(post *PostPO) (int, error) AddPostLog(log *PostLogPO) error GetPostLogs(postID int) ([]PostLogPO, error) GetPosts( uin int64, status PostStatus, timeOrder int, page, pageSize int, ) ([]PostPO, int, error) GetPost(id int) (*PostPO, error) UpdatePostStatus(id int, status PostStatus) error SavePostVerbose(pv *PostVerbose) error GetMetadata(key string) (string, error) SetMetadata(key, value string) error GetMetadataList() ([]Metadata, error) AddOAuth2App(app *OAuthAppPO) error GetOAuth2App(clientID string) (*OAuthAppPO, error) GetOAuth2AppByName(name string) (*OAuthAppPO, error) GetOAuth2Apps() ([]OAuthAppPO, error) DeleteOAuth2App(clientID string) error }
type MongoDBManager ¶
func NewMongoDBManager ¶
func NewMongoDBManager() *MongoDBManager
func (*MongoDBManager) AddAccount ¶
func (m *MongoDBManager) AddAccount(acc *AccountPO) error
func (*MongoDBManager) AddOAuth2App ¶
func (m *MongoDBManager) AddOAuth2App(app *OAuthAppPO) error
func (*MongoDBManager) AddPostLog ¶
func (m *MongoDBManager) AddPostLog(log *PostLogPO) error
func (*MongoDBManager) BanAccount ¶
func (m *MongoDBManager) BanAccount(banInfo BanInfo) error
func (*MongoDBManager) CheckMetadata ¶
func (m *MongoDBManager) CheckMetadata() error
检查所有元数据的key是否存在,不存在则插入预设的
func (*MongoDBManager) CountPost ¶
func (m *MongoDBManager) CountPost() (int, error)
func (*MongoDBManager) DeleteOAuth2App ¶
func (m *MongoDBManager) DeleteOAuth2App(clientID string) error
func (*MongoDBManager) GetAccountByUIN ¶
func (m *MongoDBManager) GetAccountByUIN(uin int64) (*AccountPO, error)
func (*MongoDBManager) GetAccounts ¶
func (m *MongoDBManager) GetAccounts( uin int64, userGroup UserGroup, timeOrder int, page, pageSize int, ) ([]AccountExpose, int, error)
func (*MongoDBManager) GetBanList ¶
func (m *MongoDBManager) GetBanList( uin int64, onlyValid bool, timeOrder int, page, pageSize int, ) ([]BanInfo, int, error)
获取封禁记录
func (*MongoDBManager) GetCurrentBanInfo ¶
func (m *MongoDBManager) GetCurrentBanInfo(uin int64) (*BanInfo, error)
func (*MongoDBManager) GetMaxPostID ¶
func (m *MongoDBManager) GetMaxPostID() (int, error)
获取当前最大的post id
func (*MongoDBManager) GetMetadata ¶
func (m *MongoDBManager) GetMetadata(key string) (string, error)
func (*MongoDBManager) GetMetadataList ¶
func (m *MongoDBManager) GetMetadataList() ([]Metadata, error)
func (*MongoDBManager) GetOAuth2App ¶
func (m *MongoDBManager) GetOAuth2App(clientID string) (*OAuthAppPO, error)
func (*MongoDBManager) GetOAuth2AppByName ¶
func (m *MongoDBManager) GetOAuth2AppByName(name string) (*OAuthAppPO, error)
func (*MongoDBManager) GetOAuth2Apps ¶
func (m *MongoDBManager) GetOAuth2Apps() ([]OAuthAppPO, error)
list
func (*MongoDBManager) GetPostLogs ¶
func (m *MongoDBManager) GetPostLogs(postID int) ([]PostLogPO, error)
func (*MongoDBManager) GetPosts ¶
func (m *MongoDBManager) GetPosts( uin int64, status PostStatus, timeOrder int, page, pageSize int, ) ([]PostPO, int, error)
func (*MongoDBManager) SavePostVerbose ¶
func (m *MongoDBManager) SavePostVerbose(pv *PostVerbose) error
func (*MongoDBManager) SetMetadata ¶
func (m *MongoDBManager) SetMetadata(key, value string) error
func (*MongoDBManager) UnbanAccount ¶
func (m *MongoDBManager) UnbanAccount(uin int64) error
func (*MongoDBManager) UpdatePassword ¶
func (m *MongoDBManager) UpdatePassword(uin int64, pwd string) error
func (*MongoDBManager) UpdatePostStatus ¶
func (m *MongoDBManager) UpdatePostStatus(id int, status PostStatus) error
func (*MongoDBManager) UpdateUserGroup ¶
func (m *MongoDBManager) UpdateUserGroup(uin int64, userGroup UserGroup) error
更改账户的用户组
type OAuthAppPO ¶
type OAuthAppPO struct { Name string `json:"name" bson:"name" gorm:"type:varchar(256)"` // 应用名称 Emoji string `json:"emoji" bson:"emoji" gorm:"type:varchar(16)"` // Emoji ClientID string `json:"client_id" bson:"client_id" gorm:"type:varchar(256)"` // 客户端ID ClientSecret string `json:"client_secret" bson:"client_secret" gorm:"type:varchar(256)"` // 客户端密钥 CreatedAt time.Time `json:"created_at" bson:"created_at" gorm:"autoCreateTime"` // CST时间 }
type PostLogPO ¶
type PostLogPO struct { PostID int `json:"post_id" bson:"post_id"` // 稿件ID Op int64 `json:"op" bson:"op"` // 操作者ID -1表示系统 OldStat PostStatus `json:"old_stat" bson:"old_stat" gorm:"type:varchar(32)"` // 旧状态 NewStat PostStatus `json:"new_stat" bson:"new_stat" gorm:"type:varchar(32)"` // 新状态 Comment string `json:"comment" bson:"comment" gorm:"type:varchar(256)"` // 备注 CreatedAt time.Time `json:"created_at" bson:"created_at" gorm:"autoCreateTime"` // CST时间 }
type PostPO ¶
type PostPO struct { ID int `json:"id" bson:"id" gorm:"primary_key;auto_increment"` // 稿件ID UUID string `json:"uuid" bson:"uuid" gorm:"type:varchar(256);unique"` // UUID Uin int64 `json:"uin" bson:"uin"` // 作者QQ号 Text string `json:"text" bson:"text" gorm:"type:varchar(2048);not null"` // 正文 Images util.StrArray `json:"images" bson:"images" gorm:"type:text"` // 图片 Anon bool `json:"anon" bson:"anon"` // 是否匿名 Status PostStatus `json:"status" bson:"status" gorm:"type:varchar(32);not null;default:'pending_approval'"` // 状态 CreatedAt time.Time `json:"created_at" bson:"created_at" gorm:"autoCreateTime"` // CST时间 }
type PostStatus ¶
type PostStatus string
const ( POST_STATUS_ANY PostStatus = "any" // 任何 POST_STATUS_PENDING_APPROVAL PostStatus = "pending_approval" // 待审核 POST_STATUS_APPROVED PostStatus = "approved" // 通过 POST_STATUS_REJECTED PostStatus = "rejected" // 拒绝 POST_STATUS_CANCELLED PostStatus = "cancelled" // 取消 POST_STATUS_IN_QUEUE PostStatus = "in_queue" // 排队 POST_STATUS_PUBLISHED PostStatus = "published" // 已发表 POST_STATUS_FAILED PostStatus = "failed" // 失败 POST_STATUS_PENDING_RECALL PostStatus = "pending_recall" // 待撤回 POST_STATUS_RECALLED PostStatus = "recalled" // 已撤回 )
type PostVerbose ¶
type PostVerbose struct { PostID int `json:"post_id" bson:"post_id"` // 稿件ID Key string `json:"key" bson:"key" gorm:"type:varchar(256)"` // 多Bot场景下识别的Key Values util.JSONMap `json:"values" bson:"values" gorm:"type:text"` // 值 CreatedAt time.Time `json:"created_at" bson:"created_at" gorm:"autoCreateTime"` // CST时间 }
type ReviewOption ¶
type ReviewOption string
const ( REVIEW_OPTION_APPROVE ReviewOption = "approve" REVIEW_OPTION_REJECT ReviewOption = "reject" )
type SQLiteDBManager ¶
func NewSQLiteDBManager ¶
func NewSQLiteDBManager() *SQLiteDBManager
func (*SQLiteDBManager) AddAccount ¶
func (m *SQLiteDBManager) AddAccount(acc *AccountPO) error
func (*SQLiteDBManager) AddOAuth2App ¶
func (m *SQLiteDBManager) AddOAuth2App(app *OAuthAppPO) error
func (*SQLiteDBManager) AddPostLog ¶
func (m *SQLiteDBManager) AddPostLog(log *PostLogPO) error
func (*SQLiteDBManager) BanAccount ¶
func (m *SQLiteDBManager) BanAccount(banInfo BanInfo) error
func (*SQLiteDBManager) CheckMetadata ¶
func (m *SQLiteDBManager) CheckMetadata() error
检查所有元数据的key是否存在,不存在则插入预设的
func (*SQLiteDBManager) CountPost ¶
func (m *SQLiteDBManager) CountPost() (int, error)
func (*SQLiteDBManager) DeleteOAuth2App ¶
func (m *SQLiteDBManager) DeleteOAuth2App(clientID string) error
func (*SQLiteDBManager) GetAccountByUIN ¶
func (m *SQLiteDBManager) GetAccountByUIN(uin int64) (*AccountPO, error)
func (*SQLiteDBManager) GetAccounts ¶
func (m *SQLiteDBManager) GetAccounts( uin int64, userGroup UserGroup, timeOrder int, page, pageSize int, ) ([]AccountExpose, int, error)
func (*SQLiteDBManager) GetBanList ¶
func (m *SQLiteDBManager) GetBanList( uin int64, onlyValid bool, timeOrder int, page, pageSize int, ) ([]BanInfo, int, error)
获取封禁记录
func (*SQLiteDBManager) GetCurrentBanInfo ¶
func (m *SQLiteDBManager) GetCurrentBanInfo(uin int64) (*BanInfo, error)
func (*SQLiteDBManager) GetMaxPostID ¶
func (m *SQLiteDBManager) GetMaxPostID() (int, error)
获取当前最大的post id
func (*SQLiteDBManager) GetMetadata ¶
func (m *SQLiteDBManager) GetMetadata(key string) (string, error)
func (*SQLiteDBManager) GetMetadataList ¶
func (m *SQLiteDBManager) GetMetadataList() ([]Metadata, error)
func (*SQLiteDBManager) GetOAuth2App ¶
func (m *SQLiteDBManager) GetOAuth2App(clientID string) (*OAuthAppPO, error)
func (*SQLiteDBManager) GetOAuth2AppByName ¶
func (m *SQLiteDBManager) GetOAuth2AppByName(name string) (*OAuthAppPO, error)
func (*SQLiteDBManager) GetOAuth2Apps ¶
func (m *SQLiteDBManager) GetOAuth2Apps() ([]OAuthAppPO, error)
list
func (*SQLiteDBManager) GetPostLogs ¶
func (m *SQLiteDBManager) GetPostLogs(postID int) ([]PostLogPO, error)
func (*SQLiteDBManager) GetPosts ¶
func (m *SQLiteDBManager) GetPosts( uin int64, status PostStatus, timeOrder int, page, pageSize int, ) ([]PostPO, int, error)
func (*SQLiteDBManager) SavePostVerbose ¶
func (m *SQLiteDBManager) SavePostVerbose(pv *PostVerbose) error
func (*SQLiteDBManager) SetMetadata ¶
func (m *SQLiteDBManager) SetMetadata(key, value string) error
func (*SQLiteDBManager) UnbanAccount ¶
func (m *SQLiteDBManager) UnbanAccount(uin int64) error
func (*SQLiteDBManager) UpdatePassword ¶
func (m *SQLiteDBManager) UpdatePassword(uin int64, pwd string) error
func (*SQLiteDBManager) UpdatePostStatus ¶
func (m *SQLiteDBManager) UpdatePostStatus(id int, status PostStatus) error
func (*SQLiteDBManager) UpdateUserGroup ¶
func (m *SQLiteDBManager) UpdateUserGroup(uin int64, userGroup UserGroup) error
更改账户的用户组
Click to show internal directories.
Click to hide internal directories.