98 lines
2.1 KiB
Go
98 lines
2.1 KiB
Go
|
package watermark
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
// TypeName 带用户名的水印.
|
||
|
TypeName = 1
|
||
|
// TypeUID 带uid的水印.
|
||
|
TypeUID = 2
|
||
|
// TypeNewName 用户名和logo位置为上下的水印.
|
||
|
TypeNewName = 3
|
||
|
// StatClose 未开启水印.
|
||
|
StatClose = 0
|
||
|
// StatOpen 开启水印.
|
||
|
StatOpen = 1
|
||
|
// StatPreview 预览水印(不写入数据库).
|
||
|
StatPreview = 2
|
||
|
// PosLeftTop 水印位置左上角.
|
||
|
PosLeftTop = 1
|
||
|
// PosRightTop 水印位置右上角.
|
||
|
PosRightTop = 2
|
||
|
// PosLeftBottom 水印位置左下角.
|
||
|
PosLeftBottom = 3
|
||
|
// PosRightBottom 水印位置右下角.
|
||
|
PosRightBottom = 4
|
||
|
)
|
||
|
|
||
|
// Watermark watermark info.
|
||
|
type Watermark struct {
|
||
|
ID int64 `json:"id"`
|
||
|
MID int64 `json:"mid"`
|
||
|
Uname string `json:"uname"`
|
||
|
State int8 `json:"state"`
|
||
|
Ty int8 `json:"type"`
|
||
|
Pos int8 `json:"position"`
|
||
|
URL string `json:"url"`
|
||
|
MD5 string `json:"md5"`
|
||
|
Info string `json:"info"`
|
||
|
Tip string `json:"tip"`
|
||
|
CTime time.Time `json:"ctime"`
|
||
|
MTime time.Time `json:"mtime"`
|
||
|
}
|
||
|
|
||
|
//WatermarkParam set watermark param
|
||
|
type WatermarkParam struct {
|
||
|
MID int64
|
||
|
State int8
|
||
|
Ty int8
|
||
|
Pos int8
|
||
|
Sync int8
|
||
|
IP string
|
||
|
}
|
||
|
|
||
|
// Image image width & height.
|
||
|
type Image struct {
|
||
|
Width int `json:"width"`
|
||
|
Height int `json:"height"`
|
||
|
}
|
||
|
|
||
|
// IsState check state.
|
||
|
func IsState(st int8) bool {
|
||
|
return st == StatClose || st == StatOpen || st == StatPreview
|
||
|
}
|
||
|
|
||
|
// IsType check type.
|
||
|
func IsType(ty int8) bool {
|
||
|
return ty == TypeName || ty == TypeUID || ty == TypeNewName
|
||
|
}
|
||
|
|
||
|
// IsPos check position.
|
||
|
func IsPos(pos int8) bool {
|
||
|
return pos == PosLeftTop || pos == PosRightTop || pos == PosLeftBottom || pos == PosRightBottom
|
||
|
}
|
||
|
|
||
|
// Msg from passport.
|
||
|
type Msg struct {
|
||
|
Action string `json:"action"`
|
||
|
Old *UserInfo `json:"old"`
|
||
|
New *UserInfo `json:"new"`
|
||
|
}
|
||
|
|
||
|
// UserInfo user modify detail.
|
||
|
type UserInfo struct {
|
||
|
MID int64 `json:"mid"`
|
||
|
Uname string `json:"uname"`
|
||
|
UserID string `json:"userid"`
|
||
|
}
|
||
|
|
||
|
//GenWatermark for wm api.
|
||
|
type GenWatermark struct {
|
||
|
Location string `json:"location"`
|
||
|
MD5 string `json:"md5"` // 文件的hash值
|
||
|
Width int `json:"width"`
|
||
|
Height int `json:"height"`
|
||
|
}
|