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) }