Documentation ¶
Index ¶
- Constants
- func ClearCurrentUser()
- func SetCurrentUser(usrNode *p2pNet.UserNode) error
- type Follow
- type Tasks
- type TweetJson
- type Tweets
- func (tw *Tweets) BeforeCreate(tx *gorm.DB) (err error)
- func (tw *Tweets) BeforeUpdate(tx *gorm.DB) (err error)
- func (tw *Tweets) Create(tx *gorm.DB) error
- func (tw *Tweets) GenerateId()
- func (tw *Tweets) GenerateSignMsg() string
- func (tw *Tweets) GenerateSysParams()
- func (tw *Tweets) GetSignMsg() string
- func (tw *Tweets) TableName() string
- func (tw *Tweets) UpIpfs(usr *User) (string, error)
- type User
- func (usr *User) AfterCreate(tx *gorm.DB) (err error)
- func (usr *User) BeforeUpdate(tx *gorm.DB) (err error)
- func (usr *User) GenerateSignMsg() string
- func (usr *User) GetSignMsg() string
- func (usr *User) GetUserInfoToPublic() *User
- func (usr *User) ReloadSign(isSave bool) error
- func (usr *User) ReloadTmpPeerId()
- func (usr *User) SetSyncStatusComplete(tx *gorm.DB) error
- func (usr *User) SetSyncStatusIng() error
- func (usr *User) SyncStatusComplete() bool
- func (usr *User) SyncStatusIng() bool
- func (usr *User) SyncStatusWait() bool
- func (usr *User) TableName() string
- func (usr *User) UploadIpfs(tx *gorm.DB) error
- type UserAskSync
Constants ¶
View Source
const ( TasksTypeUpIpfsAndBroadcastTweet = "syncIpfsAndBroadcastTweet" TasksStatusWait = 0 TasksStatusIng = 1 TasksStatusComplete = 2 TasksStatusFail = 3 )
View Source
const ( UserSyncStatusWait = 0 UserSyncStatusIng = 1 UserSyncStatusComplete = 2 UserSyncTimeoutDuration = p2pNet.OnlineNodesSyncDuration * 4 )
Variables ¶
This section is empty.
Functions ¶
func ClearCurrentUser ¶
func ClearCurrentUser()
func SetCurrentUser ¶
Types ¶
type Follow ¶
type Follow struct { UserId string `gorm:"type:varchar(100);NOT NULL;comment:用户的id;uniqueIndex:idx_uid_follow_unique;index"` FollowedID string `gorm:"type:varchar(100);NOT NULL;comment:关注的用户id;uniqueIndex:idx_uid_follow_unique;index"` CreatedAt int64 `gorm:"index;default:0;autoCreateTime"` UpdatedAt int64 `gorm:"autoUpdateTime;default:0"` }
type Tasks ¶
type Tasks struct { ID string `gorm:"primarykey"` Type string `gorm:"default:'';comment:执行类型,根据不同的type分配不同的方法"` Sort int64 `gorm:"default:100;comment:执行顺序优先级"` Status uint8 `gorm:"default:0;comment:执行状态:0待执行,1执行中,2执行完成, 3执行失败;index:status"` NextExecTime int64 `` /* 182-byte string literal not displayed */ MaxExecLockTime int64 `` /* 159-byte string literal not displayed */ mField.FieldsExtendsJsonType //执行的上下文数据 mField.FieldsTimeUnixModel }
type TweetJson ¶
type TweetJson struct { PreviousCid string UserId string Nonce uint64 Content string Attachment string Sign string TopicTag string OriginTwId string OriginTw *Tweets CreatedAt int64 }
func NewTweetJson ¶
type Tweets ¶
type Tweets struct { Id string `gorm:"primarykey;type:varchar(100);NOT NULL;comment:sha2(用户地址+nonce) 然后进行base58编码;"` UserId string `gorm:"type:varchar(100);NOT NULL;comment:用户的id,即用户地址;index:idx_uid_nonce,unique"` Content string `gorm:"NOT NULL;comment:推文内容"` Attachment string `gorm:"comment:附件"` Nonce uint64 `gorm:"default:0;comment:根据用户的推文自增;index:idx_uid_nonce,unique"` Sign string `gorm:"type:varchar(200);NOT NULL;comment:签名(用户地址+nonce+推文),然后base58编码;index:tweet_sign,unique"` TopicTag string `gorm:"type:varchar(200);default:'';comment:话题标签;index:topic_tag"` UserInfo *User `gorm:"foreignKey:UserId;references:Id"` //用于发送消息时嵌入的用户信息 这个数据不保存在数据库中 CreatedAt int64 `gorm:"index:idx_created_at;autoCreateTime;comment:推文的发布时间"` UpdatedAt int64 `gorm:"autoUpdateTime;default:0;comment:更新时间 也就是同步到推文的时间"` OriginUserId string `gorm:"type:varchar(100);default:'';comment:作者id,如果没有被转发 则为空字符串;index:idx_origin_user_id"` OriginTwId string `gorm:"varchar(100);comment:原始文章Id;index:idx_origin_tw_id"` OriginTw *Tweets `gorm:"foreignKey:OriginTwId;references:Id"` }
func (*Tweets) GenerateId ¶
func (tw *Tweets) GenerateId()
func (*Tweets) GenerateSignMsg ¶
func (*Tweets) GetSignMsg ¶
type User ¶
type User struct { Id string `gorm:"primarykey;type:varchar(100);NOT NULL;comment:用户id 保存为以太坊的地址"` PeerId string `gorm:"type:varchar(100);NOT NULL;index:idx_peer_id,unique;comment:节点id 可为空"` Name string `gorm:"type:varchar(100);NOT NULL;comment:用户昵称;index:idx_user_name"` Desc string `gorm:"type:varchar(200);comment:用户简介;default:''"` LatestCid string `gorm:"type:varchar(200);comment:最新一条cid;default:''"` Avatar string `gorm:"type:text;comment:用户简介;"` Nonce uint64 `gorm:"default:0;comment:最新nonce"` LocalNonce uint64 `gorm:"default:0;comment:本地nonce"` LocalUser uint64 `gorm:"default:0;comment:是否是本地用户"` Sign string `gorm:"type:varchar(200);NOT NULL;comment:用户签名;default:''"` PubKey string `gorm:"type:text;comment:用户公钥"` IpfsHash string `gorm:"type:varchar(200);comment:ipfs的hash地址;default:''"` HasPeerId uint8 `` /* 234-byte string literal not displayed */ LastCheckTweetTime int64 `gorm:"default:0;index:last_check_tweet_time"` mField.FieldsTimeUnixModel `json:"-"` mField.FieldsExtendsJsonType UpdatedSignUnix int64 `gorm:"default:0;comment:更新时间戳,用于签名使用"` UsrNode *p2pNet.UserNode `gorm:"-" json:"-"` }
func GetCurrentUser ¶
func GetCurrentUser() *User
func GetOrCreateUserByPri ¶
func GetOrCreateUserByPri(pri *keys.PrivateKey) (*User, error)
func GetOrCreateUserByPub ¶
通过公钥创建一个用户 生成一个临时的peerId
func GetUserByIpfs ¶
func (*User) ReloadSign ¶
func (*User) SetSyncStatusComplete ¶
SetSyncStatusComplete 设置成功同步状态
func (*User) SetSyncStatusIng ¶
func (*User) SyncStatusComplete ¶
func (*User) SyncStatusIng ¶
func (*User) SyncStatusWait ¶
type UserAskSync ¶
type UserAskSync struct { UserId string `gorm:"type:varchar(100);primarykey"` SyncStatus uint8 `` /* 138-byte string literal not displayed */ SyncTimeoutUnix int64 `` /* 155-byte string literal not displayed */ }
func (*UserAskSync) TableName ¶
func (uas *UserAskSync) TableName() string
Click to show internal directories.
Click to hide internal directories.