package po import ( "errors" "strings" "time" ) type Activity struct { ID int `json:"id"` Category string `json:"category"` Name string `json:"name"` Image string `json:"image"` Credit int `json:"credit"` TeacherAvailable int `json:"teacher_available"` } func (a Activity) TableName() string { return "activities" } type UserActivity struct { ID int `json:"id"` UserID int `json:"user_id"` UserActivityForm Status int `json:"status"` Day string `json:"day"` Credit int `json:"credit"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (u UserActivity) TableName() string { return "user_activity" } type UserActivityForm struct { ActivityID int `json:"activity_id" form:"activity_id" binding:"required"` Image string `json:"image" form:"image" binding:"required,url"` } func (u UserActivityForm) Validate() error { if !strings.HasPrefix(u.Image, "https://") { return errors.New("不是图床链接") } return nil }