75 lines
1.5 KiB
Go
75 lines
1.5 KiB
Go
![]() |
package model
|
|||
|
|
|||
|
import (
|
|||
|
"SciencesServer/utils"
|
|||
|
)
|
|||
|
|
|||
|
type Gender struct {
|
|||
|
Gender GenderKind `gorm:"column:gender;type:tinyint(1);default:1;comment:性别(1:男,2:女)" json:"gender"` // 性别(1:男,2:女)
|
|||
|
}
|
|||
|
|
|||
|
type GenderKind int
|
|||
|
|
|||
|
const (
|
|||
|
// GenderKindForMale 男性
|
|||
|
GenderKindForMale GenderKind = iota + 1
|
|||
|
// GenderKindForFemale 女性
|
|||
|
GenderKindForFemale
|
|||
|
)
|
|||
|
|
|||
|
func (m *Gender) GenderTitle() string {
|
|||
|
if m.Gender == GenderKindForMale {
|
|||
|
return "男"
|
|||
|
} else if m.Gender == GenderKindForFemale {
|
|||
|
return "女"
|
|||
|
}
|
|||
|
return ""
|
|||
|
}
|
|||
|
|
|||
|
// Image 单一图片信息
|
|||
|
type Image struct {
|
|||
|
Image string `gorm:"column:image;type:varchar(255);default:null;comment:图片" json:"image"`
|
|||
|
}
|
|||
|
|
|||
|
func (m *Image) Analysis(domain string) string {
|
|||
|
return domain + m.Image
|
|||
|
}
|
|||
|
|
|||
|
// Images 多个图片信息
|
|||
|
type Images struct {
|
|||
|
Images string `gorm:"column:images;type:text;default:null;comment:图片" json:"images"`
|
|||
|
}
|
|||
|
|
|||
|
// AnalysisSlice Slice解析
|
|||
|
func (m *Images) AnalysisSlice(domain string) []string {
|
|||
|
images := make([]string, 0)
|
|||
|
utils.FromJSON(m.Images, &images)
|
|||
|
|
|||
|
for k, v := range images {
|
|||
|
images[k] = domain + v
|
|||
|
}
|
|||
|
return images
|
|||
|
}
|
|||
|
|
|||
|
// Position 坐标信息
|
|||
|
type Position struct {
|
|||
|
Longitude float64 `json:"longitude"` // 经度
|
|||
|
Latitude float64 `json:"latitude"` // 纬度
|
|||
|
}
|
|||
|
|
|||
|
// Format 格式化
|
|||
|
func (m *Position) Format() string {
|
|||
|
return utils.AnyToJSON(m)
|
|||
|
}
|
|||
|
|
|||
|
// Tags 标签
|
|||
|
type Tags struct {
|
|||
|
Key string `json:"key"`
|
|||
|
Value string `json:"value"`
|
|||
|
}
|
|||
|
|
|||
|
// Format 格式化
|
|||
|
func (m *Tags) Format() string {
|
|||
|
return utils.AnyToJSON(m)
|
|||
|
}
|