package api import ( "SciencesServer/config" "SciencesServer/utils" "strings" ) type IDForm struct { ID uint64 `json:"id" form:"id" binding:"required"` } type IDStringForm struct { ID string `json:"id" form:"id"` } func (this *IDStringForm) Convert() uint64 { if this.ID == "" { return 0 } return uint64(utils.HASHIDDecode(this.ID)) } type TenantIDStringForm struct { TenantID string `json:"tenant_id" form:"tenant_id"` } func (this *TenantIDStringForm) Convert() uint64 { if this.TenantID == "" { return 0 } return uint64(utils.HASHIDDecode(this.TenantID)) } type UIDForm struct { UID string `json:"uid" form:"uid" binding:"required"` } func (this *UIDForm) Convert() uint64 { return utils.StringToUnit64(this.UID) } type ImageForm struct { Image string `json:"image" form:"image"` } func (this *ImageForm) FilterImageURL() string { return strings.Replace(this.Image, config.SystemConfig[config.SysImageDomain], "", -1) } type ImagesForm struct { Images string `json:"images" form:"images"` } func (this *ImagesForm) FilterImageURL() string { out := make([]string, 0) for _, v := range strings.Split(this.Images, ",") { out = append(out, strings.Replace(v, config.SystemConfig[config.SysImageDomain], "", -1)) } return strings.Join(out, ",") } type FileForm struct { File string `json:"file" form:"file"` } func (this *FileForm) FilterURL() string { return strings.Replace(this.File, config.SystemConfig[config.SysImageDomain], "", -1) } type PositionForm struct { Longitude float64 `json:"longitude" form:"longitude" binding:"required"` Latitude float64 `json:"latitude" form:"latitude" binding:"required"` } type PageForm struct { Page int `json:"page_num" form:"page_num" binding:"required"` PageSize int `json:"page_size" form:"page_size" binding:"required"` }