Files
2022-01-17 09:57:57 +08:00

81 lines
1.8 KiB
Go

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"`
}