53 lines
2.2 KiB
Go
53 lines
2.2 KiB
Go
package dto
|
|
|
|
// ClosetShareCreateRequest 创建衣柜分享
|
|
type ClosetShareCreateRequest struct {
|
|
ShareType int8 `json:"share_type" binding:"required,oneof=1 2"` // 1=部分衣物分享 2=全量快照分享
|
|
ClothesUUIDs []string `json:"clothes_uuids"` // 部分分享时必填(service校验)
|
|
ExpireTime int64 `json:"expire_time"` // 过期时间
|
|
}
|
|
|
|
// ClosetShareCreateResponse 创建分享响应
|
|
type ClosetShareCreateResponse struct {
|
|
ShareUUID string `json:"share_uuid"`
|
|
}
|
|
|
|
// ClosetShareDetailResponse 分享详情(访客视角)
|
|
type ClosetShareDetailResponse struct {
|
|
ShareUUID string `json:"share_uuid"`
|
|
OwnerName string `json:"owner_name"`
|
|
OwnerAvatar string `json:"owner_avatar"`
|
|
Clothes []ClothesGetByUUIDResponse `json:"clothes"`
|
|
ExpireTime int64 `json:"expire_time"`
|
|
Status int8 `json:"status"` // 1=正常 2=已取消 3=已过期 4=已封禁
|
|
IsOwner bool `json:"is_owner"`
|
|
}
|
|
|
|
// ClosetShareItemResponse 分享列表项
|
|
type ClosetShareItemResponse struct {
|
|
ShareUUID string `json:"share_uuid"` // 分享UUID
|
|
ShareType int8 `json:"share_type"` // 分享类型 1=部分衣物分享 2=全量快照分享
|
|
ClothesCount int `json:"clothes_count"` // 衣物数量
|
|
ExpireTime int64 `json:"expire_time"` // 过期时间
|
|
Status int8 `json:"status"` // 1=正常 2=已取消 3=已过期 4=已封禁
|
|
OwnerName string `json:"owner_name"` // 分享者昵称("分享给我的"列表返回)
|
|
OwnerAvatar string `json:"owner_avatar"` // 分享者头像("分享给我的"列表返回)
|
|
}
|
|
|
|
// ShareListRequest 我的分享列表
|
|
type ClosetShareListRequest struct {
|
|
PageRequest
|
|
Status int8 `form:"status" json:"status"` // 状态 1=正常 2=已取消 3=已过期 4=已封禁
|
|
}
|
|
|
|
// ShareListResponse 我的分享列表
|
|
type ShareListResponse struct {
|
|
PageResponse
|
|
List []ClosetShareItemResponse `json:"list"`
|
|
}
|
|
|
|
// ClosetShareCancelRequest 取消分享
|
|
type ClosetShareCancelRequest struct {
|
|
ShareUUID string `json:"share_uuid" binding:"required"`
|
|
}
|